繁体   English   中英

.NET SerialPort在115200 bps时是否可靠?

[英]Is .NET SerialPort reliable at 115200 bps?

我需要通过RS232以115200 bps连接设备。 距离很短(不到一米)。 没有硬件或软件握手。 交换的消息也很短:10-50个字节。 消息交换的频率-每秒最多10次。

我曾经使用相应的Win API在C / C ++中可靠地处理这种环境中的通讯。 但是,这次我想在.NET / C#中执行此操作。

前段时间,我遇到了一篇有关.NET串行端口的文章。 我记得,作者不建议使用SerialPort类。 相反,他从托管代码中选择了非托管Win API。 我不确定本文是否提到.NET 1.1。

有人知道用SerialPort进行管理是否安全吗?

SerialPort正常工作。 可以说它可以实现得更好,但是对于现代PC而言,每秒115条消息(每条50字节)的10条消息是微不足道的工作量(为便于比较,请记住PC能够通过10G以太网链路接收数据)。 在引擎盖下,OS /驱动程序将缓冲数据,因此无论您是从C ++还是C#读取该缓冲区,都不会有太大的不同(如果有的话)。

SerialPort在USB串行端口上不能很好地工作...。但这是因为众所周知,USB不可靠。 插入PCI串行卡或通过以太网连接到终端服务器,然后SerialPort可以正常工作。 使用C ++程序中的USB到RS232转换器,然后返回错误。 得出自己的结论...

我们运行的系统具有18个以各种速度运行的串行端口(分别以115k和10hz的速度运行,数百个字节的数据包),而SerialPort从来没有任何问题(仅适用于USB-to-RS232转换器!)

尝试一下...原型应该花很长时间...

值得注意的是,这里的重点不是代码或计算机是否可以以115kbps的速度工作,而是电缆,串行硬件,外部设备和环境是否可以以这些速度工作。

如果您在电气安静的地方使用短时间的屏蔽电缆,那可能很好。 如果在高功率工业机器附近工作,这些机器会产生大量电子噪声并且电缆质量不佳,那么您肯定会不满意。 在高速RS-232通讯的电气嘈杂的工业环境中,我肯定遇到了问题。 在这些情况下,必须使用高质量的电缆并降低传输速率,直到通信变得稳定且没有错误。 如果这是一个问题,除了自己进行测试然后看看,别无选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM