用STM8S外部中断的时候发现中断被自己打断了如何破

2019-07-19 21:23发布

用的是PORTB外部中断,按键进入,但是中断程序还在执行的时候再按键也会进中断,这种怎么破?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
onebank
2019-07-20 07:31
通过实验得出点结论,跟大家分享下。
STM8S外部中断只能通过一个总中断开关控制,即__disable_interrupt()和 __enable_interrupt()函数。在一个外部中断服务程序(假设为中断A服务程序)运行的时候,若是没有对总中断进行使能,则同软件优先级的中断不能打断该运行中的A中断,则需要等中断A服务程序运行完成才能再一次进入该中断;若是在运行过程中使能了中断,则该运行的中断服务程序可以被同软件优先级的中断(假设为B)打断(包括其自身),且当中断B执行完之后,会继续返回中断A服务程序接着运行。

一周热门 更多>