F4的ADC只允许初始化1次?

2019-07-20 07:51发布

因功能需要ADC要初始化2种方式,正常初始化模式2,当串口接收命令后,ADC初始模式1,采集数据完成后,ADC在初始化模式2调试:
发送命令后ADC模式1初始化正常,可以采集数据。
再次发送命令后ADC再次初始化模式1,不能采集数据。卡在while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
个别情况下可以发送2次串口命令,采集正常,但第三次初始化后肯定出错。
调试用的ADC模式1和模式2是一样的,都是原子的ADC程序。

while
{
       if (USART6_RX_STA&0X8000)
       {

            delay_ms (100);           
            ADC_DeInit();           //ADC复位            
            delay_ms (500);
            Adc_Init();              //ADC初始化
            delay_ms (500);            
            delay_ms (500);
            USART6_RX_STA=0;
            ADC_V=0;           
            ADC_V= Get_Adc_Average(ADC_Channel_12,500);
            vdcz =   ADC_V/4096.0*3.3*6.1;

      }
}




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。