tyler998 发表于 前天 09:57

串口通信类接收数据会分包,这个怎么处理

使用串口通信类发送数据,接收事件里面返回的数据会分多次接收,这个要设置哪里


RMJ 发表于 前天 10:27

自己读取他的数据,不用他的事件

glbosom 发表于 前天 10:33

弄个静态变量累加接收,数据里有结束字符,处理完数据后记得清除

tyler998 发表于 前天 11:15

glbosom 发表于 2025-11-18 10:33
弄个静态变量累加接收,数据里有结束字符,处理完数据后记得清除

大佬,结束字符怎么判断

glbosom 发表于 前天 12:13

收到完整的数据一般都有结束符比如换行字节值应该是 10 或者 13,你接收一段试试不就知道了,或者用串口小助手调试一下

tyler998 发表于 前天 13:20

glbosom 发表于 2025-11-18 12:13
收到完整的数据一般都有结束符比如换行字节值应该是 10 或者 13,你接收一段试试不就知道了,或者用串口小助 ...

2048, 接收, 64, <字节集> 总共 64 个字节:
: 7B 22 64 61 74 61 22 3A 7B 22 74 79 70 65 22 3A | {"data":{"type":
: 22 63 6F 6E 73 75 6D 65 22 2C 22 6F 72 64 65 72 | "consume","order
: 22 3A 22 32 30 32 35 31 31 31 38 31 32 32 37 31 | ":"2025111812271
: 32 35 31 30 22 2C 22 73 74 61 74 75 73 22 3A 32 | 2510","status":2, 7B2264617461223A7B2274797065223A22636F6E73756D65222C226F72646572223A223230323531313138313232373132353130222C22737461747573223A32
2048, 接收, 53, <字节集> 总共 53 个字节:
: 30 30 2C 22 6D 73 67 22 3A 7D 2C 22 6D 64 35 22 | 00,"msg":},"md5"
: 3A 22 42 45 33 38 39 35 39 30 38 35 35 31 31 37 | :"BE389590855117
: 36 31 33 41 44 46 42 31 33 33 37 43 35 36 37 43 | 613ADFB1337C567C
: 35 34 22 0A 7D                                  | 54".}, 30302C226D7367223A7D2C226D6435223A224245333839353930383535313137363133414446423133333743353637433534220A7D

RMJ 发表于 昨天 10:18

tyler998 发表于 2025-11-18 13:20


还没搞定吗,用时钟定时接收数据,收到数据变量累加,当收到空数据时说明上一帧数据收取完毕

tyler998 发表于 昨天 14:39

RMJ 发表于 2025-11-19 10:18
还没搞定吗,用时钟定时接收数据,收到数据变量累加,当收到空数据时说明上一帧数据收取完毕 ...

搞好了,加了定时器,500毫秒内循环累加,感觉还是没有易语言那样方便,易语言直接能取出所有数据
页: [1]
查看完整版本: 串口通信类接收数据会分包,这个怎么处理