下面的程序無法進(jìn)入GPIO_IRQHandler中斷服務(wù)程序,需要在主函數(shù)中一直查詢,
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中斷服務(wù)程序
{
? if (GPIOB_ReadITFlagBit(GPIO_Pin_0)) /* 讀取GPIOB端口引腳中斷標(biāo)志狀態(tài) */
? {?
? ? GPIOB_ClearITFlagBit(GPIO_Pin_0);? ? ? ? // 清除中斷標(biāo)志
? ? gVal++;
? }
}