【发布时间】:2018-01-19 03:28:14
【问题描述】:
所以我目前正在处理 Python 3 和 PySerial 的一个小问题。我有一个 Raspberry Pi 和一个通过 RPI 上的 UART 端口连接的控制盒。控制框每 50 毫秒向树莓派发送一次数据,我想读取该数据,以便使用解析器从中获取一些需要的数据。唯一的问题是当我尝试读取数据时,起始十六进制值不正确,因为我开始读取控制箱发送回的反馈中途的数据。
例如:
b'\x21\x21\x22\x98\x98\x24\x23\x21\x21\x22\x22\x98
我需要 x98 (0x98) 作为该字节的起始十六进制值,所以它看起来像这样
x98\x98\x24\x23\x21\x21\x22\x22\
我需要这样,这样我才能获取某个十六进制代码(从字节中),例如 x21 并将其用于我的程序。我已经进行了研究,但无法提出一件事。我应该怎么做才能使这成为可能?
【问题讨论】:
-
您应该缓冲读取的字节并在开始标记字节处拆分它们。
-
我研究了在 python 上缓冲字节,我得到的最接近的是python struct。我不知道该怎么做。我可以举一个简单的例子吗?谢谢。