| 
 
新手上路 
 
	积分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;
 
 这两句同时打开,就会无限重启,求指教
 | 
 |