外部中断程序中用SysTick中断做延时问题

2019-08-22 16:30发布

我在外部中断中需要拥戴延时函数,于是就想用SysTick的中断来做延时,于是就将滴答定时器的中断写成一个延时函数,可是在外部中断服务函数中调用时却没有用,程序就卡在延时函数处。(延时函数是正确的,是从以前写在main函数中复制过来的),而且在外部中断服务函数中用for循环来延时好像也不可以。所以请各位大神帮我解答一下,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
feilusia
1楼-- · 2019-08-22 18:45
这应该是优先级的问题,说明你的外部中断优先级比你的systick优先级高。
我这里也是外部中断中使用systick的,参考
《STM32之红外接收》:http://blog.csdn.net/feilusia/article/details/53319896
whyviking
2楼-- · 2019-08-22 23:58
不用SysTick的中断,在你的中断中 用while()循环读SysTick 的寄存器进行判读来做延时试试
春心荡漾
3楼-- · 2019-08-23 03:47
whyviking 发表于 2017-4-4 18:43
不用SysTick的中断,在你的中断中 用while()循环读SysTick 的寄存器进行判读来做延时试试

好的,谢谢

一周热门 更多>