match007 发表于 2022-2-14 19:44

解析协议一般如何处理

大致的协议格式是
关键字+序号+命令字+数据长度+数据内容+校验

我一般是数据全部接收到数组之后
一个个的从头到尾判断,
然后执行

有没有快捷一点的方式?节省点处理时间

watermellon 发表于 2022-2-14 21:33

你的一般处理是正确的

gouguoccc 发表于 2022-2-15 08:34

可以,没问题。

海滨消消 发表于 2022-2-15 15:45

没问题,行的通

ddxx 发表于 2022-2-15 17:20

这种协议存在风险的,如果长度字节出问题,往往导致帧失步,很难再帧同步,除非帧头关键字是唯一的,可以根据关键字实现帧同步。如果没有这种强制同步功能,一般都是等接收超时的。

gouguoccc 发表于 2022-2-15 18:43

自定义协议看自己需要定义

kiwis66 发表于 2022-2-17 10:44

我也是一层一层的比较

d1ng2x 发表于 2022-2-22 12:19

没啥好的方法吧,可以先收协议头,然后对了再继续进行接收和判断

lix1yr 发表于 2022-2-22 12:38

处理数据好像都是这个流程,你想怎么快捷啊?

kaif2n9j 发表于 2022-2-22 12:53

我也是按照你的方式去做的,估计没啥好的快捷方式吧

tax2r6c 发表于 2022-2-22 13:05

你可以收命令头,如果对了,把后面数据都收过来,然后再逐一判断

w2nme1ai7 发表于 2022-2-22 14:15

一般都是这个流程,哈哈哈

zhizia4f 发表于 2022-2-22 14:29

逻辑很清晰啊,但是你说的快捷我竟然没有一点儿头绪

l1uyn9b 发表于 2022-2-22 15:11

你这个操作流程就行的,没必要再优化吧,你可以收数据用DMA,但是处理还得是逐个处理

su1yirg 发表于 2022-2-22 15:23

你收数据的时候快点儿就行了,这种能给处理数据留些时间

ex7s4 发表于 2022-2-22 15:37

便捷方法好像就是协议简单点儿,数据少点儿

t1ngus4 发表于 2022-2-22 15:58

收到数据之后,直接判断标记和想要的数据区域,直接获取呢?

xiaoyuluoke 发表于 2022-2-24 10:33

DMA+联合体+结构体

tpgf 发表于 2022-3-2 08:59

这个是正确的流程

磨砂 发表于 2022-3-2 09:20

DMA+联合体+结构体是个什么意思
页: [1] 2
查看完整版本: 解析协议一般如何处理