新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 【STM32筆記】RCC配置函數

        【STM32筆記】RCC配置函數

        作者: 時間:2016-11-28 來源:網絡 收藏
        voidRCC_Configuration(void)
        {
        ErrorStatusHSEStartUpStatus;

        //使能外部晶振
        RCC_HSEConfig(RCC_HSE_ON);
        //等待外部晶振穩定
        HSEStartUpStatus=RCC_WaitForHSEStartUp();
        //如果外部晶振啟動成功,則進行下一步操作
        if(HSEStartUpStatus==SUCCESS)
        {
        //設置HCLK(AHB時鐘)=SYSCLK
        RCC_HCLKConfig(RCC_SYSCLK_Div1);

        //PCLK1(APB1) = HCLK/2
        RCC_PCLK1Config(RCC_HCLK_Div2);

        //PCLK2(APB2) = HCLK
        RCC_PCLK2Config(RCC_HCLK_Div1);

        //設置ADC時鐘頻率
        RCC_ADCCLKConfig(RCC_PCLK2_Div2);

        //FLASH時序控制
        //推薦值:SYSCLK = 0~24MHzLatency=0
        //SYSCLK = 24~48MHz Latency=1
        //SYSCLK = 48~72MHz Latency=2
        FLASH_SetLatency(FLASH_Latency_2);
        //開啟FLASH預取指功能
        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

        //PLL設置 SYSCLK/1 * 9 = 8*1*9 = 72MHz
        RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
        //啟動PLL
        RCC_PLLCmd(ENABLE);
        //等待PLL穩定
        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);
        //系統時鐘SYSCLK來自PLL輸出
        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
        //切換時鐘后等待系統時鐘穩定
        while(RCC_GetSYSCLKSource()!=0x08);


        }


        關鍵詞: STM32RCC配置函

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 屯留县| 达拉特旗| 米易县| 四子王旗| 高尔夫| 延吉市| 彰化市| 修武县| 博野县| 东丰县| 建阳市| 镇平县| 永川市| 宜良县| 萨嘎县| 澄城县| 灵台县| 城固县| 平乐县| 华容县| 华安县| 互助| 廉江市| 双流县| 大连市| 丹寨县| 广昌县| 广平县| 湖南省| 巴林左旗| 兴文县| 永吉县| 高雄县| 扎鲁特旗| 黔江区| 文山县| 松桃| 阳原县| 津南区| 万全县| 广平县|