STM32F103學(xué)習(xí)筆記五外部中斷_第1頁(yè)
STM32F103學(xué)習(xí)筆記五外部中斷_第2頁(yè)
STM32F103學(xué)習(xí)筆記五外部中斷_第3頁(yè)
STM32F103學(xué)習(xí)筆記五外部中斷_第4頁(yè)
STM32F103學(xué)習(xí)筆記五外部中斷_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、STM32F103學(xué)習(xí)筆記(五)外部中斷首先是外部中斷基本的概念:STM32的每個(gè)IO都可以作為外部中斷的中斷輸入口,這點(diǎn)也是STM32的強(qiáng)大之處。STM32F103的中斷控制器支持19個(gè)外部中斷/事件請(qǐng)求。每個(gè)中斷設(shè)有狀態(tài)位,每個(gè)中斷/事件都有獨(dú)立的觸發(fā)和屏蔽設(shè)置。STM32F103的19個(gè)外部中斷為:線015:對(duì)應(yīng)外部IO口的輸入中斷。線16:連接到PVD輸由。線17:連接到RTC鬧鐘事件。線18:連接到USB喚醒事件。線1618還沒(méi)有學(xué)到只看了線015每個(gè)中斷線對(duì)應(yīng)著7個(gè)GPIO口,形成映射關(guān)系,以線0為例:它對(duì)應(yīng)了GPIOA.0、GPIOB.0、GPIOC.0、GPIOD.0、GPIO

2、E.0、GPIOF.0、GPIOG.0。而中斷線每次只能連接到1個(gè)IO口上,這樣就需要通過(guò)配置來(lái)決定對(duì)應(yīng)的中斷線配置到哪個(gè)GPIO上了。下面我們看看GPIO跟中斷線的映射關(guān)系圖:根據(jù)映射關(guān)系,就開(kāi)始配置按鍵對(duì)應(yīng)GPIO口和中斷的映射了:csharpviewplaincopy<prename=codeclass=csharp><prename=codeclass=html>voidEXTIX_Init(void)EXTI_InitTypeDefEXTI_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;KEY_Init();

3、/按鍵端口初始化RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);/使能復(fù)用功能時(shí)鐘/GPIOE.2中斷線以及中斷初始化配置下降沿觸發(fā)GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource2);EXTI_InitStructure.EXTI_Line=EXTI_Line2;/KEY2EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;EX

4、TI_InitStructure.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStructure);根據(jù)EXTI_InitStruct中指定的參數(shù)初始化外設(shè)EXTI寄存器/GPIOE.3中斷線以及中斷初始化配置下降沿觸發(fā)KEY1GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource3);EXTI_InitStructure.EXTI_Line=EXTI_Line3;EXTI_Init(&EXTI_InitStructure);根據(jù)EXTI_InitStruct中指定的參數(shù)初始化外設(shè)EXT

5、I寄存器/GPIOE.4中斷線以及中斷初始化配置下降沿觸發(fā)/KEY0GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource4);EXTI_InitStructure.EXTI_Line=EXTI_Line4;EXTI_Init(&EXTI_InitStructure);根據(jù)EXTI_InitStruct中指定的參數(shù)初始化外設(shè)EXTI寄存器/GPIOA,0中斷線以及中斷初始化配置上升沿觸發(fā)PA0WK_UPGPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0);EXTI_In

6、itStructure.EXTI_Line=EXTI_Line0;EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;EXTI_Init(&EXTI_InitStructure);根據(jù)EXTI_InitStruct中指定的參數(shù)初始化外設(shè)EXTI寄存器NVIC_InitStructure.NVIC_IRQChannel=EXTI0_IRQn;使能按鍵WK_UP所在的外部中斷通道NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x02;搶占優(yōu)先級(jí)2,NVIC_InitStructu

7、re.NVIC_IRQChannelSubPriority=0x03;子優(yōu)先級(jí)3NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;使能外部中斷通道NVIC_Init(&NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel=EXTI2_IRQn;使能按鍵KEY2所在的外部中斷通道NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x02;搶占優(yōu)先級(jí)2,NVIC_InitStructure.NVIC_IRQChannelSubPriorit

8、y=0x02;子優(yōu)先級(jí)2NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;使能外部中斷通道NVIC_Init(&NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel=EXTI3_IRQn;使能按鍵KEY1所在的外部中斷通道NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x02;搶占優(yōu)先級(jí)2NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x01;子優(yōu)先級(jí)1NVIC_InitStructur

9、e.NVIC_IRQChannelCmd=ENABLE;使能外部中斷通道NVIC_Init(&NVIC_InitStructure);根據(jù)NVIC_InitStruct中指定的參數(shù)初始化外設(shè)NVIC寄存器NVIC_InitStructure.NVIC_IRQChannel=EXTI4_IRQn;使能按鍵KEY0所在的外部中斷通道NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x02;搶占優(yōu)先級(jí)2NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x00;子優(yōu)先級(jí)0NVIC_InitSt

10、ructure.NVIC_IRQChannelCmd=ENABLE;使能外部中斷通道NVIC_Init(&NVIC_InitStructure);根據(jù)NVIC_InitStruct中指定的參數(shù)初始化外設(shè)NVIC寄存器外部中斷0服務(wù)程序voidEXTI0_IRQHandler(void)delay_ms(10);/消抖if(KEY3=1)/WK_UP按鍵BEEP=!BEEP;EXTI_ClearITPendingBit(EXTI_Line0);/清除LINE0上的中斷標(biāo)志位外部中斷2服務(wù)程序voidEXTI2_IRQHandler(void)delay_ms(10);消抖if(KEY2=0)按鍵KEY2LED0=!LED0;EXTI_ClearITPendingBit(EXTI_Line2);清除LINE2上的中斷標(biāo)志位外部中斷3服務(wù)程序voidEXTI3_IRQHandler(void)delay_ms(10);/消抖if(KEY1=0)按鍵KEY1LED1=!LED1;EXTI_ClearITPendingBit(EXTI_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論