OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3071|回复: 8

【求助】串口接收怎么识别包头?

[复制链接]

6

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
金钱
320
注册时间
2017-10-14
在线时间
80 小时
发表于 2017-10-31 23:38:51 | 显示全部楼层 |阅读模式
1金钱
好比我的每帧数据都是以{两个0x55}作为包头,后面连续的一串都是有用的数据,怎么写接收程序,才能把接收的数据准确无误按照顺序放到一个数组里?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2017-11-1 00:34:28 | 显示全部楼层
大致是这样的流程:
1、等待直到接受一个数据,如果是0x55,执行2;否则还是执行1;
2、等待直到接受一个数据,如果依旧是0x55,执行3;否则执行1;
3、等待直到接受一个数据,存入数组,接着执行3;

提一句,楼主提到的这个协议其实有BUG,即每接收到一个数据包之后没有一个有效的结束这个包的定义和操作
十六进制带我飞。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-11-1 00:42:21 | 显示全部楼层
学习学习modbus
回复

使用道具 举报

6

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
金钱
320
注册时间
2017-10-14
在线时间
80 小时
 楼主| 发表于 2017-11-1 08:08:35 | 显示全部楼层
DreamWaterPro 发表于 2017-11-1 00:34
大致是这样的流程:
1、等待直到接受一个数据,如果是0x55,执行2;否则还是执行1;
2、等待直到接受一个 ...

蟹蟹蟹蟹谢谢
回复

使用道具 举报

6

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
金钱
320
注册时间
2017-10-14
在线时间
80 小时
 楼主| 发表于 2017-11-1 08:09:20 | 显示全部楼层

好的蟹蟹原子哥
回复

使用道具 举报

13

主题

175

帖子

0

精华

初级会员

Rank: 2

积分
182
金钱
182
注册时间
2016-4-30
在线时间
141 小时
发表于 2017-11-1 15:14:36 | 显示全部楼层
你这样,后面数据包里出现和包头一样的数据怎么办...
回复

使用道具 举报

6

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
金钱
320
注册时间
2017-10-14
在线时间
80 小时
 楼主| 发表于 2017-11-1 15:30:59 | 显示全部楼层
执迷 发表于 2017-11-1 15:14
你这样,后面数据包里出现和包头一样的数据怎么办...

后面每一个字节之间用0x00隔开  保证不出现55
回复

使用道具 举报

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
发表于 2017-11-1 15:39:27 | 显示全部楼层
识别每帧数据从来不用数据本身
回复

使用道具 举报

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
发表于 2017-11-1 15:39:51 | 显示全部楼层
执迷 发表于 2017-11-1 15:14
你这样,后面数据包里出现和包头一样的数据怎么办...

就是就是
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 04:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表