stm32外部时钟源8M换成12M后库函数相应修改总结

前言

  在做“自制继电器上位机控制软件”项目的时候,下位机用到USB虚拟串口,将以前写好的USB虚拟串口程序移植到下位机,发现程序计算机无法识别到虚拟串口STMicroelectronics Virtual COM Port,后来分析发现是晶振的问题,之前MCU外部晶振是8M,而项目中用的是12M晶振,这个时候MCU程序需要做相应修改。

修改分为三步:

(1)在 stm32f10x.h 中,将 #define  HSE_VALUE  ((uint32_t)8000000)  修改为:#define  HSE_VALUE  ((uint32_t)12000000)

stm32外部时钟源8M换成12M后库函数相应修改总结

(2)在 system_stm32f10x.c 中,将 RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);  修改为:RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);

stm32外部时钟源8M换成12M后库函数相应修改总结

(3)在 Target 选项卡中将外接的晶振参数修改为12MHz。

PS:反过来,外部时钟源12M换成8M后,程序修改反过来即可。

上一篇:【代码笔记】iOS-把换成\n


下一篇:C++语言笔记系列之十六——赋值兼容规则&多继承的二义性