新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32F107外部晶振25MHz配置到72MHz運行

        STM32F107外部晶振25MHz配置到72MHz運行

        作者: 時間:2016-12-03 來源:網絡 收藏
        啟動文件選用:STM32F10X_CL

        /*******************************************************************************
        * 函數名稱: RCC_Configuration
        * 函數功能: 25MHZ 設置系統各部分時鐘
        * 參數變量: NONE
        * 全局變量: NONE
        * 調用函數:
        * 作 者:
        * 編寫時間:

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

        * 修改時間:
        * 版 本: V1.0
        * 狀 態:調試完成
        *******************************************************************************/
        void RCC_Configuration(void)
        {
        RCC_DeInit();
        RCC_HSEConfig(RCC_HSE_ON);// Enable HSE
        HSEStartUpStatus = RCC_WaitForHSEStartUp();//Wait till HSE is ready
        if(HSEStartUpStatus==SUCCESS)
        {
        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);//Enable Prefetch Buffer
        FLASH_SetLatency(FLASH_Latency_2); // Flash 2 wait state
        RCC_HCLKConfig(RCC_SYSCLK_Div1);//HCLK = SYSCLK
        RCC_PCLK2Config(RCC_HCLK_Div1);//PCLK2 = HCLK
        RCC_PCLK1Config(RCC_HCLK_Div2);//PCLK1 = HCLK/2
        RCC_ADCCLKConfig(RCC_PCLK2_Div4);//ADCCLK = PCLK2/4
        #ifndef STM32F10X_CL
        RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//PLLCLK = 8MHz * 9 = 72 MHz
        #else
        // Configure PLLs *********************************************************
        //PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz
        RCC_PREDIV2Config(RCC_PREDIV2_Div5);
        RCC_PLL2Config(RCC_PLL2Mul_8);
        RCC_PLL2Cmd(ENABLE);
        while(RCC_GetFlagStatus(RCC_FLAG_PLL2RDY)== RESET)
        {}
        RCC_PREDIV1Config(RCC_PREDIV1_Source_PLL2,RCC_PREDIV1_Div5);
        RCC_PLLConfig(RCC_PLLSource_PREDIV1,RCC_PLLMul_9);//PLLCLK = 8MHz * 9 = 72 MHz
        RCC_PLL3Config(RCC_PLL3Mul_11);
        RCC_PLL3Cmd(ENABLE);
        while(RCC_GetFlagStatus(RCC_FLAG_PLL3RDY)== RESET)
        {}
        RCC_I2S3CLKConfig(RCC_I2S3CLKSource_PLL3_VCO);
        RCC_I2S2CLKConfig(RCC_I2S2CLKSource_PLL3_VCO);
        #endif
        RCC_PLLCmd(ENABLE);// Enable PLL
        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)// Wait till PLL is ready
        {
        }
        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);// Select PLL as system clock source
        while(RCC_GetSYSCLKSource() != 0x08)// Wait till PLL is used as system clock source
        {
        }
        }
        }



        關鍵詞: STM32F107外部晶

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 兖州市| 乌审旗| 文登市| 兴业县| 阿尔山市| 玉溪市| 福安市| 屯门区| 上栗县| 永川市| 舒城县| 舟山市| 富阳市| 分宜县| 灵璧县| 阳原县| 承德县| 华坪县| 临朐县| 辛集市| 沙湾县| 金乡县| 磴口县| 鹤壁市| 镇沅| 白水县| 嵊州市| 陆河县| 邮箱| 桐柏县| 石棉县| 门头沟区| 射阳县| 宜春市| 郴州市| 常德市| 山阳县| 民和| 秦安县| 廊坊市| 安西县|