CH579GPIO中断怎么编程?

下面的程序无法进入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++;

  }

}


你中断没有打开,下边函数打开中断

CM-0:NVIC_EnableIRQ( GPIO_IRQn );

 RISC-V:PFIC_EnableIRQ(GPIO_A_IRQn);




只有登录才能回复,可以选择微信账号登录