Класс C # SerialPort - PullRequest
       1

Класс C # SerialPort

0 голосов
/ 31 января 2019

Мы видим странное поведение с .NET SerialPort.Мы не получаем правильную конфигурацию от портов, поскольку они настроены в Windows.

Например, com1 настроен в Windows со скоростью передачи 38400 В коде:

     SerialPort serialPort = new SerialPort("COM1");

serialPort.BaudRate всегда 9600.

Когда мы используем GetAefaultCommConfig winApiиз kernel32.dll мы получаем правильную скорость передачи.

Может кто-нибудь объяснить это?

1 Ответ

0 голосов
/ 01 февраля 2019

Да, я знаю serialPort.BaudRate, но вы можете сделать легкий тест.Проверьте через de Device Manager Windows ваши COM-порты и для существующего установите скорость передачи данных 38400 (просто пример)

Предположим, это COM3.Затем создайте в C # новый объект SerialPort через SerialPort serialPort = new SerialPort ("COM3");

Затем проверьте его BaudRate.Это не 38400. Таким образом, под капотом COM3 в C # не является COM3 с теми же параметрами, что и в Windows.

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