更改串行端口时的当前数据丢失-波特率

时间:2019-08-31 19:50:22

标签: c# serial-port

我尝试使用ReadExisting()接收方法通过串行端口从设备获取数据。

首先,我将请求发送到波特率为300的设备。然后,设备以相同的波特率进行答复。我会在将波特率更改为9600之前确认此答案(在发送确认命令后将serialport.baudrate设置为9600)。

我的麻烦是在更改波特率后丢失了缓冲区中的数据(ReadExisting()方法无法读取此信息?)。但是下一个波特率为9600的命令仍会收到设备的答复。 我们该如何解决?非常感谢。

例如:

PC:请求握手(300bps)

设备:应答(300bps)

PC:确认设备的答案(300bps)

设备:数据丢失(我在这里尝试接收)

----------将波特率更改为9600 --------------

设备:数据丢失(我也尝试在此处接收)

PC:发送下一条命令(9600bps)

设备:应答(9600bps)

PC:发送下一条命令(9600bps)

设备:应答(9600bps)

0 个答案:

没有答案