我正在尝试通过串口读取消息(通过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。
答案 0 :(得分:1)
你试过玩握手属性吗? http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.handshake.aspx 根据适配器使用/提供的信号,您可能需要从软件/硬件握手中进行选择。