STM32的RCC配置流程

1.将RCC寄存器重新设置为默认值      RCC_DeInit
2.打开外部高速时钟晶振HSE          RCC_HSEConfig(RCC_HSE_ON);
3.等待外部高速时钟晶振工作         HSEStartUpStatus =RCC_WaitForHSEStartUp();
4.设置AHB时钟                      RCC_HCLKConfig;
5.设置高速APB2时钟                 RCC_PCLK2Config;
6.设置低速APB1时钟               RCC_PCLK1Config
7.设置PLL                          RCC_PLLConfig
8.打开PLL                          RCC_PLLCmd(ENABLE);
9.等待PLL工作                      while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) 
10.设置系统时钟                    RCC_SYSCLKConfig
11.判断是否PLL是系统时钟           while(RCC_GetSYSCLKSource() != 0x08)
12.打开要使用的外设时钟         RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()
 
 
在STM32中有5个时钟源:
①、HSI是高速内部时钟,RC震荡器,频率为 8MHz。
②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
③、LSI是低速内部时钟,RC振荡器,频率为40kHz。
④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HIS/2、HSE或HSE/2。倍频可选择为2~16倍,但其输出频率最大不得超过72MHz。
系统时钟SYSCLK,它是供STM32中绝大部分器件工作的时钟源,系统时钟可选择为PLL输出、HSI或者HSE。系统时钟的做大频率为72MHz,它通过AHB分频器分频后送给个模块使用,AHB分频器可选择1、2、4、8、16、32、64、128、256、512分频。AHB分频器输出的时钟送给5大模块使用:
1.       送给AHB总线、内核、内存和DMA使用的HCLK时钟。
2.       通过8分频后送给Cortex的系统定时器时钟。
3.       直接送给Cortex的空闲运行时钟PCLK。
4.       送给APB1分频器。APB1分频器可选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一路送给定时器(Timer)2、3、4倍频器使用。 该倍频器可选择 1 或者 2 倍频,时钟输出供定时器 2 3 4 使用。
5.        送给 APB2 分频器。 APB2 分频器可选择 1 2 4 8 16 分频,其输出一路供 APB2 外设使用 (PCLK2 ,最大频率 72MHz) ,另一路送给定时器 (Timer)1 倍频器使用。该倍频器可选择 1 或者 2 倍频,时钟输出供定时器 1 使用。另外, APB2 分频器还有一路输出供 ADC 分频器使用,分频后送给 ADC 模块使用。 ADC 分频器可选择为 2 4 6 8 分频。
连接在 APB1 (低速外设)上的设备有:电源接口、备份接口、 CAN USB I2C1 I2C2 UART2 UART3 SPI2 、窗口看门狗、 Timer2 Timer3 Timer4
连接在 APB2 (高速外设)上的设备有: UART1 SPI1 Timer1 ADC1 ADC2 、所有普通 IO 口、第二功能 IO 口。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值