新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32 RCC配置

        STM32 RCC配置

        作者: 時間:2016-12-03 來源:網絡 收藏
        固件庫 V3.5 IAR

        /* ---------------------函數實體--------------------------------*/
        /*******************************************************************************
        * 函數名稱: RCC_Configuration
        * 函數功能: 設置系統各部分時鐘
        * 參數變量: NONE
        * 全局變量: NONE
        * 調用函數:
        * 修改時間:
        * 版 本: V1.0
        * 狀 態:調試完成
        *******************************************************************************/
        void RCC_Configuration(void)
        {
        RCC_DeInit(); //復位系統時鐘設置
        RCC_HSEConfig(RCC_HSE_ON); // 開啟HSE
        HSEStartUpStatus = RCC_WaitForHSEStartUp(); //等待HSE 起振并穩定
        //判斷HSE 起是否振成功,是則進入 if()內部
        if(HSEStartUpStatus == SUCCESS)
        {
        RCC_HCLKConfig(RCC_SYSCLK_Div1); // 選擇HCLK(AHB)時鐘源為SYSCLK 1 分頻
        RCC_PCLK2Config(RCC_HCLK_Div1); // 選擇PCLK2 時鐘源為 HCLK(AHB) 1分頻
        RCC_PCLK1Config(RCC_HCLK_Div2);// 選擇PCLK1 時鐘源為 HCLK(AHB) 2分頻
        FLASH_SetLatency(FLASH_Latency_2);//設置FLASH 延時周期數為2
        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //使能FLASH 預取緩存
        RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);//選擇鎖相環(PLL)時鐘源為HSE 1 分頻,倍頻數為 9,則 PLL輸出頻率為 8MHz* 9 = 72MHz
        RCC_PLLCmd(ENABLE); //使能PLL
        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);//等待PLL輸出穩定
        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//選擇SYSCLK 時鐘源為PLL
        while(RCC_GetSYSCLKSource() != 0x08);//等待PLL成為 SYSCLK時鐘源
        }
        }

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


        關鍵詞: STM32RCC配

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 诸暨市| 承德市| 济源市| 潼关县| 桐梓县| 安达市| 沙坪坝区| 鹤壁市| 广平县| 平湖市| 黑水县| 定日县| 德令哈市| 汾阳市| 常山县| 樟树市| 海伦市| 吐鲁番市| 达拉特旗| 嘉义市| 合阳县| 泗水县| 辽源市| 襄垣县| 湾仔区| 邓州市| 顺平县| 贵南县| 巢湖市| 彭阳县| 辽阳县| 天等县| 新源县| 洪泽县| 贺兰县| 保定市| 文成县| 苍南县| 法库县| 建始县| 咸宁市|