. net SerialPort在115200bps时可靠吗?

本文关键字:SerialPort 115200bps net | 更新日期: 2023-09-27 17:51:12

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

我曾经使用相应的Win api在C/c++中可靠地处理这种环境下的通信。然而,这次我想用。net/c#来做。

前段时间我读到一篇关于。net串口的文章。据我回忆,作者并不推荐使用SerialPort类。相反,他从托管代码中选择了非托管的Win api。我不确定这篇文章是否提到了。net 1.1。

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

. net SerialPort在115200bps时可靠吗?

SerialPort工作正常。它可以被更好地实现,但是在115k下每秒10条50字节的消息对于现代PC来说是微不足道的工作量(为了比较,请记住PC能够从10gb以太网链路接收数据)。在底层,操作系统/驱动程序缓冲数据,所以无论你是从c++还是c#读取缓冲区都不会有太大(如果有的话)区别。

SerialPort不能很好地与USB串行端口....但那是因为USB是出了名的不可靠。插入PCI串行卡或通过以太网连接到终端服务器,SerialPort工作正常。从c++程序中使用usb到rs232转换器,失败返回。得出你自己的结论…

我们运行具有18个串行端口的系统,以各种速度运行(几个在115k和10hz,几百字节的数据包),并且从未有过串行端口的任何问题(仅使用usb到rs232转换器!)

试一试…原型应该不会花很长时间…

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

如果你在一个电气安静的地方,有良好的屏蔽电缆在短时间内运行,那么你可能没事。如果你在大功率工业机器附近工作,这些机器会产生大量的电气噪音,而且电缆质量低劣,那么你肯定不会没事的。我确实在高速RS-232通信的电气噪声工业环境中遇到过问题。在这些情况下,有必要使用高质量的电缆并降低传输速率,直到通信变得稳定和无错误。如果这是一个问题,没有什么可以做的,只有自己测试,看看。