RS232串口通讯的设置

时间:2014-05-09 19:21:16

标签: java serial-port

我正在使用this library与来自Java的串行端口进行通信。我也使用USB转串口转换器连接到设备。 以下是与设备相关的文档:

  

2.1 物理接口   主机和VGM之间所需的物理接口是EIA-232接口。

     

2.2 逻辑接口   串行数据链路应以每秒19,200比特(BPS)的速度运行,其中一个   起始位,8个数据位,唤醒位和一个停止位。应该设置唤醒位   消息的第一个字节;应该清除唤醒位以用于剩余的时间   信息。 VGM应在响应主机时清除唤醒位。

连接到串口时,我有点困惑如何设置rs232库设置。有波特率设置,数据长度(5,6,7,8),停止位(1,2)和奇偶校验设置。当我搞乱这些设置时,我当然得到不同的输出(大部分时间看起来像垃圾)。你能帮我猜一下引用文件的设置吗?

1 个答案:

答案 0 :(得分:1)

根据我的理解,您的协议需要额外的第9个数据位,用于某些奇特的应用程序,如Multidrop bus(另请参阅Stackoverflow 14212660)。在你的情况下,这个第9位被称为"唤醒位",但你在java库或标准RS232应用程序中找不到这样的东西或名字。

使用标准USB转串口转换器有一种解决方法。这正是Stackoverflow 14212660中所谓的

  使用奇偶校验位作为第9个数据位

no fudging

所以,除非你想购买专门的硬件,否则我建议'捏造':

使用奇偶校验设置MARK和SPACE应对应于您想要的设置"唤醒位设置",或者。 "唤醒位清除"。我们的软件Docklight Scripting允许您在免费评估中执行此类temporary parity switching,但我认为还有其他工具或代码示例。 MDB /多点总线应该是很好的Google关键字。