C#SerialPort类

时间:2019-01-31 13:25:42

标签: c# serial-port

.NET SerialPort出现奇怪的行为。 与Windows中配置的端口不同,我们没有从端口获得正确的配置。

例如,com1在Windows中以38400的波特率配置 在代码中:

     SerialPort serialPort = new SerialPort("COM1");

serialPort.BaudRate始终为9600。

当使用来自kernel32.dll的GetDefaultCommConfig winApi时,我们将获得正确的波特率。

有人可以解释吗?

1 个答案:

答案 0 :(得分:0)

是的,我知道serialPort.BaudRate,但是您可以进行简单的测试。 通过Windows的设备管理器检查您的COM端口,并检查是否存在现有端口,将波特率设置为38400(仅作为示例)

假设它是COM3。 然后在C#中通过创建一个新的SerialPort对象       SerialPort serialPort =新的SerialPort(“ COM3”);

然后检查它是BaudRate。它不是38400。因此,在幕后,C#中的COM3不是具有与Windows中配置的相同参数的COM3。