對于MCU來說,定時器是必備的一個模塊,原因在于定時器是使用頻率最高。
1寫在前面
我之前寫過許多關于定時器的文章,不過后臺還是有很多朋友問與定時期相關的問題,所以,這里也給大家推薦下面的這個關于定時器的資料。
相信有部分朋友都收到STM32公眾號的消息了,就是提供了一個我認為比較好的資料: STM32 定時器基本原理及常見問題之培訓資料 。
這個資料我是第一時間就下載來看了,覺得 整理的很好 。特別是對于很多初學以及學習了一段時間STM32的朋友來說,對全方面掌握定時器有很大幫助作用。
考慮到很多朋友都只是知道有這么一個資料,沒有下載來學習、掌握。所以,今天在這里挑一些要點, 帶領大家學習 。
下載地址在ST中文網,(最近)進入主頁,都能在首頁看到這個消息。
這個資料總共有186頁。內容比較多,但講述的比較全面。
( 提示 :公眾號不支持外部鏈接,請復制鏈接到瀏覽器打開)
2
資料的主要內容
? STM32定時器概述
? 定時器時基單元
? 定時器輸入捕捉功能
? 定時器比較輸出功能
? 定時器觸發同步與級聯
? 定時器DMA批量傳送
? 定時器產生的觸發輸出與其它外設的關聯
? STM32F334/STM32F7/STM32L4等新增的定時器功能
? 案例分享【穿插在上述內容中】
3
STM32定時器分類
整體講, STM32家族的定時器眾多,按照核內、核外標準大致分為兩部分:
核內定時器 + 外設定時器
? 核內定時器 : Systick
? 外設定時器: 特定應用定時器+常規定時器
? 特定應用定時器: LPTIM;RTC;WTD;HRTIM
? 常規定時器: 基本定時器、通用定時器、高級定時器 【本篇介紹重點】
按計數器位寬來分 :
? 16位定時器
? 32位定時器 【TIM2 TIM5】
? 24位定時器 【Systick】
常規定時器
1.基本定時器 :幾乎沒有任何對外輸入/輸出,常用作時基,實現基本的計數、定時功能。
2.通用定時器 :除了基本定時器的時基功能外,還可對外做輸入捕捉、輸出比較以及連接其它傳感器接口【編碼器和霍爾傳感器】 。
3.高級定時器 : 此類定時器的功能最為強大,除了具備通用定時器的功能外,還包含一些與電機控制和數字電源應用相關的功能,比方帶死區控制的互補信號輸出、緊急剎車關斷輸入控制。
4
STM32定時器模塊

STM32【通用或高級】 定時器大致分為 六個功能單元 :
? 從模式控制單元 :負責時鐘源、觸發信號源的選擇;控制計數器的啟停、復位、門控等;
? 時基單元 :定時器核心單元。負責時鐘源的分頻、計數、溢出重裝等。
? 輸入單元 :為部分的時鐘信號、 捕捉信號、 觸發信號提供信號源。
? 比較輸出單元 :通過對比較寄存器與計數器的數值匹配比較,實現不同輸出波形。
? 觸發輸出單元 :輸出觸發信號給到其它定時器或外設。
? 捕捉比較單元 : 是輸入捕捉或比較輸出的公共執行單元。
從信號鏈角度大體了解STM32定時器:

STM32定時器中存在著幾種基本的信號: ** 輸入信號、 時鐘信號、 觸發輸入信號、 觸發輸出信號** ,它們之間相互關聯形成相應的信號鏈,從而衍生出各種定時器的功能。
5
STM32定時器功能匯總
1、 六類功能單元
【時基、從模式控制、輸入、輸出、捕捉比較、觸發輸出】
2、 四類信號
【時鐘信號、外部輸入信號、觸發輸入信號、觸發輸出信號】
3、 四類事件
【更新事件、捕捉、 比較事件、觸發事件】
4、一大特性
【影子寄存器的預裝載特性】
這上面的一些內容掌握了,對定時器基本就沒多大問題了,資料中也有詳細說明。
6
案例:定時器一使能就進中斷的問題
問題描述 : TIMER初始化階段, 經常有人反饋一使能更新中斷就就進中斷服務程序?給開發帶來些困擾,原因可能是什么?如何解決?
因為在定時器的初始化代碼里有軟件更新操作觸發了更新事件,并置位了更新中斷標志,當使能更新中斷時就立刻進入更新中斷服務程序。
在STM32標準庫里的TIM_TimeBaseInit( )函數里都有這句代碼:
TIMx->EGR = TIM_PSCReloadMode_Immediate;
? 在Cube庫里的HAL_TIM_Base_Init( )函數里的 函數有這句代碼:
TIMx->EGR = TIM_EGR_UG;
顯然,這兩行代碼使用到了前面提到的軟件更新操作,觸發了更新事件,置位更新中斷標志。所以我們在使能定時器更新中斷 之前 ,可以先做更新中斷標志的清除操作。
說明:資料中提供了很多案例說明,以及分析,我覺得比較好,方便大家理解。請多理解一下這些案例。
7
時鐘源問題思考
1、幾種時鐘源?來自何處?
2、來自TI1fp1與TIF_ED信號差別是什么?
3、來自TI1/TI2的時鐘是否可以直接像內部時鐘一樣被計數器用來計數?
4、根據時鐘源的介紹,你了解到了幾種觸發輸入信號?
5、TI3FP4可以作為通道2的輸入捕捉信號嗎?
6、TI4FP4可以作為觸發信號嗎?
好了,篇幅有限,就寫到這里。這個資料的內容我基本都看了一遍,可以結合《參考手冊》一起學習,有部分內容來自《參考手冊》。
希望還不知道,卻又想學習并深入理解定時器的朋友盡快下載來看看。
-
單片機
+關注
關注
6078文章
45557瀏覽量
672866 -
mcu
+關注
關注
147文章
19072瀏覽量
402482 -
定時器
+關注
關注
23文章
3370瀏覽量
124326
發布評論請先 登錄
STM32 SYSTICK定時器常見問題
通用定時器的基本原理
MCU定時器的相關資料分享
STM32F103定時器原理與例程
STM32通用定時器基本原理
主要介紹SysTick系統定時器的基本原理
清除所有定時器_對于MCU來說,定時器太重要了!
STM32定時器基本原理
定時器基本原理及常見問題詳解
評論