×
单片机 > 单片机程序设计 > 详情

8.STM32之EXIT外部中断

发布时间:2020-06-01 发布时间:
|

每个IO口都可以作为一个外部中断输入,但只有7条外部中断线。


流程:


1.时钟使能


2.GPIO配置


3.IO口和中断线的映射


4.NVIC设置,使能


5.中断服务函数的处理


6.进入中断后即可清除中断标志位


#include

#include

#include

#include

#include

 

void EXTI_Con(){

RCC_APB2PeriphResetCmd(RCC_APB2Periph_EXTIT,ENABLE);

Key_Init();

SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE,EXTI_PinSource4);

EXTI_InitTypeDef EXTI_Struct;

NVIC_InitTypeDef Nvic1;

EXTI_Struct.EXTI_Line=EXTI_Line4;

EXTI_Struct.EXTI_Mode=EXTI_Mode_Interrupt;

EXTI_Struct.EXTI_Trigger=EXTI_Trigger_Falling;

EXTI_Struct.EXTI_LineCmd=ENABLE;

EXTI_Init(&EXTI_Struct);

Nvic1.NVIC_IRQChannel=EXTI4_IRQn;

Nvic1.NVIC_IRQChannelPreemptionPriority=1;

Nvic1.NVIC_IRQChannelSubPriority=1;

Nvic1.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&Nvic1);

}

 

void EXTI4_IRQHandler(void){

Delay_ms(10);

if(Key_Scan()){

Led_Init();

}

EXTI_ClearITPendingBit(EXTI_Line4);

//EXTI_ClearFlag(EXTI_Line4);

}


关键字:STM32  EXIT  外部中断 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32中断向量表的位置.重定向