gpt4 book ai didi

java - 如何使用Java读取原始串行数据?

转载 作者:行者123 更新时间:2023-12-01 09:06:14 24 4
gpt4 key购买 nike

我目前正在实现老虎机会计系统,以使用 SAS602 与老虎机交互。 。该协议(protocol)使用非标准 9 位协议(protocol)进行串行通信。所以数据是1个起始位+8个数据位+1个停止位+1个唤醒位(我的情况是奇偶校验位)

老虎机根据唤醒位来识别地址字节和数据字节。如果它被设置,那么该字节是地址,如果被清除,那么它是数据字节。

协议(protocol)中还提到,不支持 9 位,建议使用标记/空格奇偶校验。我在 Java 上 jserialcom并成功与老虎机建立连接并读取数据。但是,我无法区分数据和地址字节,因为使用 jserialcomm 库 readbytes 会剥离原始数据并仅向我提供数据字节。我无法访问奇偶校验位状态。

是否可以用Java获取原始11位数据?有可能吗?如果是这样,我该如何去做呢?

我开放任何图书馆或 Linux 平台。

最佳答案

由于第9位不是数据而是携带控制信息,所以在配置串口时可以启用奇偶校验。现在,当接收到数据时,计算接收到的字节中 1 的数量,并检查是否发生奇偶校验错误。如果它没有发生并且您知道 1 的数量,您可以轻松推断出奇偶校验位是 1 或 0,从而推断出数据或控制。

另请查看this article大约是串口的第9位。

关于java - 如何使用Java读取原始串行数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41262982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com