Если что-то близко, но все еще неверно, объект последовательного порта .NET может даже не дать вам ошибку (то есть, пока не произойдет что-то катастрофическое).
Мой самый распространенный сбой связи через последовательный порт происходит из-за несоответствующей скорости передачи данных. Если у вас есть сообщение, о котором вы знаете, что можете получить «эхо», попробуйте это как часть рукопожатия. Возможно, устройство, к которому вы подключаетесь, имеет сообщение о статусе. Запрос об этом не принесет никакого вреда, и вы узнаете, правильно ли идет обмен данными.
Для программного рукопожатия (xon xoff) Вы можете сделать очень мало, чтобы определить, правильно ли он настроен. Объект последовательного порта может делать что угодно, от полного его игнорирования до появления ошибок исключения потоков, в зависимости от базовой реализации драйвера последовательного порта. У меня были драйверы последовательного порта, которые полностью игнорировали xon / xoff и передавали символы прямо в программу - yikes!
Для аппаратного квитирования может работать базовая стратегия эха для скорости передачи в зависимости от того, как работает ваше устройство. Если вы знаете, что он будет выполнять аппаратное квитирование, вы сможете обнаружить его и включить. Если устройство требует аппаратного подтверждения связи и не включено, вы можете ничего не получить, и наоборот.
Другой параметр, который используется реже, - это вывод DTR - терминал данных готов Некоторые последовательные устройства требуют, чтобы это было подтверждено (т. Е. Установлено значение true), чтобы указать, что пришло время начать отправку данных. По умолчанию установлено значение false; Дай переключить это вихрь.
Обратите внимание, что объект последовательного порта ... привередлив. Хотя это и не обязательно, я бы рассмотрел закрытие порта, прежде чем вносить какие-либо изменения.
Edit:
Благодаря вашим комментариям, похоже, это ваше устройство. Он говорит, что настройки по умолчанию должны быть:
- 1200 бод
- Нечетное соотношение
- 1 стоповый бит
- Аппаратное рукопожатие
Он не указывает, сколько битов данных, но устройство говорит, что оно поддерживает 7 и 8. Я бы попробовал оба из них. Он также говорит, что поддерживает 600, 1200, 2400, 4800, 9600 и 19200 бод.
Если вы включили аппаратное квитирование, включили DTR (разные вещи) и циклически переключались между разными скоростями передачи, есть хороший шанс, что это не ваши настройки. Возможно, используемый последовательный кабель неправильно подключен к вашему устройству. Некоторые последовательные кабели представляют собой сквозные кабели, где 1-9 штырьков на одной стороне точно совпадают с 1-9 штырьками на другой. Затем у вас есть «перекрестные» кабели, где кабели «TX» и «RX» коммутируются (так что, когда одна сторона передает, другая сторона получает очень удобный кабель).
Подумайте о том, чтобы посмотреть на таблицу команд в конце руководства; есть команда «версия программного обеспечения для печати», которую вы можете выполнить, чтобы получить какой-то тип эхо.