三種不同的時鐘源可被用來驅(qū)動系統(tǒng)時鐘(SYSCLK):
● HSI振蕩器時鐘
● HSE振蕩器時鐘
● PLL時鐘
這些設備有以下2種二級時鐘源:
● 40kHz低速內(nèi)部RC,可以用于驅(qū)動獨立看門狗和通過程序選擇驅(qū)動RTC。 RTC用于從停機/
待機模式下自動喚醒系統(tǒng)。
● 32.768kHz低速外部晶體也可用來通過程序選擇驅(qū)動RTC(RTCCLK)。
當不被使用時,任一個時鐘源都可被獨立地啟動或關閉,由此優(yōu)化系統(tǒng)功耗。
stm32單片機的將時鐘信號(例如HSE)經(jīng)過分頻或倍頻(PLL)后,得到系統(tǒng)時鐘,系統(tǒng)時鐘經(jīng)過分頻,產(chǎn)生外設所使用的時鐘。
設置時鐘流程:
1、將RCC寄存器重新設置為默認值 RCC_DeInit
2、打開外部高速時鐘晶振HSE RCC_HSEConfig(RCC_HSE_ON);
3、等待外部高速時鐘晶振工作 HSEStartUpStatus = RCC_WaitForHSEStartUp();
4、設置PLL RCC_PLLConfig
5、打開PLL RCC_PLLCmd(ENABLE);
6、設置系統(tǒng)時鐘 RCC_SYSCLKConfig
7、設置AHB時鐘 RCC_HCLKConfig;
8、設置低速速AHB時鐘 RCC_PCLK1Config
9、設置高速AHB時鐘 RCC_PCLK2Config;
10、等待PLL工作 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
11、判斷是否PLL是系統(tǒng)時鐘 while(RCC_GetSYSCLKSource() != 0x08)
12、打開要使用的外設時鐘 RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()
void RCC_init(void)
{
RCC_ClocksTypeDef RCC_ClockFreq;
RCC_DeInit(); //1、將RCC寄存器重新設置為默認值
#ifdef ClockSource_HSE
/*-----------------------------------
優(yōu)先選擇外部時鐘
------------------------------------*/
// Enable HSE
RCC_HSEConfig(RCC_HSE_ON); //2、打開外部高速時鐘晶振HSE
// Wait till HSE is ready
if (RCC_WaitForHSEStartUp() == SUCCESS) //3、等待外部高速時鐘晶振工作
{
/* Enable Prefetch Buffer */
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //使能或禁止預取緩存區(qū),F(xiàn)LASH的讀寫均需要時間,設置等待周期是為了確保正確的讀寫。因為cpu的速度遠遠大于FLASH的操作速度。用庫函數(shù) FLASH_SetLatency(FLASH_Latency_2)來設置。3、開啟FLASH預讀緩沖功能,加速FLASH的讀取。所有程序中必須的
/* Flash 2 wait state */
FLASH_SetLatency(FLASH_Latency_2);
// PLLCLK = 8MHz * 9 = 72 MHz
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //4、設置PLL
// Enable PLL
RCC_PLLCmd(ENABLE); //5、打開PLL
// Select PLL as system clock source 72M //6、設置系統(tǒng)時鐘
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
//HCLK = SYSCLK AHB 72M //7、設置AHB時鐘
RCC_HCLKConfig(RCC_SYSCLK_Div1);
// PCLK1 = HCLK/2 APB1 36M
RCC_PCLK1Config(RCC_HCLK_Div2); //8、設置低速速AHB時鐘
// PCLK2 = HCLK APB2 72M
RCC_PCLK2Config(RCC_HCLK_Div1); //9、設置高速速AHB時鐘
/* ADCCLK = PCLK2/4 */
RCC_ADCCLKConfig(RCC_PCLK2_Div4);
// Wait till PLL is ready
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); //10、等待PLL工作
// Wait till PLL is used as system clock source
while (RCC_GetSYSCLKSource() != 0x08); //11、判斷是否PLL是系統(tǒng)時鐘
return;
}
#endif
/*-----------------------------------
內(nèi)部HSI時鐘選擇
------------------------------------- */
RCC_HSICmd(ENABLE);
// 8M/2*9=36M
RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_9);
// HCLK = SYSCLK AHB 36M
RCC_HCLKConfig(RCC_SYSCLK_Div1);
// PCLK1 = HCLK/2 APB1 36M
RCC_PCLK1Config(RCC_HCLK_Div1);
// PCLK2 = HCLK APB2 36M
RCC_PCLK2Config(RCC_HCLK_Div1);
// Enable PLL
RCC_PLLCmd(ENABLE);
// Wait till PLL is ready
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
// Select PLL as system clock source
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
// Wait till PLL is used as system clock source
while (RCC_GetSYSCLKSource() != 0x08);
RCC_GetClocksFreq(&RCC_ClockFreq);//查看頻率值
}
上一篇:STM32 RTC鬧鐘中斷和喚醒待機模式
下一篇:STM32之RTC原理
推薦閱讀
史海拾趣
為了進一步提升品牌影響力和市場占有率,固得沃克積極尋求與行業(yè)內(nèi)知名企業(yè)的戰(zhàn)略合作。例如,公司與銳單商城達成戰(zhàn)略合作,共同推動電子元器件的在線銷售和服務。這一合作不僅拓寬了公司的銷售渠道,還提升了公司的品牌知名度和美譽度。通過不斷參與行業(yè)交流和合作,固得沃克在電子行業(yè)中的影響力日益增強,為公司的長遠發(fā)展奠定了堅實基礎。
隨著電子行業(yè)的快速發(fā)展,科達嘉意識到技術革新是企業(yè)持續(xù)發(fā)展的關鍵。因此,公司不斷增加自動化生產(chǎn)設備,購置先進的質(zhì)量測試儀器,并籌建了電感元器件分析實驗室和標準的AEC-Q200可靠性實驗室。這些舉措大大增強了公司的研發(fā)分析能力,提升了產(chǎn)品質(zhì)量和生產(chǎn)效率。科達嘉逐漸形成了以材料研發(fā)、產(chǎn)品研發(fā)、生產(chǎn)、質(zhì)量及物控為基礎的完整產(chǎn)業(yè)鏈。
作為一家有社會責任感的企業(yè),CTC公司積極參與社會公益事業(yè)。公司不僅捐款支持教育、環(huán)保等公益事業(yè),還利用自身的技術優(yōu)勢為社區(qū)提供技術支持和解決方案。這些行為使得CTC公司在社會中樹立了良好的形象,贏得了公眾的信任和尊重。同時,通過履行社會責任,CTC公司也提升了自身的品牌價值和市場競爭力。
請注意,以上故事是基于假設和虛構(gòu)的,并非真實發(fā)生的事件。它們旨在展示一個電子行業(yè)中公司發(fā)展可能經(jīng)歷的一些典型情境和挑戰(zhàn),以及應對這些情境和挑戰(zhàn)的可能策略。在現(xiàn)實中,每個公司的發(fā)展都有其獨特性和復雜性,因此這些故事僅供參考,不能作為CTC公司或任何其他公司實際發(fā)展情況的依據(jù)。
面對日益激烈的市場競爭和不斷變化的市場需求,Electric Imp Inc.公司始終保持著敏銳的市場洞察力和持續(xù)的創(chuàng)新精神。公司不斷推出新產(chǎn)品、新技術,以滿足不同客戶的需求。同時,公司還加強了內(nèi)部管理和團隊建設,提高了員工的專業(yè)素質(zhì)和工作效率。這些努力使得公司能夠保持持續(xù)的發(fā)展態(tài)勢,并在電子行業(yè)中保持領先地位。
近年來,地博電子積極響應行業(yè)發(fā)展趨勢,不斷推進數(shù)字化轉(zhuǎn)型和精益生產(chǎn)。在2022年,公司導入了精益生產(chǎn)系統(tǒng),通過優(yōu)化生產(chǎn)流程、降低庫存和浪費等措施,進一步提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。同時,在2023年,地博電子還導入了OA/SAP信息化系統(tǒng),開啟了數(shù)字化轉(zhuǎn)型之路。這些舉措使得地博電子在電子材料行業(yè)中保持了領先地位,并為公司的未來發(fā)展奠定了堅實基礎。
請注意,以上故事概要僅為地博電子(DIBO)公司發(fā)展歷程中的部分關鍵事實,更多詳細信息和數(shù)據(jù)可參考公司官方資料。
隨著公司業(yè)務的不斷發(fā)展,地博電子在2010年成功投產(chǎn)了2條全自動化PC薄膜生產(chǎn)線。這一舉措不僅大大提高了生產(chǎn)效率,降低了生產(chǎn)成本,還確保了產(chǎn)品質(zhì)量的穩(wěn)定性和一致性。全自動化生產(chǎn)線的投產(chǎn),為地博電子在電子材料行業(yè)中的競爭地位奠定了堅實的基礎。
2442 +wince 5.0 在kernal 起來一半,系統(tǒng)死機,死的地方每次還不一樣,求肋! 各位大蝦,小弟最近碰到一個死機的問題,偶然有那么幾塊板在開機的過程中會死機,一般都在kernal起來一半的樣子,就停住了,而且每次停的地方還不一樣,并且不是每次都會死機,開幾十次有那么一兩次的樣子,所以這個問題非常的煩人。 另:我的產(chǎn) ...… 查看全部問答∨ |
將文件上傳到外部ftp server,發(fā)現(xiàn)小的文件上上傳失敗(幾K左右的),稍大一點的文件可以上傳。上傳幾K文件時,Server端打印上載失敗,文件上傳了一部分,但沒全部上傳。 代碼流程大致如下: 1、獲取文件長度lLen,分配內(nèi)存 2、執(zhí)行ftpxter 3、 ...… 查看全部問答∨ |
不使用三極管和MOS管是否也可以搭建一個單鍵開關電路呢? 就是按一下電源可以接通,再按一下電源斷開的那種。 哪位高人能給一個示意圖呢? 懇請大家?guī)蛶兔Γ兄x萬分!… 查看全部問答∨ |
我有一塊ARM的FL2440的板子,如果我要做個關于攝像頭的程序(linux的),從市場上買一塊主流的攝像頭,像素稍微高點,然后是USB2.0的,希望采集圖像在LCD中顯然,那么是不是載一個萬能驅(qū)動配置下,然后參考一些教程寫個應用程序,就可以了呢?還需 ...… 查看全部問答∨ |
小弟冒昧請問 我分配了430f149的引腳給 RF模塊(加*的是RF模塊信號 不知道這么分配clk和數(shù)據(jù)收發(fā)端 能不能行啊 求指教 )… 查看全部問答∨ |
隨著醫(yī)療電子設備在醫(yī)療場所的廣泛應用,漏電流對病人的威脅也越來越大。在醫(yī)院里有些病人并非死于疾病或重傷,而是死于電氣事故。為了保障醫(yī)療重要場所的電氣安全,為這些場所的醫(yī)療電器提供一個安全可靠的電源,世界各國大多采用局部IT系統(tǒng)(亦 ...… 查看全部問答∨ |
設計資源 培訓 開發(fā)板 精華推薦
- 利用STM32MP1和STM32MP2在嵌入式 Linux 平臺上部署有效的安全保護機制
- 超小但強大:MCU 的小尺寸封裝和集成如何幫助優(yōu)化空間受限的設計
- 德州儀器推出全球超小型 MCU,助力微型應用創(chuàng)新
- Microchip推出電動兩輪車(E2W)生態(tài)系統(tǒng),加速電動出行創(chuàng)新
- 意法半導體推出STM32U3微控制器,面向遠程、智能和可持續(xù)應用,拓展超低功耗系列創(chuàng)新
- (一) ECloudIDE入門STM32-CubeMX工程創(chuàng)建與導入
- (二)ECloudIDE入門STM32-官方寄存器版例程使用
- Simulink STM32F407VGT6實現(xiàn)硬件在環(huán)
- openharmony:hilog_lite組件移植