1
摘要
本篇应用笔记主要介绍 HC32F460 系列芯片的中断控制器(Interrupt Controller, INTC)模块,并通过展示外部管脚中断、软件中断、NMI 中断样例代码简要说明如何使用 INTC 模块。
2
INTC 简介
HC32F460 系列的中断控制器(INTC)模块丰富的功能,其中包括了对不可屏蔽中断
(NMI)、外部管脚中断(EXINT)、软件中断(SWI)、中断、事件使能的配置;外设模块中断源自由设置到除系统中断向量入口的任意入口。
INTC 主要特性:
外设中断向量入口中断源可配置
16 个可编程中断优先级
多种可选择的 NMI 中断源
16 个外部管脚中断
32 个软件中断
系统休眠模式唤醒源配置
系统停止模式唤醒源配置
支持 WFI、WFE后的唤醒
3
HC32F460 系列的 INTC
3.1
NMI 不可屏蔽中断
不可屏蔽中断(NMI)具有优先级,HC32F460 系列的 NMI 可选择多个中断事件请求,应用程序可通过查询 NMIFR 寄存器来确定 NMI 中断的来源,并通过 NMICFR 寄存器来清除对应标志位。
3.1.1 NMI 主要特点
可选择多个中断请求作为 NMI 信号来源:
- NMI 管脚中断
- 外部高速 XTAL 振荡停止中断
- 外部低速 XTAL32 振荡停止中断
- WDT 下溢、刷新错误中断
- SWDT 下溢、刷新错误中断
- 低电压监测 PVD1 中断
- 低电压监测 PVD2 中断
- SRAM 奇偶校验错误中断
- SRAM ECC 校验错误中断
- MPU 总线错误中断
NMI 管脚中断数字滤波功能及滤波器时钟可设
NMI 管脚中断上升沿、下降沿触发
3.1.3 NMI 配置流程说明
下面流程图以 NMI 管脚中断为例,给出了配置流程。
至此,NMI 管脚中断的相关配置结束,如需使用 NMI 管脚中断功能,还需要配置中断选择寄存器以及 NVIC 部分,这部分配置说明将在中断源选择章节进行详细讲解。
3.2 外部管脚中断
HC32F460 系列有 16 个外部管脚中断事件,可通过寄存器配置每个通道的属性,包括数字滤波功能、触发电平选择。
3.3
软件中断
HC32F460 系列有 32 个软件中断请求,且与中断向量 0~31 一一对应,可通过软件置位寄存器INT_SWIER 的对应 bit,来产生一次软件中断事件请求。
3.4
中断源选择
HC32F460 系列一共有 16 个系统中断向量入口和 144 个外设中断向量入口,用户可通过中断源选择寄存器,将芯片的 239 个外设的中断请求配置到 144 个中断向量入口,灵活管理中断服务程序。
3.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 号中断向量。如将同一中断事情请求序号同时设置到多个中断选择寄存器,当此中断请求来临时,若设置相同中断优先级,程序将根据中断向量号编号,由小至大依次响应,直至执行完所有已配置的中断选择寄存器。
4
样例代码
4.1
代码介绍
用户可根据上述的工作流程编写自己的代码来学习验证该模块,也可以直接通过华大半导体的网站下载到设备驱动库(Device Driver Library, DDL)的样例代码并使用其中的 INTC 的样例进行验证。
4.2 代码运行
用户可以通过华大半导体的网站下载到 HC32F460 的 DDL 的样例代码(exint_nmi_swi),并配合评估用板(EV-HC32F460-LQFP100-050-V1.1)运行相关代码学习使用 INTC 模块。
5
总结
以上章节简要介绍了 HC32F460 系列的 INTC,说明了 INTC 模块的寄存器及部分操作流程,并且演示了如何使用 INTC 样例代码,在实际开发中用户可以根据自己的需要配置和使用 INTC 模块。
哔哥哔特电子元器件产品库会员沈阳芯硕科技有限公司为您提供华大HC32F460 系列的中断控制器 INTC详细产品信息介绍,如华大HC32F460 系列的中断控制器 INTC详细参数、批发价格、图片、质量认证等方面。在联系该企业时,请说明是在哔哥哔特电子元器件产品库看到的。