打印

用串口中断怎么连续收多帧数据

[复制链接]
520|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
丑帅丑帅的|  楼主 | 2020-4-25 16:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在想用USART2接收20帧的数据求平均值,每帧数据8byte,我目前可以实现接收一帧数据,在中断服务函数中接收到一帧数据并校验正确后给出一个确认信号,我想知道怎么来连续接收20帧数据呢?

使用特权

评论回复
评论
zyj9490 2020-4-25 17:49 回复TA
通信协议的问题、 

相关帖子

沙发
tianxj01| | 2020-4-25 17:54 | 只看该作者
本帖最后由 tianxj01 于 2020-4-25 17:55 编辑

开数组,定义好帧头(特征串或者用间隔超时等等)。
中断服务函数定义一个数据串计数器,用帧头或者超时来自动复位。
每个接受中断,接受一帧,按照计数器位置,存入数组。
考虑到数组不及时处理会被新的数据覆盖,所以,一旦定义的帧串完成,则数据处理出结果最好放在中断完成。
就这样每次中断同时查询是否帧串完成,然后做一个算术平均,給主函数回传平均数用作处理............

使用特权

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

本版积分规则

741

主题

742

帖子

0

粉丝