ADC时钟配置可通过以下rcu_adc_clock_config函数实现。ADC时钟计算好后,根据不同的分辨率就可以计算采样率了,如下图所示,不同的分辨率对应的采样转换时间是不同的,比如12位分辨率,采样转换就需要14个ADCCLK。综上举例:如果系统时钟AHBCLK为120M,APB2时钟为60M,如果ADC时钟配置为rcu_adc_clock_config(RCU_...
ADC_InitTypeDef ADC_InitStructure;// 开启时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_ADC1,ENABLE);// 设置ADC分频因子6 72M/6=12,ADC最大时间不能超过14MRCC_ADCCLKConfig(RCC_PCLK2_Div6);// GPIO配置GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//ADC1通道1GPIO_InitStructure....
//6、根据手册建议,开启后还可对其进行下校准,可减小误差。voidAD_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);RCC_ADCCLKConfig(RCC_PCLK2_Div6);//6分频GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Mode=GPIO_Mode...
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE); //使能AHB预分频器到外设ADC1的开关 ADC_DeInit(ADC1); //ADC复位 RCC_ADCCLKConfig(RCC_ADCCLK_PCLK_Div4) ; //时钟分频48M/4=12M 最大时钟不超过14M ADC_InitTypeDef ADC_InitStruct; //声明ADC结构变量,在stm32f0xx_adc.c中 ADC_InitStruct...
driver_adc_config(ADC,ADC_CH); /* ADC初始化 */} ADC初始化函数定义如下: C++void driver_adc_config(typdef_adc_ch_general *ADC,typdef_adc_ch_parameter *ADC_CH){ uint8_t i; adc_idx_enum idx_adc; adc_deinit(ADC->adc_port); /* ADC clock config */ if(ADC->adc_port==ADC0){ ...
ADC时钟计算好后,根据不同的分辨率就可以计算采样率了,如下图所示,不同的分辨率对应的采样转换时间是不同的,比如12位分辨率,采样转换就需要14个ADCCLK。 综上举例:如果系统时钟AHBCLK为120M,APB2时钟为60M,如果ADC时钟配置为rcu_adc_clock_config(RCU_CKADC_CKAPB2_DIV6),那么ADCCLK的时钟为60M/6=10M,若A...
voidAD_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);RCC_ADCCLKConfig(RCC_PCLK2_Div6);GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AIN;//模拟输入GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;GPIO_InitStru...
The only place I see for clock division is PDB_Config. I'm seeing ADC using the BUS_CLK as peripheral clock but Note1 below says not to misinterpret the interface clock as BUS_CLK. I have no idea what that means: When I look at this section of ref manual, I'm further confused. ...
rcu_adc_clock_config(RCU_CKADC_CKAPB2_DIV4); /* enable alternate function clock */ rcu_periph_clock_enable(RCU_AF); //使能 GPIO 口复用 这里需要说明一下, ADC 的通道与引脚的对应关系在数据手册可以查到 (1)配置 ADC 输入时钟分频,模式为独立模式,转换长度以及触发方式等 ...
切换到Clock Configuration选项卡,配置时钟周期,这里配置为8M 切换到Configuration选项卡,进入CAN配置选项配置波特率如下为500Kbps。 配置接收中断。 配置定时器如下为1ms定时器。 配置定时器中断 配置完成后点击保存,然后点击如下按钮,生成代码 填写工程名称,路径,编程软件等等 ...