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

2019-08-10 16:17发布

好比我的每帧数据都是以{两个0x55}作为包头,后面连续的一串都是有用的数据,怎么写接收程序,才能把接收的数据准确无误按照顺序放到一个数组里?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
DreamWaterPro
1楼-- · 2019-08-10 20:36
大致是这样的流程:
1、等待直到接受一个数据,如果是0x55,执行2;否则还是执行1;
2、等待直到接受一个数据,如果依旧是0x55,执行3;否则执行1;
3、等待直到接受一个数据,存入数组,接着执行3;

提一句,楼主提到的这个协议其实有BUG,即每接收到一个数据包之后没有一个有效的结束这个包的定义和操作
正点原子
2楼-- · 2019-08-10 22:39
学习学习modbus
釜底抽筋
3楼-- · 2019-08-11 02:11
DreamWaterPro 发表于 2017-11-1 00:34
大致是这样的流程:
1、等待直到接受一个数据,如果是0x55,执行2;否则还是执行1;
2、等待直到接受一个 ...

蟹蟹蟹蟹谢谢
釜底抽筋
4楼-- · 2019-08-11 07:35
 精彩回答 2  元偷偷看……
执迷
5楼-- · 2019-08-11 09:56
你这样,后面数据包里出现和包头一样的数据怎么办...
釜底抽筋
6楼-- · 2019-08-11 13:52
执迷 发表于 2017-11-1 15:14
你这样,后面数据包里出现和包头一样的数据怎么办...

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

一周热门 更多>