【发布时间】:2019-04-03 14:00:50
【问题描述】:
我正在一个 arduino 上编写 a 代码,并且正在与另一个 HEX 设备进行通信。我想知道如何读取他发给我的数据。
我正在发送一个 HEX 数据包(这里一切正常,没问题)
//Ask for Data
Serial.write(askData, sizeof(askData));
之后我会收到数据(十六进制)。我需要将其全部存储起来以备后用。我唯一知道的是它将以“16”结尾。我事先不知道数据包的长度。 这是我可以收到的示例或数据包:
68 4E 4E 68 08 09 72 90 90 85 45 68 50 49 06 19 00 00 00
0C 14 02 00 00 00 8C 10 12 35 02 00 00 0B 3B 00 00 00 8C
20 14 02 00 00 00 8C 30 14 00 00 00 00 04 6D 2F 09 61 24
4C 14 02 00 00 00 42 6C 5F 2C 42 EC 7E 7F 2C 0A 92 2A 00
10 0A 92 2B 00 10 39 16
有人可以帮帮我吗?
【问题讨论】:
-
我认为说您正在发送“十六进制”数据是不正确的 - 看起来您正在发送/接收以十六进制表示形式打印的二进制数据。如果您要发送十六进制数据,您将发送“16” - 即 ascii “1”,然后是 ascii “6” - 用于该完成标记,而不是“\x16”,它是单个(二进制)字节。
标签: arduino serial-port hex