STM32F030C8外部中断导致SysTick异常无法再次进入中断

2019-12-12 18:14发布

本帖最后由 farfar 于 2019-3-28 16:52 编辑

今天在制作一个市电过零检测电路时发现一个问题,正常工作时有一定的概率发生SysTick无法再次进入中断的现象,调试截图如下:
当SysTick中的'P'状态位置1后,SysTick便无法再次进入中断。
请教各位,这个'P'状态为是什么状态,什么情况下会出现'P'位置位?
谢谢大家!

修改原因:错别字
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
zchong
1楼-- · 2019-12-12 20:08
是不是pend,其它高优先级的一直在?
Doding
2楼-- · 2019-12-13 01:21
Pending is checked when this interrupt occurred but has not been serviced. You may manually trigger the interrupt by setting this bit.
P应该是指有中断挂起,还没处理。
官方有说明[url]www.keil.com/dd/vtr/4602/8690.htm[/url]
蛋定
3楼-- · 2019-12-13 03:38
我也遇到过,是在写程序flash时,systick不再正常了,我只好暂时舍弃使用,写完后再打开一次。求大师指导怎么办
farfar
4楼-- · 2019-12-13 07:01
Doding 发表于 2019-3-28 17:35
Pending is checked when this interrupt occurred but has not been serviced. You may manually trigger  ...

感谢您提供的资料,经过逐级测试,确定是外部中断优先级别的问题造成的。
由于SysTick默认优先级最低,故在任务轻载的时候可以正常工作,在突发任务重载时被其他优先级别的任务占用导致无法正常工作!
再次感谢Doding
farfar
5楼-- · 2019-12-13 12:25
 精彩回答 2  元偷偷看……
farfar
6楼-- · 2019-12-13 18:13
感谢大家的回复,问题已经确认并解决,至此结贴,谢谢大家!

一周热门 更多>