新聞中心

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

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

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

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

3、初始化PA0時(shí)加入
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);//點(diǎn)亮PA1的發(fā)光二極管
EXTI_ClearITPendingBit(EXTI_Line3);
//清除EXTI3的中斷標(biāo)志位

}


}


評(píng)論


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

關(guān)閉