我把stm32f030的adc通道配置成定时器触发中断模式,并且开启了adc中断,我在中断中加入一变量ADC_conver作为中断完成标志,但是发现整个系统总是反复的进入中断,使得主程序无法进入循环中,我想在中断后就把ADC的中断单独关闭,其它的中断如uart继续打开,如何单独关闭和打开ADC中断,网上的资料都是关闭整个系统的中断,没有单独关闭的代码。
while (1)
{
/* USER CODE END WHILE */
if(Adc_conver == 0x01)
{
Adc_conver = 0x00;
for(i=0;i<20;i++)
{
printf("%c: %x %d\n",aRxBuffer[i],ADC_ConvertedValue[i],i);
ADC_ConvertedValue[i] = 0x0000;
}
printf("Line a End\n");
HAL_Delay(200);
}
//HAL_Delay(20);
/* USER CODE BEGIN 3 */
}
/**
* [url=home.php?mod=space&uid=159083]@brief[/url] This function handles ADC global interrupt.
*/
void ADC1_IRQHandler(void)
{
/* USER CODE BEGIN ADC1_IRQn 0 */
/* USER CODE END ADC1_IRQn 0 */
HAL_ADC_IRQHandler(&hadc);
/* USER CODE BEGIN ADC1_IRQn 1 */
Adc_conver = 0x01;
/* USER CODE END ADC1_IRQn 1 */
}