无法从SerialPort读取

时间:2013-03-04 18:54:57

标签: c#

我正在尝试通过串口读取消息(通过USB将RS-422插入我的电脑)

问题是我有2根这种类型的电缆。

一个是USB直接连接到422,另一个是带有RS-232到RS-422适配器​​的USB-RS-232电缆。

我安装了所有驱动程序。 我写了一行:m_Pod.read(response, 0, 1000);其中m_Pod是SerialPort对象,而{[1}}位于byte []中以保存读取的消息。

如果收到数据,此行就是这样的,所以我读了这条消息。

第一个连接器工作正常,我在事件发生时读取了该消息。 但是,第二个连接器不起作用。事件不会发生。 如果我尝试手动阅读该消息,我会得到一个随机数(63),而不是我应该的长消息。

这是第二个适配器的图片: http://oi50.tinypic.com/34nh4kz.jpg

右侧是USB转RS-232,左侧是RS-232转RS-422。

1 个答案:

答案 0 :(得分:1)

你试过玩握手属性吗? http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.handshake.aspx 根据适配器使用/提供的信号,您可能需要从软件/硬件握手中进行选择。