1
摘要
本篇應用筆記主要介紹 HC32F460 系列芯片的中斷控制器(Interrupt Controller, INTC)模塊,并通過展示外部管腳中斷、軟件中斷、NMI 中斷樣例代碼簡要說明如何使用 INTC 模塊。
2
INTC 簡介
HC32F460 系列的中斷控制器(INTC)模塊豐富的功能,其中包括了對不可屏蔽中斷
(NMI)、外部管腳中斷(EXINT)、軟件中斷(SWI)、中斷、事件使能的配置;外設模塊中斷源自由設置到除系統(tǒng)中斷向量入口的任意入口。
INTC 主要特性:
Ÿ 外設中斷向量入口中斷源可配置
Ÿ 16 個可編程中斷優(yōu)先級
Ÿ 多種可選擇的 NMI 中斷源
Ÿ 16 個外部管腳中斷
Ÿ 32 個軟件中斷
Ÿ 系統(tǒng)休眠模式喚醒源配置
Ÿ 系統(tǒng)停止模式喚醒源配置
Ÿ 支持 WFI、WFE后的喚醒
3
HC32F460 系列的 INTC
3.1
NMI 不可屏蔽中斷
不可屏蔽中斷(NMI)具有優(yōu)先級,HC32F460 系列的 NMI 可選擇多個中斷事件請求,應用程序可通過查詢 NMIFR 寄存器來確定 NMI 中斷的來源,并通過 NMICFR 寄存器來清除對應標志位。
3.1.1 NMI 主要特點
Ÿ 可選擇多個中斷請求作為 NMI 信號來源:
- NMI 管腳中斷
- 外部高速 XTAL 振蕩停止中斷
- 外部低速 XTAL32 振蕩停止中斷
- WDT 下溢、刷新錯誤中斷
- SWDT 下溢、刷新錯誤中斷
- 低電壓監(jiān)測 PVD1 中斷
- 低電壓監(jiān)測 PVD2 中斷
- SRAM 奇偶校驗錯誤中斷
- SRAM ECC 校驗錯誤中斷
- MPU 總線錯誤中斷
Ÿ NMI 管腳中斷數(shù)字濾波功能及濾波器時鐘可設
Ÿ NMI 管腳中斷上升沿、下降沿觸發(fā)
3.2 外部管腳中斷
HC32F460 系列有 16 個外部管腳中斷事件,可通過寄存器配置每個通道的屬性,包括數(shù)字濾波功能、觸發(fā)電平選擇。
3.3
軟件中斷
HC32F460 系列有 32 個軟件中斷請求,且與中斷向量 0~31 一一對應,可通過軟件置位寄存器INT_SWIER 的對應 bit,來產(chǎn)生一次軟件中斷事件請求。
3.4
中斷源選擇
HC32F460 系列一共有 16 個系統(tǒng)中斷向量入口和 144 個外設中斷向量入口,用戶可通過中斷源選擇寄存器,將芯片的 239 個外設的中斷請求配置到 144 個中斷向量入口,靈活管理中斷服務程序。
4
樣例代碼
4.1
代碼介紹
用戶可根據(jù)上述的工作流程編寫自己的代碼來學習驗證該模塊,也可以直接通過華大半導體的網(wǎng)站獲得到設備驅(qū)動庫(Device Driver Library, DDL)的樣例代碼并使用其中的 INTC 的樣例進行驗證。
4.2 代碼運行
用戶可以通過華大半導體的網(wǎng)站獲得到 HC32F460 的 DDL 的樣例代碼(exint_nmi_swi),并配合評估用板(EV-HC32F460-LQFP100-050-V1.1)運行相關(guān)代碼學習使用 INTC 模塊。
5
總結(jié)
以上章節(jié)簡要介紹了 HC32F460 系列的 INTC,說明了 INTC 模塊的寄存器及部分操作流程,并且演示了如何使用 INTC 樣例代碼,在實際開發(fā)中用戶可以根據(jù)自己的需要配置和使用 INTC 模塊。