STM32F105的时钟配置
生活随笔
收集整理的這篇文章主要介紹了
STM32F105的时钟配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
STM32F105庫函數默認使用的是25MHZ晶振:
? ?通過下面配置,最終得到系統時鐘72MHZ:
? ?/* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */
? ?/* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */ ? ? ? ? ? ? ? ? ? ? ??
? ? RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 |
? ? ? ? ? ? ?RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);
??
如果使用的是其他的晶振怎么配置呢,下面以12M晶振為例
? ? 通過下面配置既可,最終得到系統時鐘72MHZ:
? ? /* PLL2 configuration: PLL2CLK = (HSE / 12) * 12= 12 MHz */
? ? /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 1 = 12 MHz */? ? ? ? ? ? ? ? ? ? ? ? ? ??RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV12| RCC_CFGR2_PLL2MUL12 |
? ?? ?? ?? ?? ?? ?? ?? ?? ???RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV1);
? ?通過下面配置,最終得到系統時鐘72MHZ:
? ?/* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */
? ?/* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */ ? ? ? ? ? ? ? ? ? ? ??
? ? RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 |
? ? ? ? ? ? ?RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);
??
如果使用的是其他的晶振怎么配置呢,下面以12M晶振為例
? ? 通過下面配置既可,最終得到系統時鐘72MHZ:
? ? /* PLL2 configuration: PLL2CLK = (HSE / 12) * 12= 12 MHz */
? ? /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 1 = 12 MHz */? ? ? ? ? ? ? ? ? ? ? ? ? ??RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV12| RCC_CFGR2_PLL2MUL12 |
? ?? ?? ?? ?? ?? ?? ?? ?? ???RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV1);
? ? /* PLL configuration: PLLCLK = PREDIV1 * 6 = 72 MHz */?
? ? RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);
? ? RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 |?
? ? ? ? ? ? ? ? ? ? ? ? ? ? RCC_CFGR_PLLMULL6);?
下面是STM32F105的時鐘樹,對照不能理解STM32F105時鐘為什么要這樣配置
總結
以上是生活随笔為你收集整理的STM32F105的时钟配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stm32F105的can2问题
- 下一篇: STM32的USB相关资料(转载)