新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > stm32v3.5庫的時鐘配置

        stm32v3.5庫的時鐘配置

        作者: 時間:2016-11-25 來源:網絡 收藏
        在基于STM32的3.5版本庫函數的開發應用中,其時鐘初始化函數SystemInit()函數是在啟動文件中被調用的,而且其調用是在Main()函數之前,所以說,如果不打算修改其默認的系統時鐘(sysclk72M,AHB 72M,PCLK1 36M,PCLK272M,PLL 72M),在main函數中可以不添加系統時鐘初始化函數SystemInit()函數,其在相應的函數文件中已經被設置好了。

        如果要對系統時鐘進行重新設置,可以在main()函數中對其進行重新配置,也就回到了較早版本的ST開發庫的應用之中,現舉例如下:

        本文引用地址:http://www.104case.com/article/201611/321356.htm

        1、以外部高速晶振為時鐘源

        void RCC_PLL_Configuration(void)

        {

        RCC_DeInit();

        RCC_HSEConfig(RCC_HSE_ON);

        if(RCC_WaitForHSEStartUp() == SUCCESS) {

        RCC_HCLKConfig(RCC_SYSCLK_Div1);

        RCC_PCLK2Config(RCC_HCLK_Div1);

        RCC_PCLK1Config(RCC_HCLK_Div2);

        FLASH_SetLatency(FLASH_Latency_2);

        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

        RCC_PLLConfig(RCC_PLLSource_HSE_Div2, RCC_PLLMul_3);

        RCC_PLLCmd(ENABLE);

        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) ;

        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

        while(RCC_GetSYSCLKSource() != 0x08);

        }

        }

        2.以內部高速晶振為時鐘源(可在外部晶振損壞時采用,精度稍低,之前有同志問到過這個問題,現在此給出)

        void RCC_HSI_Configuration(void){

        RCC_DeInit();

        RCC_HSICmd(ENABLE);

        while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY)== RESET);//等待HSI就緒

        RCC_HCLKConfig(RCC_SYSCLK_Div1);

        RCC_PCLK2Config(RCC_HCLK_Div1);

        RCC_PCLK1Config(RCC_HCLK_Div2);

        FLASH_SetLatency(FLASH_Latency_2);

        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

        RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);

        while(RCC_GetSYSCLKSource() != 0x00);

        }

        如果系統不用72M可以在這里修改

        #if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)

        #define SYSCLK_FREQ_24MHz 24000000
        #else

        #define SYSCLK_FREQ_72MHz 72000000

        #endif



        關鍵詞: stm32v35庫時鐘配

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 赫章县| 长宁县| 若尔盖县| 大丰市| 惠安县| 普兰店市| 股票| 荔浦县| 和顺县| 攀枝花市| 政和县| 仲巴县| 故城县| 通辽市| 芮城县| 张家口市| 宿迁市| 高邮市| 四子王旗| 台北市| 普洱| 汶川县| 峨眉山市| 天峻县| 眉山市| 永定县| 柏乡县| 蒙自县| 武功县| 栖霞市| 锡林浩特市| 呼和浩特市| 松桃| 万年县| 宁南县| 香河县| 沂源县| 西林县| 沙田区| 灌云县| 永康市|