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