STM32F4 AD问题,AD无限重启

2019-07-21 05:15发布

谁有stm32F4 的AD代码啊,可以给发下么

单片机 STM32F407 ,时钟168M,APB2为84M,ADC4分频为21M

现在是 ACC使能ADC3时钟,然后后面 开启ADON,单片机就无限复位,楼下上代码……

望大神指点。


主函数
int main(void)
{
        clock_init();
        delay_init();
        NVIC_PriorityGroupConfig();
                
        Num_Write(50,150,0,color_white);
       
        //IO时钟使能
        RCC->AHB1ENR |= RCC_AHB1ENR_GPIOFEN;
        //ADC时钟使能
        RCC->APB2ENR |= RCC_APB2ENR_ADC3EN;       
        //ADC时钟4分频,APB2/4 = 21M
        ADC->CCR |= ADC_CCR_ADCPRE_0;       

        //配置GPIOF第9位IO口为模拟输入
        GPIOF->MODER |= GPIO_MODER_MODER9;
       
        //7通道采样周期为15个ADCCLK
        ADC3->SMPR2 |= ADC_SMPR2_SMP7_0;
        //规则组通道数量设置,单通道默认
        ADC3->SQR1 =0;
        //规则组SQ1为7通道
        ADC3->SQR3 |= ADC_SQR3_SQ1_0|ADC_SQR3_SQ1_1|ADC_SQR3_SQ1_2;
        //开启ADC,连续转换模式,延时5US
        ADC3->CR2 |= ADC_CR2_ADON; //ADC_CR2_CONT | ADC_CR2_ADON;
        delay_us(5);
        //启动规则组转换
        ADC3->CR2 |= ADC_CR2_SWSTART;
       
        while(1)
        {
                u16 temp;
                temp = ADC3->SR;
                if(temp&ADC_SR_EOC)
                Num_Write(50,50,ADC3->DR,color_white);
               
                Num_Write(50,100,0,color_white);
        }
}


     //ADC时钟使能
        RCC->APB2ENR |= RCC_APB2ENR_ADC3EN;   

       //开启ADC,连续转换模式,延时5US
        ADC3->CR2 |= ADC_CR2_ADON;

这两句同时打开,就会无限重启,求指教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。