delay函数的问题,好久了么有解决

2019-07-21 07:42发布

原子哥的delay函数是用的滴答定时器,好是挺好的,但是我前一段时间发现个问题就是,我主函数里面用到delay函数 定时器中断也用到delay函数,导致延时不正常了,如果只有主函数用延时函数的话是正常的。主函数和定时器中断同时用就不正常了。我初步分析了一下,当主函数正在延时的过程中,这个时候定时器中断了,并且进入了一个中断函数中的延时函数,由于主函数还没有运行完delay函数,进入中断中的延时函数时导致滴答定时器寄存器里面的有关数据丢失,所以导致不准确了,这种情况怎么避免?难道必须的用软件定时吗?有没有别的方法解决这个问题。呼叫各位大神。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
szczyb1314
1楼-- · 2019-07-22 02:50
 精彩回答 2  元偷偷看……
suzongyao1120
2楼-- · 2019-07-22 08:15
本帖最后由 suzongyao1120 于 2018-11-20 11:14 编辑

warship
3楼-- · 2019-07-22 14:03
47933673 发表于 2018-11-19 20:07
因为我中断里面有一个IIC通讯,没间隔50ms需要检测一次,iic通讯scl  sda需要延时

不管怎么说,
中断服务函数里面,
居然用到50ms的延时,
这个必须禁止的。
brucewoo
4楼-- · 2019-07-22 17:18
我一般用轮询CNT值的方式来延时,不用比较中断来延时。

一周热门 更多>