用模拟看门狗限定AD转换的范围,使用模拟看门狗中断出现问题 main.c中 ADC_Configuration(); do { id=ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC); }while(!id); if(adc_wd_flag = 1) { ....... ADC_DeInit(ADC1); } stm32f10x_it.c文件下有如下程序: void ADC1_2_IRQHandler(void) { if(ADC_GetFlagStatus(ADC1, ADC_FLAG_AWD)) { adc_wd_flag = 1; ADC_ClearITPendingBit(ADC1, ADC_IT_AWD); ADC_ClearFlag(ADC1,ADC_FLAG_AWD|ADC_FLAG_STRT); } } if(adc_wd_flag = 1)中函数又返回到前面重新AD转换,当值在模拟看门狗阀值范围之内时,还是会产生模拟看门狗 中断,能清除的标志位都清了,又初始化ADC1,还是会产生中断,怎么回事啊?如果一开始就在模拟看门狗范围之内 程序没有问题,只有在第一次在阀值之外,第二次在阀值之内时出现第一次同样的情况,产生看门狗中断, |
RE:用模拟看门狗限定AD转换的范围,使用模拟看门狗中断出现问题
RE:用模拟看门狗限定AD转换的范围,使用模拟看门狗中断出现问题