stm32 系統時鐘設定RCC

1.共四種時鐘信號,LSE和HSE爲外部時鐘信號,用上圖的引腳接入晶振或者時鐘源。

2.系統默認的時鐘配置是用函數SystemInit實現的,默認爲LSI時鐘信號,爲8MHz。

3.可以使用外部高速時鐘信號HSE,用PD0和PD1引腳,然後用程序設置APB總線、APB1、APB2等的時鐘。

可以用FPGA作爲HSE的時鐘源。

 

    RCC_DeInit();                                             //初始化RCC寄存器

    RCC_HSEConfig(RCC_HSE_ON);               //打開外部高速時鐘晶振HSE

    RCC_WaitForHSEStartUp();                      //等待外部高速時鐘晶振工作

 

    RCC_HCLKConfig(RCC_SYSCLK_Div1);     //設置HCLK(AHB)爲SYSCLK的1分頻

    RCC_PCLK2Config(RCC_HCLK_Div1);       //設置ABP2爲HCLK的1分頻

    RCC_PCLK1Config(RCC_HCLK_Div2);       //設置APB1爲HCLK的2分頻

    RCC_ADCCLKConfig(RCC_PCLK2_Div6);

    FLASH_SetLatency(FLASH_Latency_2);

FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

//PLL鎖相環倍頻輸出的時鐘輸入源爲HSE/1,9倍頻

    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

    RCC_PLLCmd(ENABLE);            //打開PLL

 

    while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {   //等待PLL工作

        ;

    }

 

    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);           //設置系統時鐘爲PLLCLK

 

    while (RCC_GetSYSCLKSource() != 0x08);                       //判斷系統時鐘是否爲PLL

    

 

 

【加粗部分】若程序在此處一直循環執行,則檢查硬件上的外部晶振是否有問題。

4.可以用【MCO-PA8】引腳輸出時鐘,可以用於用示波器檢查時鐘信號,也可用於給其他芯片提供時鐘源。(需對此引腳進行復用功能配置)

5.HSI、HSE、PLLCLK可以左右系統時鐘。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章