stm32 中斷非常強大,每個外設都可以產生中斷,
核心水平上搭載了乙個異常響應系統, 分為:系統異常和外部中斷。
nvic相當於乙個中斷總開關,總開關開啟,相應的中斷才能使用。
在講如何配置中斷優先順序之前,我們需要先了解下 nvic。 nvic 是巢狀向量中斷控制
器,控制著整個晶元中斷相關的功能,是核心裡面的乙個外設。
** 17
-1 nvic 結構體定義,來自韌體庫標頭檔案: core_cm3.h
1typedef
struct
nvic_type;
在配置中斷的時候我們一般只用 iser、 icer 和 ip 這三個暫存器, iser 用來使能中
斷, icer 用來失能(清除)中斷, ip 用來設定中斷優先順序。
在 nvic 有乙個專門的暫存器:中斷優先順序暫存器 nvic_iprx, 用來配置外部中斷的
優先順序, ipr 寬度為 8bit。在f103 中,只使用了高 4bit。
響應,搶占優先順序高的就會 搶占 搶占優先順序低的優先得到執行,如果搶占優先順序相同,就
比較子優先順序。如果搶占優先順序和子優先順序都相同的話,就比較他們的硬體中斷編號,編
號越小,優先順序越高。
初始化用來產生中斷的 gpio;
初始化 exti;
配置 nvic;
編寫中斷服務函式;
/*********************exit.c檔案************************/
#include
"exit.h"
void
nvic_cofig()
void
exit_config()
STM32外部中斷
一 基本概念 arm coetex m3核心共支援256個中斷,其中16個內部中斷,240個外部中斷和可程式設計的256級中斷優先順序的設定。stm32目前支援的中斷共84個 16個內部 68個外部 還有16級可程式設計的中斷優先順序的設定,僅使用中斷優先順序設定8bit中的高4位。stm32可支援...
stm32外部中斷
外部中斷程式配置流程 rcc 時鐘配置 void rcc configuration void 時鐘配置 開啟各路時鐘 rcc apb2periphclockcmd rcc apb2periph usart1 rcc apb2periph gpioa rcc apb2periph afio,enab...
stm32外部中斷
好久沒玩微控制器了,最近閒著沒事想拿出來玩玩,沒想到乙個stm32的外部中斷讓我花費了兩天時間,好的的挫折啊!終於下午除錯成功,下面來說一下我的除錯之路吧!硬體就是兩個按鍵,四個led,led事共陽極接法,按鍵一端接地一端接gpio口,通過按鍵中斷控制led。程式寫好以後發現始終無法進入中斷,開始查...