STM32外部中斷配置方法講解
01 單片機(jī)外部中斷簡(jiǎn)介 所謂外部中斷,就是通過外部信號(hào)所引起的中斷,如單片機(jī)引腳上的電平變化(高電平、低電平)、邊沿變化(上升沿、下降沿)等。51單片機(jī)有5個(gè)中斷源,其中有兩個(gè)是外部中斷,分別為INT0和INT1,INT0被分配在P3.2引腳,INT1被分配在P3.2引腳,也即是說如果使用51單片機(jī)的外部中斷0,則必須將信號(hào)接在P3.2上,否則無效。
02 舉例說明什么是中斷 單片機(jī)在執(zhí)行程序時(shí)有兩種方式: 03 STM32單片機(jī)外部中斷簡(jiǎn)介 STM32單片機(jī)的每一個(gè)GPIO都可以被設(shè)置為外部中斷輸入,根據(jù)引腳序號(hào)的不同可以將外部中斷分為不同的組,分別為PA0-PG0為EXTI0組,以此類推,PA15-PG15為EXTI15組,共16組,并且每一組中同一個(gè)時(shí)刻只能有一個(gè)中斷源工作,所以,STM32單片機(jī)最多允許同時(shí)有16個(gè)外部中斷。外部中斷的分配方式如下表所示: 04 STM32外部中斷配置步驟 STM32單片機(jī)在配置外部中斷時(shí)可以按照以下步驟來操作: 05 STM32外部中斷相關(guān)的寄存器 1.初始化GPIO時(shí)要用到如下寄存器: RTSR:上升沿觸發(fā)選擇寄存器
查詢方式
中斷方式
所謂查詢方式就是單片機(jī)一遍一遍的掃描,查看所監(jiān)視的目標(biāo)有沒有發(fā)生變化,是一種主動(dòng)式的監(jiān)視方法,用一個(gè)成語可以很客觀的描述:守株待兔。
所謂中斷方式就是單片機(jī)不主動(dòng)去監(jiān)視目標(biāo),而是目標(biāo)主動(dòng)通知單片機(jī)狀態(tài)發(fā)生了變化,是一種被動(dòng)式的監(jiān)視方法,也可以用一個(gè)成語來形容:不速之客。
有一所學(xué)校的院墻破了一個(gè)洞,為了防止學(xué)生半夜跑出去上網(wǎng),在墻修好之前,學(xué)校安排保安每天夜里守在那個(gè)洞的旁邊監(jiān)視,這就是守株待兔。到了半夜保安很困想睡覺但是又害怕扣工資,怎么辦?這個(gè)保安很聰明就在洞口拉了一條繩子把繩子的另一端綁在自己的手腕上,只要有人想出去就會(huì)絆倒繩子從而驚醒睡覺的保安,這就是不速之客。這樣既不影響保安睡覺,又能捉住半夜出去上網(wǎng)的學(xué)生,還能避免保安被扣工資,由此可見通過使用中斷大大節(jié)省了保安的精力。這就是使用中斷的好處。
1.初始化GPIO為輸入;
2.開啟復(fù)用時(shí)鐘,設(shè)置映射關(guān)系;
3.設(shè)置觸發(fā)條件;
4.分配中斷向量控制器,并使能;
5.編寫中斷服務(wù)函數(shù);
APB2ENR:開啟GPIO時(shí)鐘和復(fù)用時(shí)鐘;
CRH:端口配置高寄存器;
CRL:端口配置低寄存器;
EXTICR[0]-EXTICR[3]:外部中斷配置寄存器
IMR:中斷屏蔽寄存器;
EMR:事件屏蔽寄存器;
FTSR:下降沿觸發(fā)選擇寄存器;
ISER[0]-ISER[3]:NVIC中斷向量控制器;