STM32F105的时钟配置
2016-09-24 16:48
92 查看
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);
/* 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时钟为什么要这样配置
通过下面配置,最终得到系统时钟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时钟为什么要这样配置
相关文章推荐
- 转载:VMware虚拟机时钟不准的问题(linux图形界面投影到windows配置参考)--略有修改
- u-boot与uClinux下系统时钟和波特率配置文件
- msp430f149学习心得之一 时钟配置
- ntp服务器配置及客户端时钟同步脚本
- stm32F4库函数中的RCC系统时钟配置
- 三星uboot-1.1.6源码分析——lowlevel_init.S (2)——时钟配置
- uboot优美代码赏析3:系统时钟配置
- MSP430x2xx的时钟配置
- at91的i2c的时钟配置
- SPI接口时钟配置心得(转载)
- Linux下时钟时区以及时间同步的命令和配置
- 路由器DCE配置时钟频率
- Linux下S3C2440 RTC实时时钟驱动配置与修改
- 【转】 STM32芯片时钟配置
- Linux(Unix)时钟同步ntpd服务配置方法
- Linux(Unix)时钟同步ntpd服务配置方法(转载)
- 以本地时钟配置NTP
- mini2440 时钟频率的配置
- s3c2440 FCLK、HCLK、PCLK时钟频率配置
- STM32时钟配置