相关疑难解决方法(0)

字节流中数据包的识别

我在与加速度计传感器的通信方面遇到了一些问题。传感器连续输出约 8000 个读数/秒。传感器通过适配器插入 USB 端口并显示为 com4。我的问题是我似乎无法从字节流中挑选出传感器读取数据包。数据包大小为 5 个字节,格式如下:

            High nibble                     Low nibble

Byte 1      checksum, id for packet start   X high
Byte 2      X mid                           X low
Byte 3      Y high                          Y mid
Byte 4      Y low                           Z high
Byte 5      Y mid                           Y low
Run Code Online (Sandbox Code Playgroud)

X, y, z 是加速度。

在传感器的文档中,它指出第一个字节中的高半字节是校验和(计算的 Xhigh+Xlow+Yhigh+Ylow+Zhigh+Zlow),也是数据包开始的标识。我对针对外部设备进行编程还很陌生,无法真正掌握如何将校验和用作包开始的标识符(校验和不会一直更改吗?)。这是识别数据包开始的常用方法吗?有谁知道如何解决这个问题?

任何帮助将不胜感激。

checksum serial-port serial-communication packet

5
推荐指数
1
解决办法
2544
查看次数