微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32 EXTI外部中断

STM32 EXTI外部中断

时间:11-13 来源:互联网 点击:
外部中断引脚配置初始化:以PA0为例说明
1、外设端口时钟打开
RCC->APB2ENR|=1<2; //使能PORTA时钟
2、端口设置为输入
GPIOA->CRL&=0XFFFFFFF0;//PA0设置成输入
GPIOA->CRL|=0X00000008;
3、端口选择上拉/下拉方式
GPIOA->ODR&=0xFFFFFFFE; //A0默认下拉
4、中断触发方式选择
Ex_NVIC_Config(GPIO_A,0,RTIR); //上升沿触发
5、嵌套向量中断控制(抢占优先级,响应优先级,组)
MY_NVIC_Init(2,2,EXTI0_IRQChannel,2); //抢占2,子优先级2,组2

中断服务程序
以PA0外部中断说明
处理完之后要清除线上的中断标志位
void EXTI0_IRQHandler(void)//外部中断0服务程序
{
delay_ms(10);//消抖
if(KEY2==1) //按键2
{
LED0=!LED0;
LED1=!LED1;
}
EXTI->PR=1<0; //清除LINE0上的中断标志位
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top