HC32F460 系列的中断控制器 INTC
目录
HC32F460 系列的中断控制器 INTC
1. NMI 不可屏蔽中断
1.1 NMI 主要特点
1.2 NMI 寄存器说明
1.3 NMI 配置流程说明
?1.2 外部管脚中断
1.2.1? 外部管脚中断寄存器
?1.2.2 外部管脚中断配置流程说明
3. 软件中断
4. 中断源选择
4.1 中断选择寄存器
4.2 中断选择寄存器方法说明
HC32F460 系列的中断控制器(INTC)模块丰富的功能,其中包括了对不可屏蔽中断(NMI)、外部管脚中断(EXINT)、软件中断(SWI)、中断、事件使能的配置;外设模块中断源自由设置到除系统中断向量入口的任意入口。 INTC 主要特性: ? 外设中断向量入口中断源可配置 ? 16 个可编程中断优先级 ? 多种可选择的 NMI 中断源 ? 16 个外部管脚中断 ? 32 个软件中断 ? 系统休眠模式唤醒源配置 ? 系统停止模式唤醒源配置 ? 支持 WFI、 WFE 后的唤醒 ?
1. NMI 不可屏蔽中断
不可屏蔽中断(NMI)具有最高优先级, HC32F460 系列的 NMI 可选择多个中断事件请求,应用程序可通过查询 NMIFR 寄存器来确定 NMI 中断的来源,并通过 NMICFR 寄存器来清除对应标志位。
1.1 NMI 主要特点
? 可选择多个中断请求作为 NMI 信号来源: - NMI 管脚中断 - 外部高速 XTAL 振荡停止中断 - 外部低速 XTAL32 振荡停止中断 - WDT 下溢、刷新错误中断 - SWDT 下溢、刷新错误中断 - 低电压监测 PVD1 中断 - 低电压监测 PVD2 中断 - SRAM 奇偶校验错误中断 - SRAM ECC 校验错误中断 - MPU 总线错误中断 ? NMI 管脚中断数字滤波功能及滤波器时钟可设 ? NMI 管脚中断上升沿、下降沿触发
1.2 NMI 寄存器说明
1.3 NMI 配置流程说明
下面流程图以 NMI 管脚中断为例,给出了配置流程。 ?
?至此, NMI 管脚中断的相关配置结束,如需使用 NMI 管脚中断功能,还需要配置中断选择寄存器以及 NVIC 部分,这部分配置说明将在中断源选择章节进行详细讲解。
?1.2 外部管脚中断
HC32F460 系列有 16 个外部管脚中断事件,可通过寄存器配置每个通道的属性,包括数字滤波功能、触发电平选择。
1.2.1? 外部管脚中断寄存器
?1.2.2 外部管脚中断配置流程说明
?至此,外部管脚中断的相关配置结束,如需使用外部管脚中断功能,需要将对于的引脚配置为外部中断使能(请参考芯片手册第 11 章通用 IO 部分,设置 PCRxy.INTE = 1;);此外,请参考本文中断源选择章节配置中断选择寄存器以及 NVIC 部分。
3. 软件中断
HC32F460 系列有 32 个软件中断请求,且与中断向量 0~31 一一对应,可通过软件置位寄存器INT_SWIER 的对应 bit,来产生一次软件中断事件请求。 ?
4. 中断源选择
HC32F460 系列一共有 16 个系统中断向量入口和 144 个外设中断向量入口,用户可通过中断源选择寄存器,将芯片的 239 个外设的中断请求配置到 144 个中断向量入口,灵活管理中断服务程序。 ?
4.1 中断选择寄存器
4.2 中断选择寄存器方法说明
下面同样以外部管脚中断 8 为例,对中断选择寄存器进行说明。 配置中断选择寄存器前,先查询芯片手册的 12.3.2 中断事件请求序号章节,获取欲配置的中断事件序号,下图摘抄至手册此章节。
?从上表中可以看到,外部管脚中断 8 的序号为 8,可使用的中断选择寄存器为 INT_SEL0~31,INT_SEL32~37, INT_VSSEL128[8]。 如设置 INT_SEL10 = 8; 当外部管脚中断 8 产生时,程序将响应 8 号中断向量;如设置INT_VSSEL128[8] = 1; 程序将响应 128 号中断向量。如将同一中断事情请求序号同时设置到多个中断选择寄存器,当此中断请求来临时, 若设置相同中断优先级, 程序将根据中断向量号编号,由小至大依次响应,直至执行完所有已配置的中断选择寄存器。
UART对应的中断源选择:
ADC对应的中断源选择:
?TIMER对应的中断源选择:
?
来源:《HC32F460系列的中断控制器INTC Rev1.1》,《2. HC32F460系列数据手册Rev1.22》
|