RL78系列默认是不开启中断嵌套的,但有些应用需要提高中断响应的实时性。对于某些对实时性要求较高的操作,必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。
主要内容
根据芯片手册说明,开启中断嵌套需在中断服务函数内打开总中断,如下图所示:
点击图片可查看大图
RL78中断等级分4个等级,嵌套层级关系取决于中断优先级,中断优先级越高就能抢占低优先级的中断。
具体代码如下图所示:
点击图片可查看大图
补充说明1
当两个中断A、B同时触发时,如果A的中断优先级高于B,则先响应A的中断服务函数;当A、B中断优先级为同等级时,则按照硬件中断向量表序号小的先响应其中断服务函数。
硬件中断向量表序号如下图所示:
点击图片可查看大图
补充说明2
有个别中断是共用中断号的,比如中断号16是串口0接收错误中断与定时器1高位间隔中断共用,建议二者只用其中一个中断,不同时使用。如果一定需要同时使用,可以在同一个中断服务函数内做相应标志位判断来区分。
点击图片可查看大图
补充说明3
RL78系列的硬件中断向量是固定地址的,不能重定向。在做Bootloader时需要特别注意。只能通过二次跳转来实现应用的中断。
结论
RL78系列MCU是可以开启中断嵌套,但是要注意,中断嵌套只能高优先级“中断”低优先级,低优先级不能“中断”高优先级,同一优先级之间也不能相互“中断”。
更多内容您可识别下方二维码查看:
更多内容,您可复制下方网址到浏览器中打开进入瑞萨中文论坛查看:
https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/
1
END
1
推荐阅读
使用CS+ CACX编译RL78系列MCU出现flash空置0XFF错误问题
使用CS+ CCRL编译RL78系列MCU出现CONST地址引起flash空间浪费的错误问题
基于IAR指定RL78程序地址空间说明