Последовательный порт в фреймворке Compact - RTSEnable и DtrEnable

Как используются RTSEnable и DtrEnable? Я обнаружил, что некоторые балансы могут взаимодействовать с моим приложением, а другие - нет, даже если настройки совпадают. (скорость передачи, четность, биты данных, стоповые биты и квитирование)

Настройки последовательного порта сохраняются в файле конфигурации, и идея состоит в том, чтобы при необходимости поддерживать различные комбинации возможных настроек. Обычно наши устройства запрограммированы на наличие handshake = NONE, но в случае, если какое-то странное устройство не может иметь handshake=NONE, следует ли мне вставить условие, например:

if (serialport.Handshake != NONE) {
    serialport.RTSEnable = true;
    serialport.DtrEnable = true;
}

Или, скорее, будут ли работать другие рукопожатия (кроме NONE), если RTSEnable и DtrEnable не будут установлены в true?


person sarsnake    schedule 03.03.2009    source источник


Ответы (1)


Требуется ли аппаратное подтверждение связи, зависит исключительно от последовательного устройства, к которому вы подключаетесь. Вам нужно будет прочитать OEM-спецификации для устройства и посмотреть, нужно ли устройству квитирование и нужна ли ему какая-либо особая обработка RTS или DTR.

person ctacke    schedule 03.03.2009
comment
Настройки последовательного порта (скорость передачи, четность и т. Д.) Хранятся в файле конфигурации, поэтому их можно изменить. В целом все наши весы настроены одинаково, но есть и такие. Если устройство не поддерживает Hanshake = None, будет ли оно работать, если я не установлю эти флаги в своем коде? - person sarsnake; 03.03.2009
comment
Думаю, лучше спросить об этом: если устройство настроено на использование handshake = none, а я выполняю serialPort.Open () с Hanshake = None, нужно ли мне установить для них значение true? При условии, что фактическое устройство ПОДДЕРЖИВАЕТ hanshake = нет, конечно - person sarsnake; 03.03.2009