STM32F1筆記(八)時鐘

STM32有五種時鐘源

1、HSI。高速內部時鐘,RC振蕩器,頻率為8MHz。

2、HSE。高速外部時鐘,可接石英/陶瓷諧振器,或者借外部時鐘源,頻率范圍為4MHz~16MHz。

3、PLL。鎖相環倍頻輸出,其時鐘輸入源可選擇為HSI/2、HSE或者HSE/2。倍頻可選擇2~16倍,其輸出頻率最大不能超過72MHz(STM32F1)。

4、LSI。低速內部時鐘,RC振蕩器,頻率為40KHz。獨立看門狗的時鐘源只能是LSI,同事LSI還可以作為RTC的時鐘源。

5、LSE。低速外部時鐘,接頻率為32.768KHz的石英晶體。這個主要是RTC的時鐘源。

?

時鐘樹如下圖

?

?時鐘的配置可使用STM32CubeMX來作為參考

從配置圖可觀察到,當外部時鐘源為8M時,通過PLL9倍倍頻 后得到72M,即SYSCLK為72M。

其中需要注意的是,APB1上連接的是低速外設,最大時鐘為36M;

APB2上連接的是高速外設,最大時鐘為72M。

兩者連接的定時器時鐘都為72M。

?

系統時鐘配置函數是system_stm32f10x.c中的SystemInit(),它調用了SetSysClock();

/*** @brief  Configures the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers.* @param  None* @retval None*/
static void SetSysClock(void)
{
#ifdef SYSCLK_FREQ_HSESetSysClockToHSE();
#elif defined SYSCLK_FREQ_24MHzSetSysClockTo24();
#elif defined SYSCLK_FREQ_36MHzSetSysClockTo36();
#elif defined SYSCLK_FREQ_48MHzSetSysClockTo48();
#elif defined SYSCLK_FREQ_56MHzSetSysClockTo56();  
#elif defined SYSCLK_FREQ_72MHzSetSysClockTo72();
#endif/* If none of the define above is enabled, the HSI is used as System clocksource (default after reset) */ 
}

可以看出可以通過宏定義來配置系統時鐘為多少。同時最后的注釋告訴我們,如果沒有任何HSE的宏定義被使能,HSI將被用為系統時鐘源。

例如72M的時鐘

#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
/* #define SYSCLK_FREQ_HSE    HSE_VALUE */#define SYSCLK_FREQ_24MHz  24000000
#else
/* #define SYSCLK_FREQ_HSE    HSE_VALUE */
/* #define SYSCLK_FREQ_24MHz  24000000 */ 
/* #define SYSCLK_FREQ_36MHz  36000000 */
/* #define SYSCLK_FREQ_48MHz  48000000 */
/* #define SYSCLK_FREQ_56MHz  56000000 */
#define SYSCLK_FREQ_72MHz  72000000
#endif

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374392.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374392.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374392.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java常用工具類(一)

一、String工具類 package com.mkyong.common; import java.util.ArrayList; import java.util.List; /** * * String工具類. <br> * * author 宋立君 * date 2014年06月24日 */ public class StringUtil { private static final int INDEX_NO…

Oracle定時器調用存儲過程

關于Oracle定時器調用存儲過程的一點總結&#xff0c;如果有不足的地方&#xff0c;希望大家多多指導&#xff0c;也是第一次在博客上寫東西&#xff0c;以前也只是自己總結之后放在硬盤了&#xff0c;后來同事告訴自己&#xff0c;其實寫博客可以獲得很多&#xff0c;不管是知…

python可以下載百度文庫_不用下載券也能下載百度文庫資料,Python幫你輕松搞定...

大家可能平時都有在百度文庫下載文檔的經歷&#xff0c;費盡心思好不容易在文庫找了一份可以用的資料&#xff0c;一看需要用下載券下載&#xff0c;搞的人很煩。 有的人為了節省時間&#xff0c;就任性辦理了個文庫VIP&#xff0c;再也不用糾結怎么下文檔了。如果你是一個百度…

將對象映射到多個XML模式–天氣示例

我已經在EclipseLink JAXB&#xff08;MOXy&#xff09;的XmlPath和外部綁定文件擴展中撰寫了以前的文章。 在本文中&#xff0c;我將通過將單個對象模型映射到兩個不同的XML模式來演示這些擴展的功能。 為了使示例更加“真實”&#xff0c;XML數據將來自提供天氣信息的兩種不同…

STM32F1筆記(九)通用定時器

STM32F1的定時器分為TIME1/8等高級定時器&#xff0c;TIME2~5等通用定時器&#xff0c;TIME6/7基本定時器。三者的區別主要參考《STM32中文參考手冊》里特性的每種定時器主要特性的異同。 先看中文手冊中通用定時器的簡介&#xff1a; 通用定時器的寄存器有一個比較有趣的地方…

佳能MP258的5200錯誤和P08代碼解決方法及清零方法

參考文章轉載于:https://www.cnblogs.com/arcer/p/5659624.html

tomcat通過conf-Catalina-localhost目錄發布項目詳解

轉自&#xff1a;http://www.cnblogs.com/iyangyuan/p/3316444.html&#xff0c;感謝 楊元。 Tomcat發布項目的方式大致有三種&#xff0c;但小菜認為通過在tomcat的conf/Catalina/localhost目錄下添加配置文件&#xff0c;來發布項目&#xff0c;是最佳選擇。 因為這樣對tomca…

c++保存圖標到dll_自動保存郵件附件至指定文件夾

最近有個需求&#xff0c;ERP系統會自動發很多csv附件到我郵箱&#xff0c;我需要把這些附件上傳到FTP服務器&#xff0c;服務器會把這些csv的數據寫到另外一個系統的數據庫。每次大概有30個郵件&#xff0c;每個郵件有一個附件&#xff0c;而且附件的名字都一樣&#xff0c;是…

有時在Java中,一個布局管理器是不夠的

在開發Java Swing應用程序時&#xff0c;最經常的是&#xff0c;我們需要在多個嵌套面板中使用多個布局管理器。 通常這不是問題&#xff0c;并且被認為是幾乎所有人類已知語言的所有UI開發的常規做法。 但是&#xff0c;大多數情況下&#xff0c;對于UI中的每個面板&#xff0…

VM克隆之后啟動eth0找不到eth0:unknown interface:no such device

問題出現&#xff1a;VMware 克隆之后&#xff0c;ifconfig命令執行找不到eth0,報錯 eth0:unknown interface:no such device 是因為/etc/sysconf/network-scripts/ifcfg-eth0配置復制過來和虛擬主機的網卡Mac等信息不匹配 解決方法&#xff1b; 刪除/etc/udev/rules.d/70-pers…

“精彩極了”和“糟糕透了”

雖然已經是25歲&#xff0c;但是對小學的一篇課文依然記憶尤新&#xff0c;《“精彩極了”和“糟糕透了”》。 課文正文 記得七八歲的時候&#xff0c;我寫了第一首詩。母親一念完那首詩&#xff0c;眼睛亮亮的&#xff0c;興奮地嚷著&#xff1a;“巴迪&#xff0c;真是你寫的…

python中print的用法_Python中print函數簡單使用總結

Python中print函數簡單使用總結 print函數是Python的入門&#xff0c;每一個學習python的人都繞不開這個函數&#xff0c;下面介紹一下這個函數的用法。 打開電腦&#xff0c;選擇python軟件&#xff0c;下面選擇python 3.7為例進行介紹&#xff0c;點擊python 3.7&#xff0c;…

STM32F1筆記(十)PWM

PWM&#xff1a;Pulse Width Modulation&#xff0c;脈沖寬度調制。是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術。簡單來說就是對脈沖寬度的控制。 在《STM32中文參考手冊》里可以看到 占空比&#xff1a;占空比是指在一個脈沖循環內&#xff0c;通電時…

從GlassFish 3.x擴展到WebLogic 12c Server

Oracle針對GlassFish服務器的策略的主要目標之一是“與Fusion Middleware and Products集成”&#xff08;來源&#xff1a; Community Roadmap&#xff0c;2010年5月 &#xff09;。 在今年早些時候&#xff0c;您聽到了很多關于兩臺服務器合而為一的恐懼和謠言。 看到這兩種產…

移動互聯網時代:如何讓女孩愛上你在一分鐘內?

部分《移動互聯網時代&#xff1a;讓女孩愛上你在一分鐘內》其實我只是做原來的盲目思想有移動互聯網的自主知識產權&#xff0c;他沒有詳細說明如何真正讓女孩愛上你在一分鐘內&#xff1f;在真實生活中&#xff0c;預期也沒有那么簡單&#xff0c;易于&#xff0c;畢竟&#…

hashset去重原理_基于simhash的文本去重原理

互聯網網頁存在著大量重復內容&#xff0c;必須有一套高效的去重算法&#xff0c;否則爬蟲將做非常多的無用功&#xff0c;工作時效性無法得到保證&#xff0c;更重要的是用戶體驗也不好。業界關于文本指紋去重的算法眾多&#xff0c;如 k-shingle 算法、google 提出的simhash …

解決express video 手機無法播放的問題

http://stackoverflow.com/questions/24976123/streaming-a-video-file-to-an-html5-video-player-with-node-js-so-that-the-video-c 項目地址 https://github.com/shenggen1987/mp4-demo express index.jade extends layoutblock contenth1 titlep Welcome to #{title}vid…

STM32F1筆記(十一)ADC

查看《STM32中文參考手冊》里ADC的介紹和特性 STM32的ADC最大轉換速率為1Mhz&#xff0c;即1us&#xff0c;在ADCCLK14M&#xff0c;采樣周期為1.5個ADC時鐘下得到。當ADC的時鐘超過14M時&#xff0c;將導致結果準確度下降。 規則通道相當于正常運行的程序。注入通道就相當于中…

使用JPA和Spring 3.1進行事務配置

1.概述 本教程將討論配置Spring Transactions &#xff0c;使用Transactional批注和常見陷阱的正確方法 。 要更深入地討論核心持久性配置&#xff0c;請查看Spring with JPA教程 。 有兩種不同的配置事務的方法– 批注和AOP –每種都有自己的優勢–我們將在這里討論更常見的…

java epoll select_字節跳動高頻面試題,操作系統/算法/Java等。

字節跳動# Java▲ 20 Java 中垃圾回收機制中如何判斷對象需要回收&#xff1f;常見的 GC 回收算法有哪些&#xff1f;▲ 18 synchronized 關鍵字底層是如何實現的&#xff1f;它與 Lock 相比優缺點分別是什么&#xff1f;▲ 17 hashmap 和 hashtable 的區別是什么&#xff1f;▲…