01
單片機外部中斷簡介
所謂外部中斷,就是通過外部信號所引起的中斷,如單片機引腳上的電平變化(高電平、低電平)、邊沿變化(上升沿、下降沿)等。51單片機有5個中斷源,其中有兩個是外部中斷,分別為INT0和INT1,INT0被分配在P3.2引腳,INT1被分配在P3.2引腳,也即是說如果使用51單片機的外部中斷0,則必須將信號接在P3.2上,否則無效。
02
舉例說明什么是中斷
單片機在執行程序時有兩種方式:
查詢方式
中斷方式
所謂查詢方式就是單片機一遍一遍的掃描,查看所監視的目標有沒有發生變化,是一種主動式的監視方法,用一個成語可以很客觀的描述:守株待兔。
所謂中斷方式就是單片機不主動去監視目標,而是目標主動通知單片機狀態發生了變化,是一種被動式的監視方法,也可以用一個成語來形容:不速之客。
有一所學校的院墻破了一個洞,為了防止學生半夜跑出去上網,在墻修好之前,學校安排保安每天夜里守在那個洞的旁邊監視,這就是守株待兔。到了半夜保安很困想睡覺但是又害怕扣工資,怎么辦?這個保安很聰明就在洞口拉了一條繩子把繩子的另一端綁在自己的手腕上,只要有人想出去就會絆倒繩子從而驚醒睡覺的保安,這就是不速之客。這樣既不影響保安睡覺,又能捉住半夜出去上網的學生,還能避免保安被扣工資,由此可見通過使用中斷大大節省了保安的精力。這就是使用中斷的好處。
03
STM32單片機外部中斷簡介
STM32單片機的每一個GPIO都可以被設置為外部中斷輸入,根據引腳序號的不同可以將外部中斷分為不同的組,分別為PA0-PG0為EXTI0組,以此類推,PA15-PG15為EXTI15組,共16組,并且每一組中同一個時刻只能有一個中斷源工作,所以,STM32單片機最多允許同時有16個外部中斷。外部中斷的分配方式如下表所示:
STM32單片機的外部中斷觸發方式為邊沿觸發,即上升沿觸發和下降沿觸發。
04
STM32外部中斷配置步驟
STM32單片機在配置外部中斷時可以按照以下步驟來操作:
1.初始化GPIO為輸入;
2.開啟復用時鐘,設置映射關系;
3.設置觸發條件;
4.分配中斷向量控制器,并使能;
5.編寫中斷服務函數;
05
STM32外部中斷相關的寄存器
1.初始化GPIO時要用到如下寄存器:
APB2ENR:開啟GPIO時鐘和復用時鐘;
CRH:端口配置高寄存器;
CRL:端口配置低寄存器;
EXTICR[0]-EXTICR[3]:外部中斷配置寄存器
IMR:中斷屏蔽寄存器;
EMR:事件屏蔽寄存器;
FTSR:下降沿觸發選擇寄存器; RTSR:上升沿觸發選擇寄存器
ISER[0]-ISER[3]:NVIC中斷向量控制器;
來源 | 玩轉嵌入式
作者 | 劉小舒
原文標題:STM32如何配置外部中斷?
文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。
-
單片機
+關注
關注
6061文章
44913瀏覽量
646539 -
STM32
+關注
關注
2289文章
11011瀏覽量
362195
原文標題:STM32如何配置外部中斷?
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
STM32使用外部中斷觸發ADC采樣DMA搬運出現兩次進入DMA中斷的異常情況,怎么解決?
串口中斷是內部中斷還是外部中斷,串口中斷是怎么觸發的
電子焊接的常見問題及解決方法
gitee 常見問題及解決方法
stm32 GPIO中斷配置教程
STM32CUBEMX(11)--外部中斷(EXTI)
初學STM32的常見誤區與解決方法

評論