我使用这个图书馆与来自Java的串口进行通信。此外,我正在使用USB到串行转换器连接到设备。以下是与设备相关的文档:
2.1 物理接口主机与VGM之间所需的物理接口是IEA-232接口。 2.2 .逻辑接口串行数据链路应以每秒19,200位的速度工作,其中有一个起始位、八个数据位、一个唤醒位和一个停止位。应该在消息的第一个字节中设置唤醒位;对于消息的其余部分,应该清除唤醒位。VGM在响应主机时应清除唤醒位。
在连接到串口时,我有点困惑如何设置rs232库设置。有波特设置,比特(5,6,7,8)中的数据长度,停止位(1,2)和奇偶校验设置。当我处理这些设置时,我当然会得到不同的输出(大多数情况下看起来像垃圾)。你能帮我猜一下引用的文档的设置吗?
发布于 2014-06-14 08:37:14
据我所知,您的协议需要额外的第9位数据位,用于一些奇异的应用程序,如多点总线 (也请参阅Stackoverflow 14212660)。在您的例子中,这第9位被称为“唤醒位”,但是在您的java库或标准RS232应用程序中找不到这样的东西或名称。
有一个解决办法使用标准USB到串行转换器。这正是Stackoverflow 14212660中所称的
并且不使用奇偶校验位作为第9位数据。
所以,除非你想买专门的硬件--我建议你用“捏造”:
使用奇偶校验设置标记和空格应该对应于您想要的设置“唤醒位集”,重新定位。“清醒点”。我们的软件Docklight脚本已经允许您在免费的评估中执行这种临时奇偶交换,但我假设还有其他工具或代码示例。MDB / multidrop总线应该是很好的Google关键字。
https://stackoverflow.com/questions/23572376
复制相似问题