前言
在做“自制繼電器上位機控制軟件”項目的時候,下位機用到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)

(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);

(3)在 Target 選項卡中將外接的晶振參數修改為12MHz。
PS:反過來,外部時鍾源12M換成8M后,程序修改反過來即可。
