快速可靠的串口

Fast and reliable SerialPort

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

连接的传感器响应时间小于 1 毫秒,传输时间为 1 到 3 毫秒(2 或 3 MBaud/s)。这些也可以通过微控制器快速读出。

可以加速吗?或者是否有延迟小于 10 毫秒的有用的第 3 方组件?

我刚刚查看了源代码,代码似乎没有延迟响应。

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)–>{Select您的USB转RS485转换器}

2 右击 select“属性”

3 Select“端口设置”​​选项卡

4 单击“高级”按钮

5 将延迟计时器 (mSec) 更改为 1 或尽可能低的设置。

6 将 USB 传输大小更改为 64 或尽可能低的设置。

7 保存并关闭。