新手上路
- 积分
- 39
- 金钱
- 39
- 注册时间
- 2013-7-1
- 在线时间
- 0 小时
|
谁有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;
这两句同时打开,就会无限重启,求指教 |
|