C#串行端口类
我们看到.NET SerialPort的奇怪行为。 我们没有从端口获得正确的配置,因为它们是在Windows中配置的 例如,com1在windows中以38400的波特率配置 代码: serialPort.BaudRate始终为9600 当我们从kernel32.dll使用GetDefaultCommConfig winApi时,我们得到了正确的波特率C#串行端口类,c#,serial-port,C#,Serial Port,我们看到.NET SerialPort的奇怪行为。 我们没有从端口获得正确的配置,因为它们是在Windows中配置的 例如,com1在windows中以38400的波特率配置 代码: serialPort.BaudRate始终为9600 当我们从kernel32.dll使用GetDefaultCommConfig winApi时,我们得到了正确的波特率 有人能解释一下吗?是的,我知道serialPort.BaudRate,但你可以做一个简单的测试。 通过Windows you COM端口的de设
有人能解释一下吗?是的,我知道serialPort.BaudRate,但你可以做一个简单的测试。 通过Windows you COM端口的de设备管理器进行检查,对于现有端口,将波特率设置为38400(仅举一个示例) 假设它是COM3。 然后在C#中通过 SerialPort SerialPort=新的SerialPort(“COM3”)
然后检查它的波特率。它不是38400。因此,在引擎盖下,C#中的COM3与Windows中配置的参数不同 您知道可以更改
serialPort.BaudRate
以满足您的连接需求,因为它在您使用一个参数创建实例时使用。您还可以使用此构造函数:
SerialPort serialPort = new SerialPort("COM1");