【求助】关于232通信协议用数组判断头尾校验帧,求一个完整有详细注解的例程,真的有困难!

2019-08-17 07:29发布

找了很久资料,真的难学,感觉要炸了
希望原子哥能够加上 如何自制串口协议的教程!真的很有必要,不搞协议的232等于没搞,现在随便什么通信都要有协议保证稳定
真的学了好久 还没搞懂!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
32条回答
操作系统
1楼-- · 2019-08-18 07:45
不知道呢.我不是原子团队成员.
enan
2楼-- · 2019-08-18 09:39
判断任何头尾帧都是徒劳的(你无法保障数据内不含跟头尾帧一样的数据),时间约定才是王道,
yinqirui9
3楼-- · 2019-08-18 13:08
enan 发表于 2017-6-11 11:50
判断任何头尾帧都是徒劳的(你无法保障数据内不含跟头尾帧一样的数据),时间约定才是王道,

怎么约定?有例子吗
enan
4楼-- · 2019-08-18 15:07
yinqirui9 发表于 2017-6-11 12:12
怎么约定?有例子吗

约定每帧数据之间的间隔,
例如约定每帧数据的间隔10ms,接收到第一个字节开个5ms定时器,之后你每接收到1个字节复位定时器为5ms,5ms到后表示接收完成。

那个什么串口空闲中断DMA去接收MODBUS就是个比较**的想法,有些低端MCU自己本身就几把很忙,串口发送的时候被打断了,出现了停顿的情况,串口空闲中断就判断接收完成了。
yinqirui9
5楼-- · 2019-08-18 20:11
 精彩回答 2  元偷偷看……
enan
6楼-- · 2019-08-18 21:01
yinqirui9 发表于 2017-6-11 12:38
那上位机怎么发间隔10ms的数据呢?有实际的例程吗,光那么看新手不是很懂啊

不是上位机间隔10ms发送数据,你这完全是崭新的新手啊

是说的这个10ms是两帧数据之间的最小间隔10ms,你拿5ms时间来判断收到数据后接下来的5ms有没有再次收到数据,如果没有就是一帧数据结束了

一周热门 更多>