標(biāo)題: STM32F051使用自帶時鐘48M設(shè)置 [打印本頁]
作者: maple100 時間: 2016-8-31 22:54
標(biāo)題: STM32F051使用自帶時鐘48M設(shè)置
正確設(shè)置:
void RCC_Configuration(void);
void RCC_Configuration(void)
{
//éèÖÃPLLê±ÖóÔ′¼°±¶ÆμÏμêy
RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_12);///*!< PLL input clock*12 */
//ê1ÄüPLL
RCC_PLLCmd(ENABLE);
//μè′yPLL3õê¼»ˉ3é1|
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
{
}
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() != 0x08) //μè′yÏμí3ê±Öó3õê¼»ˉ3é1|
{
}
}
去掉外部晶振后,單片機時鐘源會默認(rèn)的使用內(nèi)部高速RC振蕩器HSI,HSI頻率大約為8M,所以要想使系統(tǒng)獲得48M的頻率需要用PLL倍頻后做為系統(tǒng)的時鐘,PLL是一個鎖相環(huán),專門用來倍頻或者分頻的。(倍頻后所得的頻率一般叫PLL時鐘)
RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_12);
這句話的意思是將HSI
時鐘12倍頻,為什么是12倍頻而不是6倍頻呢?如下圖STM32F051系列的時鐘樹所示:
0.png (125.51 KB, 下載次數(shù): 49)
下載附件
2016-8-31 23:10 上傳
根據(jù)時鐘樹可以看出用PLL對HSI進(jìn)行倍頻時,硬件將首先對HSI 二分頻,也就是為4M,所以必須再對其進(jìn)行12倍頻才能變成48M,最后通過RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);語句將PLL時鐘作為系統(tǒng)時鐘,至此系統(tǒng)的時鐘變?yōu)?/font>48M
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |