открыть и закрыть ком порт - PullRequest
0 голосов
/ 20 августа 2010

У меня есть небольшое приложение, чтобы открыть дверь с помощью контроллера реле. Я должен открывать и закрывать COM-порт все время, если кто-то входит. Утром, когда много людей собираются вместе, контроллер реагирует очень медленно, и мне нужно быстро решить эту проблему.

У меня такой вопрос, буду ли я сталкиваться с проблемами памяти, если я буду держать его открытым все время? откроет перезапуск порта в случае сбоя и перезапуска приложения?

Ответы [ 2 ]

3 голосов
/ 20 августа 2010

Не думаю, что у вас будут проблемы с памятью. Я написал программу, которая использует сканер штрих-кода, который использует COM-порт для прослушивания событий со сканера. Я открываю его, когда запускается программа, и держу его открытым, пока программа не закроется без проблем.

Единственное, о чем нужно беспокоиться, это то, что COM-порт может использоваться только одним объектом за раз, поэтому, если ваша программа уже открыла его и пытается открыть его снова, это проблема.

Программа может оставить COM-порт открытым, поэтому лучше всего попытаться открыть его, а если это не удастся, попробуйте закрыть его (два отдельных блока try ... catch), а затем попробуйте открыть его снова. Это хлопотно, но в моем приложении оказалось, что уменьшить количество ошибок, которые мне пришлось устранять. Я просто открываю / закрываю / открываю каждый раз, когда программа загружается, чтобы быть в безопасности.

1 голос
/ 20 августа 2010
  • нет проблем с сохранением его открытым
  • он закроет com-порт, если приложение умирает

единственное, иногда, если вы не выключитеКом-порт должным образом, он может поддерживать ваше приложение как процесс в длительном не умирающем состоянии, которое поддерживает ком-порт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...