求一个好点的算法逻辑,单片机中断相关

2020-01-20 18:59发布

有个MCU,串口中断不断的接收数据,按字节计数++,另外有个10ms的定时器,一直开着,也就是一直是10ms产生一次中断,现在想利用这10ms的定时器产生的中断,在这个中断中实现每20毫秒判断一次串口是处于接收数据的忙状态还是处于空闲状态,说明:串口中断是按帧接收数据的,我的意思就是想判断目前数据帧是否接收完毕,还是说处于正在接收状态。
搞了好久,测试都不准,我想请教下大家,有没有好点的算法逻辑,还是说我的逻辑是不合理的。欢迎大虾拍砖,在线等,急用,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
xiaobendan
1楼-- · 2020-01-21 08:58
有个特殊字节,收到这个数据,帧完成。定时的话,你的帧间隔要大于定时器。把中断搞短点,比如1MS,弄个计数器++,每次收到一个数据,计数器ZERO,当计数器大于20时,帧完成。
xiaobendan
2楼-- · 2020-01-21 13:35
如三楼,建议还是看看吧
^小K^
3楼-- · 2020-01-21 14:57
有点不明白解决办法,在此受教了,
freshuman
4楼-- · 2020-01-21 15:44
RAMILE 发表于 2015-5-20 23:08
定义一个超时计数器
uint32_t  g_wTimerOutCnt;
每次串口中断后,对g_wTimerOutCnt进行清零

相同想法
y595906642
5楼-- · 2020-01-21 16:38
 精彩回答 2  元偷偷看……

一周热门 更多>