打印
[技术问答]

解析协议一般如何处理

[复制链接]
1424|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
match007|  楼主 | 2022-2-14 19:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大致的协议格式是
关键字+序号+命令字+数据长度+数据内容+校验

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

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

使用特权

评论回复
沙发
watermellon| | 2022-2-14 21:33 | 只看该作者
你的一般处理是正确的

使用特权

评论回复
板凳
gouguoccc| | 2022-2-15 08:34 | 只看该作者
可以,没问题。

使用特权

评论回复
地板
海滨消消| | 2022-2-15 15:45 | 只看该作者
没问题,行的通

使用特权

评论回复
5
ddxx| | 2022-2-15 17:20 | 只看该作者
这种协议存在风险的,如果长度字节出问题,往往导致帧失步,很难再帧同步,除非帧头关键字是唯一的,可以根据关键字实现帧同步。如果没有这种强制同步功能,一般都是等接收超时的。

使用特权

评论回复
6
gouguoccc| | 2022-2-15 18:43 | 只看该作者
自定义协议看自己需要定义

使用特权

评论回复
7
kiwis66| | 2022-2-17 10:44 | 只看该作者
我也是一层一层的比较

使用特权

评论回复
8
d1ng2x| | 2022-2-22 12:19 | 只看该作者
没啥好的方法吧,可以先收协议头,然后对了再继续进行接收和判断

使用特权

评论回复
9
lix1yr| | 2022-2-22 12:38 | 只看该作者
处理数据好像都是这个流程,你想怎么快捷啊?

使用特权

评论回复
10
kaif2n9j| | 2022-2-22 12:53 | 只看该作者
我也是按照你的方式去做的,估计没啥好的快捷方式吧

使用特权

评论回复
11
tax2r6c| | 2022-2-22 13:05 | 只看该作者
你可以收命令头,如果对了,把后面数据都收过来,然后再逐一判断

使用特权

评论回复
12
w2nme1ai7| | 2022-2-22 14:15 | 只看该作者
一般都是这个流程,哈哈哈

使用特权

评论回复
13
zhizia4f| | 2022-2-22 14:29 | 只看该作者
逻辑很清晰啊,但是你说的快捷我竟然没有一点儿头绪

使用特权

评论回复
14
l1uyn9b| | 2022-2-22 15:11 | 只看该作者
你这个操作流程就行的,没必要再优化吧,你可以收数据用DMA,但是处理还得是逐个处理

使用特权

评论回复
15
su1yirg| | 2022-2-22 15:23 | 只看该作者
你收数据的时候快点儿就行了,这种能给处理数据留些时间

使用特权

评论回复
16
ex7s4| | 2022-2-22 15:37 | 只看该作者
便捷方法好像就是协议简单点儿,数据少点儿

使用特权

评论回复
17
t1ngus4| | 2022-2-22 15:58 | 只看该作者
收到数据之后,直接判断标记和想要的数据区域,直接获取呢?

使用特权

评论回复
18
xiaoyuluoke| | 2022-2-24 10:33 | 只看该作者
DMA+联合体+结构体

使用特权

评论回复
19
tpgf| | 2022-3-2 08:59 | 只看该作者
这个是正确的流程

使用特权

评论回复
20
磨砂| | 2022-3-2 09:20 | 只看该作者
DMA+联合体+结构体是个什么意思

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

97

主题

607

帖子

1

粉丝