娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年03月01日(星期六)

2020年03月01日 | STM32-嵌入式學習筆記1-使用HSE和HSI配置時鐘

發布者:快樂飛翔 來源: elecfans關鍵字:STM32  HSE  HSI  配置時鐘 手機看文章 掃描二維碼
隨時隨地手機看文章

RCC主要作用:時鐘


設置SYSCLK   設置AHB分頻因子····配置好這些因子就能對時鐘進行完整的配置。

時鐘樹如圖:


系統時鐘的選擇是在啟動時進行,復位時內部8MHz的RC振蕩器被選為默認的CPU時鐘,隨后可以

選擇外部的、具失效監控的4~16MHz時鐘;當檢測到外部時鐘失效時,它將被隔離,系統自動地切

換到內部的RC振蕩器,如果使能了中斷,軟件可以接收到相應的中斷。同樣,在需要時可以采取對

PLL時鐘完全的中斷管理(如當一個間接使用的外部振蕩器失效時)。

多個預分頻器用于配置AHB的頻率、高速APB(APB2)和低速APB(APB1)區域。AHB和APB的最高頻

率是36MHz。


 


編程要領:


1)開啟HSE/HSI 等待HSE/HSI 穩定


2)設置AHB,APB2,APB1的預分頻因子


3)設置PLL的時鐘來源和PLL的倍頻因子,各個頻率主要在這里設置


4)開啟PLL 等待PLL穩定


5)把PLLCK切換為系統時鐘SYSCLK


6)讀取時鐘切換狀態位,確保PLLCLK被選中為系統時鐘


HSE配置系統時鐘


#include "stm32f10x.h"

#include "bsp_rccclkconfig.h"

 

void HSE_SetSysClk(uint32_t RCC_PLLMul_x) //設置HSE為系統時鐘

{

//把RCC外設初始化成復位狀態

ErrorStatus HSEStatus;

//把RCC寄存器復位

RCC_DeInit();

//使能HSE,開啟外部晶振

RCC_HSEConfig(RCC_HSE_ON);

//等待HSE啟動

HSEStatus=RCC_WaitForHSEStartUp();

//當HSE穩定之后繼續往下執行

if(HSEStatus== SUCCESS )

{

//使能預取指

FLASH_PrefetchBufferCmd( FLASH_PrefetchBuffer_Enable);

FLASH_SetLatency(FLASH_Latency_2);

        //LATENCY:時延

//這些位表示SYSCLK(系統時鐘)周期與閃存訪問時間的比例

//000:零等待狀態,當 0 < SYSCLK ≤ 24MHz

//001:一個等待狀態,當 24MHz < SYSCLK ≤ 48MHz

//010:兩個等待狀態,當 48MHz < SYSCLK ≤ 72MHz

RCC_HCLKConfig(RCC_SYSCLK_Div1);

RCC_PCLK1Config(RCC_HCLK_Div1);

RCC_PCLK2Config(RCC_HCLK_Div2);

 

//配置PLLCLK = HSE *RCC_PLLMul_x

RCC_PLLConfig( RCC_PLLSource_HSE_Div1,RCC_PLLMul_x);

//使能PLL

RCC_PLLCmd(ENABLE);

//等待PLL時鐘穩定

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)== RESET )

{

//選擇系統時鐘

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

while(RCC_GetSYSCLKSource() !=0x08);

}

}

else

{

}

}

 

void MCO_GPIO_Config()

{

//定義一個GPIO_InitTypeDef類型的結構體

GPIO_InitTypeDef GPIO_InitStructure;

 

//開啟LED相關GPIO的外設時鐘

RCC_APB2PeriphClockCmd(  RCC_APB2Periph_GPIOA, ENABLE);

//選擇控制的引腳

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;

 

//選擇輸出方式為推挽輸出

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;   

 

//設置引腳速率為50MHZ

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 

 

//調用庫函數,初始化GPIO

GPIO_Init(GPIOA, &GPIO_InitStructure);

}

使用HSI作為系統時鐘


#include "stm32f10x.h"

#include "bsp_rccclkconfig.h"

 

void HSI_SetSysClk(uint32_t RCC_PLLMul_x) //設置HSE為系統時鐘

{

//把RCC外設初始化成復位狀態

__IO uint32_t HSIStatus=0;

//把RCC寄存器復位

RCC_DeInit();

//使能HSI,開啟外部晶振

RCC_HSICmd(ENABLE);

//等待HSE啟動

HSIStatus =RCC->CR & RCC_CR_HSIRDY;

//當HSE穩定之后繼續往下執行

if(HSIStatus== SUCCESS )

{

//使能預取指

FLASH_PrefetchBufferCmd( FLASH_PrefetchBuffer_Enable);

FLASH_SetLatency(FLASH_Latency_2);

//設置SYSCLK周期與flash的訪問時間比例,這里為2

//設置成2的時候,SYSCLK低于48MHz也可以工作,設置成0或者1

RCC_HCLKConfig(RCC_SYSCLK_Div1);

RCC_PCLK1Config(RCC_HCLK_Div1);

RCC_PCLK2Config(RCC_HCLK_Div2);

 

//配置PLLCLK = HSE *RCC_PLLMul_x

RCC_PLLConfig( RCC_PLLSource_HSI_Div2,RCC_PLLMul_x);

//使能PLL

RCC_PLLCmd(ENABLE);

//等待PLL時鐘穩定

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)== RESET )

{

//選擇系統時鐘

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

while(RCC_GetSYSCLKSource() !=0x08);

}

}

else

{

}

}

 

void MCO_GPIO_Config()

{

//定義一個GPIO_InitTypeDef類型的結構體

GPIO_InitTypeDef GPIO_InitStructure;

 

//開啟LED相關GPIO的外設時鐘

RCC_APB2PeriphClockCmd(  RCC_APB2Periph_GPIOA, ENABLE);

//選擇控制的引腳

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;

 

//選擇輸出方式為推挽輸出

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;   

 

//設置引腳速率為50MHZ

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 

 

//調用庫函數,初始化GPIO

GPIO_Init(GPIOA, &GPIO_InitStructure);

}

關鍵字:STM32  HSE  HSI  配置時鐘 引用地址:STM32-嵌入式學習筆記1-使用HSE和HSI配置時鐘

上一篇:STM32-EXTI中斷的分析及應用
下一篇:【菜鳥入門】stm32 之 pwm

推薦閱讀

致力于在功耗、安全、可靠性和性能方面提供差異化半導體技術方案的供應商美高森美公司(Microsemi Corporation,紐約納斯達克交易所代號:MSCC)宣布提供下一代1200V 碳化硅(SiC) MOSFET系列的首款產品40 mOhm MSC040SMA120B器件,以及與之配合的1200 V SiC肖特基勢壘二極管(SBD),進一步擴大旗下日益增長的SiC分立器件和模塊產品組合。 這款全新SiC...
集微網消息,據IC Insights最新發布的2019-2023年全球晶圓產能報告顯示,IC產業一直致力于消滅低效率產能,以便實現更加經濟的使用生產設備。尤其是在過去幾年,隨著半導體產業并購活動激增,越來越多的公司采用20nm以下的工藝生產IC器件,這也迫使越來越多的供應商淘汰生產效率低下的晶圓廠。IC Insights最新報告指出,在過去的十年中(2009-2018年),...
據路透社報道,24日剛剛復工的三星龜尾工廠在今日再次宣布暫時停工,復工時間定于3月3日下午。據此前報道,三星就曾宣布位于韓國龜尾市的移動設備工廠已確認發生一例冠狀病毒病例,其整個工廠關閉至2月24日上午。而此次關閉工廠也是因為工廠一名員工新冠病毒檢測呈陽性。據韓聯社報道,此次確診的病例是三星電子龜尾工廠的第三個確證病例,該成員家庭的三...
片間傳輸--高速數據串擾這幾天調試一個東東,STM32的FSMC傳輸數據給Bingo自制的VGA控制器,由于沒有直接打板,板間用了杜邦線連接。FMSC傳輸模式為最快的速度,FSMC寫時序如下圖所示,最快達到了72M(HCLK)的速度。但是我用了杜邦線,,沒辦法。。。神奇的事情不斷地發生,幽靈一直在身邊,以此分享給大家點滴心得,雖然我也只是知道皮毛。下圖是我項目中...

史海拾趣

問答坊 | AI 解惑

畢業設計《汽車后視鏡自動控制》,各位高手幫幫忙。

小弟對單片機零基礎,老師給的題目是《汽車后視鏡自動控制》,自學了一段時間困難重重,光看書,感覺太過抽象,而且對一些術語不懂,請各位大俠指點迷經,我現在該怎么來學,還2個多月時間,可以搞定么,對這個題目有什么見解,幫小弟一下,過兩天 ...…

查看全部問答∨

1000元求教Yacc Lex C到VHDL最基本功能編譯器

各位前輩,本人求一個C到VHDL轉換編譯器的代碼, 功能: 只需要最基本的功能,這里給出一個C寫的加法器程序并給出一個相應應該轉換成的VHDL(見附件2頁的論文中),當然您也可以自行修改,或是直接給個另外的程序,當然越簡單越好。但是只需要完成 ...…

查看全部問答∨

關于GPRS!問題解決馬上給分

小弟是軟件開發的,目前要寫一款與GPRS通訊的上位機軟件,但是不明白軟件與GPRS的通訊流程,簡單點說就是不知道軟件的數據包該發送到哪,比如說  數據→軟件→串口→單片機  ;就類似這種的說明,到底整套系統的結構是什么樣的 ...…

查看全部問答∨

高分,求wdm驅動開發程序的書的代碼,武安河的那本!

哪位有完整的代碼,可以發一下嗎? 或者說個有效的地址,謝謝! 也可以發到信箱或者qq聯系我 big-genie@163.com qq:279166805 …

查看全部問答∨

LED倒裝(Flip chip)

replyreload += \',\' + 698650;Timson,如果您要查看本帖隱藏內容請回復…

查看全部問答∨

STM32特權級訪問的問題

MRS     R0, PRIMASK CPSID   I 這兩個指令應該是在特權級下才能訪問的吧,在用戶級下使用的話,產生BusFault的 但是,我在移植ucosii操作系統的時候,在任務切換時,切換到用戶級 PSP下運行,運行到關中斷 ...…

查看全部問答∨

有人有ccs v4/v5的使用手冊能傳我一份嗎?

菜鳥求幫助suse.edu.cn@hotmail.com   感激不盡…

查看全部問答∨

有關9B96以太網部分

想用戶9b96開發板去訪問別的板子上的網頁該怎么做?…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 绿春县| 岳普湖县| 遵义县| 余干县| 朝阳市| 西丰县| 隆回县| 丰顺县| 保定市| 张家界市| 颍上县| 白河县| 巧家县| 彭州市| 崇仁县| 陆良县| 石首市| 麦盖提县| 乌审旗| 保山市| 晋州市| 龙游县| 东莞市| 台中市| 翼城县| 白银市| 黑山县| 高唐县| 高要市| 宣威市| 湘西| 泰州市| 信丰县| 长岛县| 济宁市| 海丰县| 宁陵县| 荆州市| 青阳县| 海宁市| 龙游县|