快速可靠的SerialPort

时间:2018-12-14 07:59:53

标签: c# .net serial-port rs485

目前,我们使用.Net内置的SerialPort组件通过RS485与不同的传感器进行通信。这表明从消息到达到触发DataReceived事件或SerialPort.ReadLine终止之间的等待时间超过10毫秒。

连接的传感器在<1毫秒内响应,传输需要1到3毫秒(2或3 MBaud / s)。也可以通过微控制器如此快地读出这些信息。

有可能加速吗?还是有一些有用的第三方组件,这些组件的延迟小于10毫秒?

1 个答案:

答案 0 :(得分:0)

我只是遍历了源代码,似乎代码没有延迟响应。

https://referencesource.microsoft.com/#system/sys/system/io/ports/SerialPort.cs

但是,您可以按照该文章在“设备管理器”中进行更改,看看是否可行。

https://store.chipkin.com/articles/rs232-how-do-i-reduce-latency-on-com-ports

修改

如解决方案所述,您可以转到设备管理器并从列表中找到您的串行端口。有一个延迟计时器设置,您可以将其更新为1毫秒。

1开始菜单–>设置–>控制面板–>设备管理器–>端口(COM和LPT)–> {选择USB到RS485转换器}

2右键单击并选择“属性”

3选择“端口设置”​​标签

4单击“高级”按钮

5将延迟计时器(mSec)更改为1或最低设置。

6将USB传输大小更改为64或最低设置。

7保存并关闭。