基本定時器

2021-10-04 23:08:14 字數 1890 閱讀 3643

按定時器的功能可以分為定時,輸出比較(輸出pwm波),輸入捕獲(測量輸入訊號的脈衝寬度,頻率),互補輸出,按照定時器分類可以分為基本定時器(只有定時功能),通用定時器(有前三個功能),高階定時器(有全部功能),對於我們的f103系列有2個高階定時器tim1和tim8,4個通用定時器tim2/3/4/5,2個基本定時器tim6和tim7

基本定時器沒有外部的gpio,不能實現輸入捕獲和輸出比較,只能用來定時,它的時鐘來自pclk1,為72m,可實現1-65536分頻, 高階定時器來自apb2,一般也為72m

該部分為時鐘源,上面的圖示已經說明基本定時器的時鐘源來自pclk1,為72m,具體定時器的時鐘為多少還要看預分頻係數為多少

2.

該部分為控制器部分,控制器用於控制定時器的復位,使能,計數,觸發dac,涉及到的暫存器為:cr1/2,dier,egr,sr

3

該部分為時基,包括預分頻器,計數器,自動重裝載暫存器,1-16位的預分頻器psc對內部時鐘ck_psc進行分配之後,得到計數器時鐘ck_cnt = ck_psc/(psc+1),計數器cnt在計數器時鐘的驅動下開始計數,計數一次的時間為1/ck_cnt,所以計數的時間為自動重裝載暫存器(arr+1)乘以1/ck_cnt,特別注意的是psc和arr都有影子暫存器,功能框圖上有個影子暫存器,影子暫存器的存在起到乙個緩衝的作用,使用者值->暫存器->影子暫存器->起作用,如果不使用影子暫存器則使用者值在寫到暫存器之後則裡面起作用,由timx_cr1:apre位控制,還有乙個是tim1和tim8重複計數暫存器(timx_rcr),它用來記錄計數結束產生的次數,當我們往該暫存器[7:0]位寫入x時,則定時器要發生x次計數結束才會發生中斷,也就是我們總計數時間為單次計數時間乘以x.

}中斷服務函式

上述**定時的時間為500*1ms=500ms

基本定時器

一 程式設計要點 1 初始化時基結構體 2 配置中斷優先順序 3 寫中斷服務函式 4 寫主函式 二 定時時間計算 定時時間 中斷週期 中斷次數 以1s為例 tim prescaler timxpsc 暫存器 tim period arr 自動重裝載暫存器 timxclk 系統時鐘 ck clk 1 ...

定時器 STM32定時器 基本定時器1

我是鼎!定時器時鐘一定要明確其中有哪些變數。上圖為stm407資料手冊摘出來的,可能看不清楚,其實就蘊含了幾點資訊。注意一點,我們看圖2,我們以apb1舉例,上面掛著很多的外設,包括usart1 adc 以及定時器,我們知道apb1上面最高時鐘頻率為84mhz,但是定時器的時鐘是要在此基礎上乘2,也...

TIM基本定時器 定時

定時 輸出比較 輸入捕獲 互補輸出 分類 基本定時器 定時 通用定時器 定時 輸出比較 輸入捕獲 高階定時器 定時 輸出比較 輸入捕獲 互補輸出 f103系列的開發板一般是倆個高階定時器tim1 tim8 4個通用定時器tim2 3 4 5 2個基本定時器tim6 7 而根據容量的大小,又稍有區別。...