MCU中断响应流程及注意事项

本文介绍MCU中断响应流程及注意事项。

1.中断响应流程

中断响应的一般流程为:

1)断点保护

硬件操作,将PC,PSR等相关寄存器入栈保护

2)识别中断源

硬件操作,识别中断的来源,如果多个中断同时发生,高优先级中断先被响应

3)执行中断服务程序

用户编写,需要在此保存额外的寄存器,将其入栈保护,并在中断返回时出栈。用户也可以在此通过修改中断屏蔽寄存器,软件调整中断优先级(注意关中断,开中断)

4)断点恢复

硬件操作,将PC,PSR等相关寄存器出栈恢复,程序回到原中断处执行

2.注意事项

1)多个中断发生时,高优先级中断会被响应,执行完成后,低优先级中断再被响应。这里低优先级中断只是被抢占了,待高优先级中断响应完后仍然被响应。
2)中断发生时,执行中断服务程序,需立即清除中断标志位(首条语句),以便下次中断可以被及时响应。在执行当前中断服务程序时,当前中断仍可能发生,待当前中断响应完后可以再次被响应(若无更高优先级的中断)。
3)高优先级中断服务程序执行过程中,若有低优先级中断发生,低优先级中断会被暂时挂起,待高优先级中断服务程序执行完后在再响应,若有更高优先级中断则会优先响应更高优先级中断服务程序(中断嵌套)。
4)中断可以以查询方式执行,中断控制器不使能中断,查询外设中断标志位。比如在纯查询的软件体系结构中,可以通过查询外设的中断标志位,执行相应的程序。

总结,本文介绍了MCU中断响应流程及注意事项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值