Обычно это происходит из-за неправильной конфигурации последовательного порта. Недостаточно просто открыть последовательный порт и ожидать поступления некоторых данных. Вы также должны установить для all SerialPort.Properties правильное значение для требуемого соединения.
Некоторые из распространенных: BaudRate
, DataBits
или Parity
, но, чтобы быть уверенным, вы должны установить их все. Даже такие вещи, как RtsEnable
или ReadTimeout
.
Вы должны установить все, потому что состояние конфигурации будет сохранено из самого порта. Поэтому, если одно приложение открывает такой порт, вносит некоторые изменения в конфигурацию и закрывает его, следующее приложение, открывающее порт, запускается с этой конфигурацией, пока не изменит его.
Обновление
Кажется, это проблема, которую я не вижу отсюда. ; -))
Единственный совет, который я могу вам дать, - это использование Monitor tool , чтобы лучше понять, что на самом деле делает ваше другое приложение и что происходит по проводам. Кроме того, вы можете настроить два виртуальных com-порта для проверки чтения и записи на одной машине (даже в одном приложении), чтобы лучше контролировать, когда будут отправляться данные.