原子哥的延时函数如果被中断会出现问题

2019-07-20 22:15发布


        原子哥的延时函数是基于systick设计的,如果在运行中被中断打断,在中断中再调用延时函数,会导致延时出乱,当中断返回时systick的值已经被中断中的延时函数改变了,导致延时错误。
我是通过这样一个例子进行测试的,在main函数里跑一个500ms间隔的流水灯,设计一个传感器DATA_READY的引脚触发中断,在中断中通过模拟IIC读取传感器数据,模拟IIC会调用延时函数,最终导致流水灯基本上是常量了,经过检查应该就是延时出乱惹的祸




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。