RL78开启中断嵌套方式介绍

控制/MCU

1815人已加入

描述

介绍

RL78系列默认是不开启中断嵌套的,但有些应用需要提高中断响应的实时性。对于某些对实时性要求较高的操作,必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。

主要内容

根据芯片手册说明,开启中断嵌套需在中断服务函数内打开总中断,如下图所示:

mcu

点击图片可查看大图

RL78中断等级分4个等级,嵌套层级关系取决于中断优先级,中断优先级越高就能抢占低优先级的中断。

具体代码如下图所示:

mcu

点击图片可查看大图

补充说明1

当两个中断A、B同时触发时,如果A的中断优先级高于B,则先响应A的中断服务函数;当A、B中断优先级为同等级时,则按照硬件中断向量表序号小的先响应其中断服务函数。

硬件中断向量表序号如下图所示:

mcu

点击图片可查看大图

补充说明2

有个别中断是共用中断号的,比如中断号16是串口0接收错误中断与定时器1高位间隔中断共用,建议二者只用其中一个中断,不同时使用。如果一定需要同时使用,可以在同一个中断服务函数内做相应标志位判断来区分。

mcu

 

mcu

点击图片可查看大图

补充说明3

RL78系列的硬件中断向量是固定地址的,不能重定向。在做Bootloader时需要特别注意。只能通过二次跳转来实现应用的中断。

结论

RL78系列MCU是可以开启中断嵌套,但是要注意,中断嵌套只能高优先级“中断”低优先级,低优先级不能“中断”高优先级,同一优先级之间也不能相互“中断”。

审核编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分