记录GD32F4外部中断无法进入。
原因是GD32F4外接PLC芯片,PLC芯片有一个接收引脚。需要使用外部中断进行数据的接收。
1.用示波器看到底是上升沿触发还是下降沿触发
2.两个外设的时钟需要打开。
void plc_chip_int_int()
{
rcu_periph_clock_enable(RCU_GPIOG);
rcu_periph_clock_enable(RCU_SYSCFG);
gpio_mode_set(SPI_INT_Port, GPIO_MODE_INPUT, GPIO_PUPD_NONE, SPI_INT_Pin);//
/* connect key EXTI line to key GPIO pin */
syscfg_exti_line_config(EXTI_SOURCE_GPIOG, EXTI_SOURCE_PIN11);//GPIO对应的中断线
/* configure key EXTI line */
nvic_irq_enable(EXTI10_15_IRQn, 8U, 0U);
exti_init(EXTI_11, EXTI_INTERRUPT, EXTI_TRIG_RISING); //
exti_interrupt_flag_clear(EXTI_11); //清除EXTI行x挂起标志
exti_interrupt_enable(EXTI_11);
}
rcu_periph_clock_enable(RCU_SYSCFG);这个时钟没有打开会导致无法进入中断