Правильно ли оставить COM1 открытым по всей программе?Правильно ли оставить COM1 открытым по всей программе?
и закрыть его только при выходе из программы?
благодарственное-х заранее
Правильно ли оставить COM1 открытым по всей программе?Правильно ли оставить COM1 открытым по всей программе?
и закрыть его только при выходе из программы?
благодарственное-х заранее
Это довольно часто, чтобы сделать это, потому что будет накладные расходы, связанные с открытием/закрытием операции. Вы можете в конечном итоге запутать открытие ОС и закрыть его слишком часто.
Итак, да ... откройте его, откройте его (если есть ошибка) и закройте его, когда закончите.
Единственная причина, по которой вы должны закрыть ее во время приложения, - это позволить другим приложениям совместно использовать порт.
Если вы сделаете это, другие приложения не смогут использовать этот порт, пока не выключите приложение. Это не похоже на хорошую идею, не так ли? Я думаю, вам следует открыть его, получить/отправить данные и закрыть его сразу же после того, как вы закончите с ним.
До сих пор я бы сказал, что Fuzz и RaYell оба справа (в зависимости от конкретной ситуации). Поэтому для моих проектов я обычно предоставляю кнопку в своей форме, где вы можете подключиться и отключить последовательный порт. Таким образом, вы также можете предоставить список доступных COM-портов, где пользователь может выбрать нужный порт, а затем нажать на соединение. Таким образом, пользователь может решить в конкретной ситуации, если это необходимо для закрытия порта или нет.
Возможно, для большего удобства вы также можете сохранить последние настройки, предоставить некоторые аргументы командной строки и т. Д. Для лучшего удобства пользователей.
Это зависит от того, как работает аппаратное обеспечение. Когда вы открываете/закрываете порт, аппаратный сигнал может быть активирован UART на одном из контактов. У меня когда-то было устройство, которое бы сбросило бы себя всякий раз, когда порт был закрыт. Итак, YMMV.
Это зависит от того, что делает ваша программа и как долго она будет работать. Например, если вы общаетесь с модемом, вы, вероятно, не хотите, чтобы другие приложения прерывали ваш поток данных, поэтому в этом случае вы должны держать его открытым все время и закрывать его по завершении.
Если вы контролируете состояние какого-либо внешнего оборудования, и вам нужно его периодически проверять, лучше открывать и закрывать его каждый раз, когда вы обращаетесь к нему, поэтому другие программы также могут получить к нему доступ, если это необходимо.
Я не знаю, почему люди задавали этот вопрос, я думаю, что это справедливый вопрос – Fuzz