[技术问答] 解析协议一般如何处理

[复制链接]
2001|24
 楼主| 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+联合体+结构体是个什么意思
您需要登录后才可以回帖 登录 | 注册

本版积分规则

97

主题

607

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部