CH579 CH573 CH582 GPIO中断


GPIO中断(PA0~PA15  PB0~PB15)支持GPIO中断

其中573 PB23和PB22 的GPIO中断

GPIO中断使能

GPIOA_ModeCfg( GPIO_Pin_5|GPIO_Pin_4|GPIO_Pin_15|GPIO_Pin_14, GPIO_ModeIN_PU );   //部分GPIO中断引脚初始化
GPIOA_ITModeCfg( GPIO_Pin_5|GPIO_Pin_4|GPIO_Pin_15|GPIO_Pin_14, GPIO_ITMode_LowLevel ); // 低电平中断
PFIC_EnableIRQ( GPIO_A_IRQn );//开启GPIOA中断

中断函数

__attribute__((interrupt("WCH-Interrupt-fast")))
__attribute__((section(".highcode")))
void GPIOA_IRQHandler( void )
{
PRINT("%x \n",GPIOA_ReadITFlagPort());        //读GPIOA口中断状态
PRINT("%x \n",GPIOA_ReadITFlagBit(GPIO_Pin_4)); //读GPIO4口中断状态
PRINT("%x \n",GPIOA_ReadITFlagBit(GPIO_Pin_5)); //读GPIO5口中断状态
PRINT("%x \n",GPIOA_ReadITFlagBit(GPIO_Pin_14)); //读GPIO14口中断状态
PRINT("%x \n",GPIOA_ReadITFlagBit(GPIO_Pin_15)); //读GPIO15口中断状态
GPIOA_ClearITFlagBit( GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_14|GPIO_Pin_15 );//清中断
}

运行结果(串口打印)

PA4给低电平触发中断

3f10
10
0
0
0

PA15给低电平触发中断

3f20
0
20
0
0

PA15给低电平触发中断

bf00
0
0
0
8000

相关