使用多个中断的 RX 系列微控制器

描述

本应用笔记介绍了使用多个中断的 RX 系列微控制器。该文件包括规格书、运行确认条件、硬件和软件以及示例程序。

规格

在处理 IRQ1 中断时,会发生 IRQ3 中断。

通常,PSW 中的 I 标志在发生中断时被清除,从而禁用其他中断。为了使能多个中断。为了使能多个中断,需要在中断处理程序中复位 PSW 中的 I 标志。

将 I 标志设置为 1 将启用具有更高优先级的中断。

启用多个中断的设置

有必要在中断函数的声明中使用#pragma interrupt。此声明指定启用多个中断,允许同时生成多个中断。下面是一个示例多中断使能规范。

示例:RX220上的 IRQ1 中断函数声明 

一旦启用了多个中断,就可以在中断功能开始时将 PSW 中的 I 标志设置为 1,以允许多个中断。

外围功能及应用

微控制器

连接图

软件

操作概述

初始设置
——对时钟、I/O 端口和 IRQ 中断进行初始设置后,软件等待 SW1 输入。调用应用笔记 RX Group: Initial Settings Example 中描述的函数来进行时钟设置。IRQ 检测设置包括设置 IRQ1 和 IRQ3 的检测级别,将 IRQ1 设置为中断优先级 1,将 IRQ3 设置为中断优先级 2。

SW1 输入检测
——当按下 SW1 时(P31 上的低电平输入),接收到 IRQ1 中断请求

IRQ1 中断
IRQ1 中断处理程序打开 LED0。只要 SW1 被按住,IRQ1 中断处理程序内的处理循环就会循环。当 SW1 被释放时,LED0 关闭,IRQ1 中断处理程序结束。

SW2 输入检测
– 与 SW1 输入检测方式类似,当按下 SW2 时(P33 上的低电平输入),接收到 IRQ3 中断请求。

IRQ3中断

IRQ3 中断
——IRQ3 中断处理程序使 LED1 亮起。只要 SW2 被按下,IRQ3 中断处理程序内的处理循环就会循环。当 SW2 被释放时,LED1 关闭,IRQ3 中断处理程序结束。

微控制器

显示多个中断发生的时序图

要产生多个中断,请在按住 SW1 的同时按下 SW2。注意在按住SW2的同时按下SW1不会产生多个中断,因为IRQ1的中断优先级低于IRQ3的中断优先级。

编辑:hfy

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

全部0条评论

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

×
20
完善资料,
赚取积分