"完成了433多数据同时接收的时候的冲突问题,解决了网络未连接会卡死整个程序的问题“

This commit is contained in:
2026-05-08 18:49:05 +08:00
parent 6c56fe8a60
commit 6e2b13dbb3
6 changed files with 71 additions and 43 deletions

View File

@ -13,7 +13,7 @@ AA TYPE LEN ID [PAYLOAD] SUM
| | | | | +-- 校验和:从 AA 到 PAYLOAD 结束的所有字节累加和 (取低8位)
| | | | +---------- 载荷数据:具体的业务数据内容
| | | +------------------ 设备 ID当前发送设备的唯一标识 (MY_DEVICE_ID)
| | +---------------------- 长度:指明后续 [ID + PAYLOAD] 的总字节数
| | +---------------------- 长度:指明后续 [ID + PAYLOAD + SUM] 的总字节数
| +--------------------------- 数据类型:区分数据来源 (10, 55, 48, AA)
+-------------------------------- 起始符:固定为 0xAA
```
@ -26,13 +26,13 @@ AA TYPE LEN ID [PAYLOAD] SUM
当板载 4 路数字输入 (DI) 电平发生变化时,立即发送此包。
```text
AA 10 02 ID XX SUM
AA 10 03 ID XX SUM
-- -- -- -- -- ---
| | | | | |
| | | | | +-- 校验和
| | | | +------ I/O 状态位 (Bit0:DI1, Bit1:DI2, Bit2:DI3, Bit3:DI4)
| | | +---------- 本机设备 ID
| | +-------------- 长度固定为 0x02 (ID + 1字节状态)
| | +-------------- 长度固定为 0x03 (ID + 1字节状态 + SUM)
| +------------------ 类型标识0x10 (I/O Data)
+---------------------- 固定起始符
```
@ -47,7 +47,7 @@ AA 48 LEN ID [DATA] SUM
| | | | | +-- 校验和
| | | | +--------- RS485 原始数据内容
| | | +--------------- 本机设备 ID
| | +------------------- 长度:(1 + 原始数据长度)
| | +------------------- 长度:(1 + 原始数据长度 + SUM)
| +----------------------- 类型标识0x48 (RS485 Data)
+--------------------------- 固定起始符
```
@ -62,7 +62,7 @@ AA 55 LEN ID [DATA] SUM
| | | | | +-- 校验和
| | | | +--------- 网络原始数据内容
| | | +--------------- 本机设备 ID
| | +------------------- 长度:(1 + 原始数据长度)
| | +------------------- 长度:(1 + 原始数据长度 + SUM)
| +----------------------- 类型标识0x55 (Net Data)
+--------------------------- 固定起始符
```
@ -71,14 +71,14 @@ AA 55 LEN ID [DATA] SUM
系统定时上报当前存活状态,包含当前的 I/O 状态及防丢包序列号。
```text
AA AA 04 ID [IO] [SEQ_H] [SEQ_L] SUM
AA AA 05 ID [IO] [SEQ_H] [SEQ_L] SUM
-- -- -- -- ---- ------- ------- ---
| | | | | | | |
| | | | | | | +-- 校验和
| | | | | +-------+-------- 2字节序列号 (0-65535, 循环自增)
| | | | +----------------------- 当前 4 路 I/O 状态位
| | | +---------------------------- 本机设备 ID
| | +-------------------------------- 长度固定为 0x04 (ID + 3字节Payload)
| | +-------------------------------- 长度固定为 0x05 (ID + 3字节Payload + SUM)
| +------------------------------------ 类型标识0xAA (Heartbeat)
+---------------------------------------- 固定起始符
```