HAL库中断函数中的HAL_EXTI_ClearPending()怎么用

[复制链接]
974|5
手机看帖
扫描二维码
随时随地手机跟帖
张さん|  楼主 | 2020-4-3 22:19 | 显示全部楼层 |阅读模式
HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge);

一直搞不明白怎么用,还有以下问题,谢谢各位大神为小弟解答一下

1,如果进入了一个中断,中断是个是个死循环,怎么样才能退出这个中断。

2,如果我进入了多个外部中断,怎么样才能在最后一个中断执行完后,返回主程序,忽略其他的中断不执行。

使用特权

评论回复
评论
caoenq 2020-4-8 09:42 回复TA
最后一个中断都执行完了,还有其他未执行的中断么? 

相关帖子

chunyang| | 2020-4-6 16:43 | 显示全部楼层
关于第一个问题,中断服务程序必须编制退出机制,如果确实是单纯的死循环,那只能靠复位来退出了。

使用特权

评论回复
评论
21ic小喇叭 2020-4-7 09:26 回复TA
感谢分享,奖励您50家园币,家园币可以兑换礼品或抽奖,欢迎体验~ 
chunyang| | 2020-4-6 16:45 | 显示全部楼层
第二个问题,清除其它低优先级中断的发生标志,然后用跳转指令返回主程序指定的地方即可。虽然,程序上可以这么实现,但一般应用中不宜这么做,除非确实有这个必要。

使用特权

评论回复
21ic小喇叭| | 2020-4-7 09:25 | 显示全部楼层
欢迎分享问题,积极讨论,奖励您50家园币,家园币可以兑换礼品或抽奖,欢迎体验~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

448

主题

464

帖子

1

粉丝