打印

STM32F4 AD问题,AD无限重启

[复制链接]
215|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
卡拉瓦乔|  楼主 | 2018-7-31 13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁有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;

这两句同时打开,就会无限重启,求指教

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

438

主题

438

帖子

0

粉丝