×
单片机 > 单片机程序设计 > 详情

教你如何修改STM32系统时钟

发布时间:2020-05-27 发布时间:
|

 今天,公司丢了一个新的STM32控制板让我调试,一想还是很好调试。结果傻眼了,晶振是12MHZ啊。网上找了一些资料,现在整理一下,供大家参考使用。


具体步骤如下:


第一步,全局搜索HSE_VALUE

#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */

修改为:

#define HSE_VALUE ((uint32_t)12000000) /*!< Value of the External oscillator in Hz */

第二步,打开system_stm32f10x.c,修改PLL参数,将

/* PLL configuration: PLLCLK = HSE * 9 = 72 MHz */

RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |

RCC_CFGR_PLLMULL));

RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);

修改为:

/* PLL configuration: PLLCLK = HSE * 6 = 72 MHz */

RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |

RCC_CFGR_PLLMULL));

RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);//12MHZ,SYSCLK=HSE*6=72MHZ

或者一句RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_6); 就可以解决了


这样就可以进行正常的72MHZ速度跑了。


关键字:STM32  系统时钟 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
stm32 总线矩阵介绍