STM32配置外部中斷

2021-10-14 11:04:28 字數 1045 閱讀 3006

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。程式寫好以後發現始終無法進入中斷,開始查...