控制/MCU
介绍
RL78系列默认是不开启中断嵌套的,但有些应用需要提高中断响应的实时性。对于某些对实时性要求较高的操作,必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。
主要内容
根据芯片手册说明,开启中断嵌套需在中断服务函数内打开总中断,如下图所示:
点击图片可查看大图
RL78中断等级分4个等级,嵌套层级关系取决于中断优先级,中断优先级越高就能抢占低优先级的中断。
具体代码如下图所示:
点击图片可查看大图
补充说明1
当两个中断A、B同时触发时,如果A的中断优先级高于B,则先响应A的中断服务函数;当A、B中断优先级为同等级时,则按照硬件中断向量表序号小的先响应其中断服务函数。
硬件中断向量表序号如下图所示:
点击图片可查看大图
补充说明2
有个别中断是共用中断号的,比如中断号16是串口0接收错误中断与定时器1高位间隔中断共用,建议二者只用其中一个中断,不同时使用。如果一定需要同时使用,可以在同一个中断服务函数内做相应标志位判断来区分。
点击图片可查看大图
补充说明3
RL78系列的硬件中断向量是固定地址的,不能重定向。在做Bootloader时需要特别注意。只能通过二次跳转来实现应用的中断。
结论
RL78系列MCU是可以开启中断嵌套,但是要注意,中断嵌套只能高优先级“中断”低优先级,低优先级不能“中断”高优先级,同一优先级之间也不能相互“中断”。
审核编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !