stm32f4时钟 ADC时钟配置

/*************************************************
在system_stm32f4xx.c中有如下定义:
 
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N     / / /
    #define PLL_M      8
    #define PLL_N      336
    /* SYSCLK = PLL_VCO / PLL_P     //
    #define PLL_P      2
    /* USB OTG FS, SDIO and RNG Clock =  PLL_VCO / PLLQ ///
    #define PLL_Q      7
*************************************************/
根据公式:
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N     / / /即 PLL_VCO=8/8*336=336M
而  /* SYSCLK = PLL_VCO / PLL_P     //即 系统时钟SYSCLK=336/2=168M(系统时钟不能超过168M)
而/* USB OTG FS, SDIO and RNG Clock =  PLL_VCO / PLLQ ///即USB SDIO RNG的时钟为24M
 
rcc_cofig()中可以定义各个总线时钟的分频:
HCLK = SYSCLK / 1   (AHB1Periph)  则HCLK=168M 与系统时钟相等   
PCLK2 = HCLK / 2    (APB2Periph)  则PCLK2=168/2=84M(函数中定义分频值)
PCLK1 = HCLK / 4      (APB1Periph)则 PCLK1  =168/4(函数中定义分频值) 
 
ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; //
在ADC设置中设置为PCLK2的2个分频
则ADC时钟脉冲为84/2=42M
 ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_3Cycles);
则ADC采样的频率为42/(3+12)=2.8M(其中3是上面函数定义的参数(可变),12是采样值转换的固定时间(固定))
注意:采样频率与
ADC_CommonInitStructure.ADC_TwoSamplingDelay =ADC_TwoSamplingDelay_5Cycles;//ADC_delay_between_2_sampling_phases
这个函数没有任何关系。

由于系统时钟最大不能超过168M,所以ADC采样的最大值为2.8M/S.
如果想设定为2M的采样频率,则需要修改PLL_N为240;*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值