STM32G070外部中断连续进入两次
虽然cubemx生成的代码在回调函数前面已经清除了中断标志,由于中断执行的太快,在没有清除成功后再次进入了中断,导致连续进入两次中断
解决方法如下,在此次事件执行完毕后再次清除一次中断可以完美解决此问题
void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin == CS5552_SDO_Pin)
{
/*读取CS5552*/
GET_ADC_CH0();
value = ADC_VL;
Filter1();
TIME_ADC = 0;
START_TIME++;
if(START_TIME > 200)
{
START_TIME = 210;
}
printf("AD = %ld\r\n",value_OUT);
}
__HAL_GPIO_EXTI_CLEAR_FALLING_IT(GPIO_Pin);
}