如何修改STM32系统时钟?操作方法解析
侧边栏壁纸
  • 累计撰写 192,421 篇文章
  • 累计收到 3 条评论

如何修改STM32系统时钟?操作方法解析

admin
2022-12-16 / 0 评论 / 0 阅读 / 正在检测是否收录...

在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法

如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理:

1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。

2)对于少于100脚的产品,有2种接法:

2.1)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。

2.2)分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出并输出‘0’。此方法可以减小功耗并(相对上面2.1)节省2个外部电阻。

HSI内部8MHz的RC振荡器的误差在1%左右,内部RC振荡器的精度通常比用HSE(外部晶振)要差上十倍以上。STM32的ISP就是用(HSI)内部RC振荡器。

修改STM32系统时钟操作方法

新的STM32控制板如何调试

具体步骤如下:

第一步,全局搜索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速度跑了。

0

评论 (0)

取消