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

2019-12-12 18:14发布

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

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

修改原因:错别字
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
Doding
1楼-- · 2019-12-13 23:59
farfar 发表于 2019-3-28 18:28
感谢您提供的资料,经过逐级测试,确定是外部中断优先级别的问题造成的。
由于SysTick默认优先级最低,故 ...

怎么解决的?提高SysTick优先级?
SysTick中断不频繁,时实性要求也不算高,晚一点处理也没问题,如果被阻塞,是不是要看看哪个中断服务程序占用时间太长,而不是简单的提高SysTick优先级。
farfar
2楼-- · 2019-12-14 02:21
Doding 发表于 2019-3-28 19:53
怎么解决的?提高SysTick优先级?
SysTick中断不频繁,时实性要求也不算高,晚一点处理也没问题,如果被 ...

采用数据分散处理的方式,在中断中只标记事件,在空闲时再处理数据。另外查询改为投递消息的方式,可以节省不少的中断处理时间。

一周热门 更多>