由於stm32的庫預設是外部晶振8m的情況下實現的,所以配置波特率的時候也是按8m,包括主頻,如果用12m晶振就需要改動幾個地方:
在system_stm32f10x.c中找到相應型別的檔案,進行如下修改。
1)72m主頻:
8m時:
rcc->cfgr |= (uint32_t)(rcc_cfgr_pllsrc_hse | rcc_cfgr_pllmull9);
12m:
rcc->cfgr |= (uint32_t)(rcc_cfgr_pllsrc_hse | rcc_cfgr_pllmull6);
2)stm32f10x.h中修改:
如果除錯時遇到串列埠輸出不正確的時候,可以直接檢視stm32的內部時鐘是多少。
舉例說明:
/**/
void rcc_getclocksfreq(rcc_clockstypedef* rcc_clocks);
rcc_clockstypedef clockinfo;
int main(void)
} 通過觀察clockinfo這個結構體,可以清楚直觀的看到配置的內部時鐘資訊。
STM32F103 時鐘配置
stm32f103外部8m的振盪器,經過倍頻後最高可以達到72m。void rcc deinit void 將外設rcc暫存器重設為預設值 void rcc hseconfig u32 rcc hse 設定外部高速晶振 hse rcc hse 取值如下 rcc hse offhse晶振off rcc...
STM32F103時鐘樹講解
時序在數位電路中的作用,就像通訊中用到的載波,載波並不起眼,但是很重要。時鐘也一樣,現象上只是某種頻率波峰波谷跳動,一成不變。但是有了它,就像人類的歷史有了時間軸一樣,什麼時候該幹什麼事才有了可能。程式中發生的事件,能夠按照自己的意願發生。時鐘源倍頻器高速時鐘高速外設低速時鐘低速外設yesno st...
STM32F103低功耗喚醒時鐘設定
stm32中有四個時鐘源 stm32f103中預設的時鐘源為8m高速外部時鐘,通過分頻器llxtpre選擇不分頻為8mhz,再通過鎖相環pll經過9倍頻得到時鐘頻率72mhz,並將該頻率作為系統時鐘。stm32中很方便的將以上步驟簡化為乙個初始化函式 systeminit 因此,對於stm32中時鐘...