51单片机串口接收不定长数据

2020-01-13 18:37发布

请教大神,单片机串口如何接收不定长数据啊 ,比如 0x01+0x03+len+data0....datan CRC_H  CRC_L 写了一下午没啥成果
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
31条回答
xpstudio2011
1楼-- · 2020-01-13 20:52
 精彩回答 2  元偷偷看……
prow
2楼-- · 2020-01-13 21:31
下位机这边一字节一字节的接收,判断起始字节是不是0x01和0x03,是的话就接着判断,不是的话就把数据扔了重新判断

如果上一步判断接收到的事起始字节,那么第三字节就是数据长度n,然后接下来接收n字节的数据字节,之后接收的两字节是校验字节,如果校验没有问题则数据有效,如果校验有问题则数据丢掉

一堆if else 或者case
10xjzheng
3楼-- · 2020-01-13 23:44
2种方法,1实时地进行if else 2 fifo缓冲区接收 main中进行测量,这种实时性稍微差些,但是用着也不错。
myin4
4楼-- · 2020-01-14 02:26
这不是modbus吗?用时间间隔来区分帧的
1328616904
5楼-- · 2020-01-14 07:02
myin4 发表于 2015-12-15 20:53
这不是modbus吗?用时间间隔来区分帧的

第一次搞 能不能给源码分析一下?
1328616904
6楼-- · 2020-01-14 11:08
 精彩回答 2  元偷偷看……

一周热门 更多>