2019-07-19 21:23发布
keyer 发表于 2016-1-16 11:37 进中断可以吧中断关掉中断程序执行完后再开中断啊
onebank 发表于 2016-1-18 08:59 但是另外还有一个优先级更高的中断会触发,如果把总中断关了的话另一个中断不是触发不了了
最多设置5个标签!
但是另外还有一个优先级更高的中断会触发,如果把总中断关了的话另一个中断不是触发不了了
STM8S外部中断只能通过一个总中断开关控制,即__disable_interrupt()和 __enable_interrupt()函数。在一个外部中断服务程序(假设为中断A服务程序)运行的时候,若是没有对总中断进行使能,则同软件优先级的中断不能打断该运行中的A中断,则需要等中断A服务程序运行完成才能再一次进入该中断;若是在运行过程中使能了中断,则该运行的中断服务程序可以被同软件优先级的中断(假设为B)打断(包括其自身),且当中断B执行完之后,会继续返回中断A服务程序接着运行。
关闭总中断后,如果这时有新的中断到来,不会产生中断,但会挂起中断标志。等你再次开启总中断后,还是会响应的。另外的,不要在中断中处理太多,建议抛个事件到main中处理即可。尽量避免嵌套中断!
一周热门 更多>