2023年STM32F4學(xué)習(xí)筆記之EXTI中斷使用固件庫(kù)_第1頁(yè)
2023年STM32F4學(xué)習(xí)筆記之EXTI中斷使用固件庫(kù)_第2頁(yè)
2023年STM32F4學(xué)習(xí)筆記之EXTI中斷使用固件庫(kù)_第3頁(yè)
2023年STM32F4學(xué)習(xí)筆記之EXTI中斷使用固件庫(kù)_第4頁(yè)
2023年STM32F4學(xué)習(xí)筆記之EXTI中斷使用固件庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1.使能SYSSCFG和相應(yīng)GPIO時(shí)鐘?RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx,ENABLE);

2.配置相應(yīng)GPIO為輸入模式?GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;

GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;?GPIO_InitStructure.GPIO_Pin=GPIO_Pin_x;?GPIO_Init(GPIOx(chóng),&GPIO_InitStructure);??3.配置相應(yīng)GPIO為EXIT線

SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOx,EXTI_PinSourcex);?4.配置EXIT的工作參數(shù)?EXTI_InitStructure.EXTI_Line=EXTI_Linex;

EXTI_InitStructure.EXTI_Mode=EXTI_M(jìn)ode_Interrupt;//中斷,EXTI_Mode_Event為事件

EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;//下降沿,EXTI_Trigger_Rising為上升沿,EXTI_Trigger_Rising_Falling雙跳邊沿

EXTI_InitStructure.EXTI_LineCmd=ENABLE;?EXTI_Init(&EXTI_InitStructure);?

5.配置NVIC中的EXTI中斷線?NVIC_InitStructure.NVIC_IRQChannel=EXTIx_IRQn;?NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=xx;

NVIC_InitStructure.NVIC_IRQChannelSubPriority=xx;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStructure);?????程序舉例:??intmain(void)?{?GPIO_InitTypeDefGPIO_InitStructure;?EXTI_InitTypeDefEXTI_InitStructure;

NVIC_InitTypeDefNVIC_InitStructure;

RCC_AHB1P(pán)eriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);?RCC_AHB1PeriphClockCmd(RCC_AHB1P(pán)eriph_GPIOF,ENABLE);?RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_8;//led?GPIO_InitStructure.GPIO_Mode=GPIO_M(jìn)ode_OUT;

GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;?GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;?GPIO_Init(GPIOF,&GPIO_InitStructure);?

?GPIO_InitStructure.GPIO_Mode=GPIO_M(jìn)ode_IN;?GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_5;?GPIO_Init(GPIOA,&GPIO_InitStructure);?GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;?GPIO_Init(GPIOC,&GPIO_InitStructure);?GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;?GPIO_Init(GPIOF,&GPIO_InitStructure);?

SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource0);?EXTI_InitStructure.EXTI_Line=EXTI_Line0;?EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;?EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;

EXTI_InitStructure.EXTI_LineCmd=ENABLE;

EXTI_Init(&EXTI_InitStructure);

??NVIC_InitStructure.NVIC_IRQChannel=EXTI0_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x0F;//優(yōu)先級(jí)最低

NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x0F;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStructure);?

?SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource5);?EXTI_InitStructure.EXTI_Line=EXTI_Line5;?EXTI_InitStructure.EXTI_M(jìn)ode=EXTI_Mode_Interrupt;

EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;

EXTI_InitStructure.EXTI_LineCmd=ENABLE;?EXTI_Init(&EXTI_InitStructure);

NVIC_InitStructure.NVIC_IRQChannel=EXTI9_5_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x0F;//優(yōu)先級(jí)最低?NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x0F;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;?NVIC_Init(&NVIC_InitStructure);

?SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOF,EXTI_PinSource11);

EXTI_InitStructure.EXTI_Line=EXTI_Line11;?EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;?EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;?EXTI_InitStructure.EXTI_LineCmd=ENABLE;?EXTI_Init(&EXTI_InitStructure);?

?NVIC_InitStructure.NVIC_IRQChannel=EXTI15_10_IRQn;?NVIC_InitStructure.NVIC_IRQChannelPree(cuò)mptionPriority=0x0F;//優(yōu)先級(jí)最低?NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x0F;?NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStructure);

?

SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC,EXTI_PinSource13);

EXTI_InitStructure.EXTI_Line=EXTI_Line13;?EXTI_InitStructure.EXTI_M(jìn)ode=EXTI_Mode_Interrupt;?EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;?EXTI_InitStructure.EXTI_LineCmd=ENABLE;

EXTI_Init(&EXTI_InitStructure);

?NVIC_InitStructure.NVIC_IRQChannel=EXTI15_10_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPree(cuò)mptionPriority=0x0F;//優(yōu)先級(jí)最低

NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x0F;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;?NVIC_Init(&NVIC_InitStructure);?

GPIO_SetBits(GPIOF,GPIO_Pin_7|GPIO_Pin_9);

GPIO_SetBits(GPIOF,GPIO_Pin_8|GPIO_Pin_10);?

while(1)

{

}

}

??

?voidEXTI0_IRQHandler(void)?{

if(EXTI_GetITStat(yī)us(EXTI_Line0)!=RESET)

{

/*ToggleLED1*/

GPIO_ResetBits(GPIOF,GPIO_Pin_8);

/*CleartheEXTIline0pendingbit*/

EXTI_ClearITPendingBit(EXTI_Line0);

}?}

?voidEXTI9_5_IRQHandler(void)?{

if(EXTI_GetITStatus(EXTI_Line5)!=RESET)?{

/*ToggleLED1*/

GPIO_SetBits(GPIOF,GPIO_Pin_8);

/*CleartheEXTIline0pendingbit*/

EXTI_ClearITPendingBit(EXTI_Line5);?}

}

?voidEXTI15_10_IRQHandler(void)

{

if(EXTI_GetITStatus(EXTI_Line11)!=RESET)?{?/*ToggleLED2*/

GPIO_ResetBits(GPIOF,GPIO_Pin_

溫馨提示

  • 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)論