打印
[应用相关]

处理16进制的不定长协议包

[复制链接]
421|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zyf部长|  楼主 | 2020-4-19 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想写一个用串口收发不定长的16进制的协议包并解析实现相应功能,但是一直无法实现,各位大神大大们有木有解决的方法。串口已经调通了,就是不知道怎么处理16进制的不定长协议包

使用特权

评论回复
沙发
ousj| | 2020-4-19 16:18 | 只看该作者
由于你要做的是不定长,所以,你要一个字节一字节的收取

使用特权

评论回复
板凳
lium| | 2020-4-19 16:22 | 只看该作者
通过协议中的检验来判断是不是收到了一帧的数据

使用特权

评论回复
地板
zhuww| | 2020-4-19 16:32 | 只看该作者
一个字节一个字节接收出了问题,导致接收不完所有数据

使用特权

评论回复
5
wenfen| | 2020-4-19 16:35 | 只看该作者

为什么收不完呢,是你设置的缓存太小了么

使用特权

评论回复
6
chenho| | 2020-4-19 16:39 | 只看该作者
串口驱动都没有调整成功呢
基本的功能没有实现

使用特权

评论回复
7
dingy| | 2020-4-19 16:42 | 只看该作者
可以使用STM32cubeMX 生成 一个正确的工程再进行接下来的开发吧

使用特权

评论回复
8
liuzaiy| | 2020-4-19 16:46 | 只看该作者
可以把RX与TX短路后,测试接收是不是通

使用特权

评论回复
9
zyf部长|  楼主 | 2020-4-19 16:51 | 只看该作者
串口上的数据都是16进制的,只是显示的形式不对,你是不是按字符串显示的

使用特权

评论回复
10
zyf部长|  楼主 | 2020-4-19 16:54 | 只看该作者

嗯,我再好好缕一缕吧,有了好消息及时通知大家

使用特权

评论回复
11
renzheshengui| | 2020-5-9 14:22 | 只看该作者
设定一下包头包尾

使用特权

评论回复
12
wakayi| | 2020-5-9 14:23 | 只看该作者
可以自己编制协议啊

使用特权

评论回复
13
wowu| | 2020-5-9 14:23 | 只看该作者
加上crc校验吧

使用特权

评论回复
14
xiaoqizi| | 2020-5-9 14:24 | 只看该作者
自己定制一个比较全面的协议  从协议里边可以读取该包数据长度

使用特权

评论回复
15
磨砂| | 2020-5-9 14:24 | 只看该作者
楼上说的很有道理

使用特权

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

本版积分规则

694

主题

7102

帖子

8

粉丝