我要用嵌入式知识配置4个按键的中断,下面是stm32外部中断的初始化函数的参考代码,该怎么修改?

2025-04-07 16:00:32
推荐回答(1个)
回答1:

给你发个相关的配置外部中断的寄存器版函数,你可以参考下:

//外部中断配置函数
//只针对GPIOA~I;不包括PVD,RTC,USB_OTG,USB_HS,以太网唤醒等
//参数:
//GPIOx:0~8,代表GPIOA~I
//BITx:需要使能的位;
//TRIM:触发模式,1,下升沿;2,上降沿;3,任意电平触发
//该函数一次只能配置1个IO口,多个IO口,需多次调用
//该函数会自动开启对应中断,以及屏蔽线        
void Ex_NVIC_Config(u8 GPIOx,u8 BITx,u8 TRIM) 

u8 EXTOFFSET=(BITx%4)*4;  
RCC->APB2ENR|=1<<14;   //使能SYSCFG时钟  
SYSCFG->EXTICR[BITx/4]&=~(0x000F< SYSCFG->EXTICR[BITx/4]|=GPIOx< //自动设置
EXTI->IMR|=1< if(TRIM&0x01)EXTI->FTSR|=1< if(TRIM&0x02)EXTI->RTSR|=1<