下面的程序无法进入GPIO_IRQHandler中断服务程序,需要在主函数中一直查询,
unsigned short gVal;
extern void GPIO_IRQHandler( void );
int main()
{
uint32_t state;
drv_uart1_init();
drv_cpu_led_init();
GPIOB_SetBits(GPIO_Pin_0);
GPIOB_ModeCfg(GPIO_Pin_0, GPIO_ModeIN_PU);
GPIOB_ITModeCfg(GPIO_Pin_0, GPIO_ITMode_FallEdge);
while(1)
{
GPIO_IRQHandler();
PRINT("## gVal=%d\r\n",gVal);
DelayMs(100);
}
}
void GPIO_IRQHandler( void )//GPIO中断服务程序
{
if (GPIOB_ReadITFlagBit(GPIO_Pin_0)) /* 读取GPIOB端口引脚中断标志状态 */
{
GPIOB_ClearITFlagBit(GPIO_Pin_0); // 清除中断标志
gVal++;
}
}