5.stm32 exti外設(shè)(外部中斷)(區(qū)別于一般外設(shè))

5.stm32 exti外設(shè)(外部中斷)(區(qū)別于一般外設(shè))

ID:11808486

大小:809.86 KB

頁數(shù):16頁

時間:2018-07-14

5.stm32 exti外設(shè)(外部中斷)(區(qū)別于一般外設(shè))_第1頁
5.stm32 exti外設(shè)(外部中斷)(區(qū)別于一般外設(shè))_第2頁
5.stm32 exti外設(shè)(外部中斷)(區(qū)別于一般外設(shè))_第3頁
5.stm32 exti外設(shè)(外部中斷)(區(qū)別于一般外設(shè))_第4頁
5.stm32 exti外設(shè)(外部中斷)(區(qū)別于一般外設(shè))_第5頁
資源描述:

《5.stm32 exti外設(shè)(外部中斷)(區(qū)別于一般外設(shè))》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、EXTI外設(shè)STM32有76個中斷,包括16個內(nèi)核中斷和60個可屏蔽外部中斷,具有16級可編程的中斷優(yōu)先級。根據(jù)中斷觸發(fā)源的不同,外部中斷也是可以分為:l內(nèi)置外設(shè)的觸發(fā)。此時,對應(yīng)的IO口(若為輸出)必須設(shè)置為復(fù)用功能,并使能外設(shè)的時鐘。在中斷向量表中有53個中斷通道與之對應(yīng)(除下述的7個)。l如下圖所示,在外設(shè)方框中有EXTI外設(shè)部分,說明了IO口也可以作為中斷的觸發(fā)源,用也檢測外部輸入信號的邊沿變化,在中斷向量表中有7個中斷通道與之對應(yīng)分別是:EXTI15_10_IRQChannel;EXTI9_5_IRQChannel;EXTI4_IRQCh

2、annel;EXTI3_IRQChannel;EXTI2_IRQChannel;EXTI1_IRQChannel;EXTI0_IRQChannel。注意:1.我們知道,當IO口作為通用GPIO時,只能輸入或者輸出高低電平;若IO口要作為外部中斷源,則必須配置為復(fù)用AFIO(雖然IO口作為輸入時,沒有復(fù)用一說,但是這里說的配置為復(fù)用AFIO是指使能AFIO的時鐘)。2.又見下圖,雖然EXTI外設(shè)和AFIO外設(shè)都是掛在APB2總線上,但是在使用EXTI外設(shè)時只需要使能的時鐘時AFIO時鐘。(?。?!千萬別忘記啟動RCC_APB2Periph_AFIO??!

3、!,否則管腳只能做普通高低電平來用。)STM32的EXTI外設(shè)控制器寄存器支持19個外部中斷/事件請求。每個中斷設(shè)有狀態(tài)位,每個中斷/事件都有獨立的觸發(fā)和屏蔽設(shè)置(IMR和EMR)。STM32的19個外部中斷對應(yīng)著19路中斷線,分別是EXTI_Line0-EXTI_Line18:線0~15:對應(yīng)外部IO口的輸入中斷。線16:連接到PVD輸出。PVD(ProgrammableVoltageDetector),即可編程電壓監(jiān)測器。應(yīng)用于STM32ARM芯片中,作用是監(jiān)視供電電壓,在供電電壓下降到給定的閥值以下時,產(chǎn)生一個中斷,通知軟件做緊急處理。當供電

4、電壓又恢復(fù)到給定的閥值以上時,也會產(chǎn)生一個中斷,通知軟件供電恢復(fù)。線17:連接到RTC鬧鐘事件。RTC是多種名詞的縮寫,如:實時時鐘(Real-TimeClock)線18:連接到USB喚醒事件。注意:1.線0~15是與EXTI外設(shè)對應(yīng)的,每條中斷線對應(yīng)7個IO口,如EXTI_line0對應(yīng)PA0,PB0,PC0,PD0,PE0,PF0,PG0(一般只有PA0~PE0)。由于一條中斷線對應(yīng)著多個IO口,所以在使用中斷線之前要進行中斷線配置。如信號由PB9輸入檢測,則需要進行如下設(shè)置:/*ConnectEXTILine9toPB.09*/GPIO_EX

5、TILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource9);//確定外部輸入信號的端口(實際上這句話是設(shè)置AFIO_CRx)EXTI_InitStructure.EXTI_Line=EXTI_Line9;//設(shè)置中斷線line9,那么意味著對應(yīng)的中斷通道則是EXTI9_5_IRQChannel1.每條中斷線在任意一個時刻,只可以被一個IO口占用,可以時分復(fù)用。2.雖然剩下的線(16~18)是跟其他外設(shè)相關(guān),但是在使用前也是需要配置中斷線的。3.中斷觸發(fā)方式:STM32的外部中斷是通過邊沿來觸發(fā)(RTSR和F

6、TSR)的,不支持電平觸發(fā)。?。外部中斷寄存器EXTICR寄存器組,總共有4個,因為編譯器的寄存器組都是從0開始編號的,所以EXTICR[0]~EXTICR[3],對應(yīng)《STM32參考手冊》里的EXTICR1~EXTICR4。每個EXTICR只用了其低16位,這些為均由軟件讀寫。EXTICR[0]~EXTICR[3]的分配如下:EXTI寄存器的結(jié)構(gòu)體:typedefstruct{vu32IMR;vu32EMR;vu32RTSR;vu32FTSR;vu32SWIER;vu32PR;}EXTI_TypeDef;IMR:中斷屏蔽寄存器這是一個32寄存器。

7、但是只有前19位有效(對應(yīng)19條線)。當位x設(shè)置為1時,則開啟這個線上的中斷,否則關(guān)閉該線上的中斷。EMR:事件屏蔽寄存器同IMR,只有前19位有效。只是該寄存器是針對事件的屏蔽和開啟。RTSR:上升沿觸發(fā)選擇寄存器該寄存器同IMR,也是一個32為的寄存器,只有前19位有效。位x對應(yīng)線x上的上升沿觸發(fā),如果設(shè)置為1,則是允許上升沿觸發(fā)中斷/事件。否則,不允許。FTSR:下降沿觸發(fā)選擇寄存器同PTSR,只有前19位有效,不過這個寄存器是設(shè)置下降沿的。下降沿和上升沿可以被同時設(shè)置,這樣就變成了任意電平觸發(fā)了。SWIER:軟件中斷事件寄存器(基本不用)1

8、.由下圖可知,未使能x線的IMR和EMR位時,且當SWIERx位為0時,通過向該位寫入1(即編號3的或門一個腳輸入1),將

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。