新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32開發(fā)板學(xué)習(xí)筆記--外部中斷

STM32開發(fā)板學(xué)習(xí)筆記--外部中斷

作者: 時間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
1、先去掉“stm32f10x_conf.h”中TIM前的注釋符號

2、在NVIC_Configuration();中加入
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);// 選擇使用優(yōu)先級分組第1組
//使能EXTI3中斷
NVIC_InitStructure.NVIC_IRQChannel=EXTI3_IRQChannel;
//設(shè)置通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; //指定搶占式優(yōu)先級別0
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
// 指定響應(yīng)優(yōu)先級別0
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; //通道全能
NVIC_Init(&NVIC_InitStructure);

3、初始化PA0時加入
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource3);//選擇 GPIOA_PIN3管腳用作外部中斷線路

4, 外部中斷函數(shù)
void EXTI_Configuration(){
EXTI_InitTypeDef EXTI_InitStructure;
EXTI_InitStructure.EXTI_Line = EXTI_Line3;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
}

5, 在“stm32f10x_it.c” 的 void EXTI3_IRQHandler(void) 中加入中斷處理程序

void EXTI3_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line3) != RESET)

{

GPIO_SetBits(GPIOA, GPIO_Pin_1);//點亮PA1的發(fā)光二極管
EXTI_ClearITPendingBit(EXTI_Line3);
//清除EXTI3的中斷標(biāo)志位

}


}


評論


技術(shù)專區(qū)

關(guān)閉