定時、輸出比較、輸入捕獲、互補輸出
分類:基本定時器(定時)
通用定時器(定時、輸出比較、輸入捕獲)
高階定時器(定時、輸出比較、輸入捕獲、互補輸出)
f103系列的開發板一般是倆個高階定時器tim1、tim8;4個通用定時器tim2/3/4/5;2個基本定時器tim6/7
而根據容量的大小,又稍有區別。
stm32s103rbt6開發板只有tim1/2/3/4
1.16位,tim6/7,只能向上計數
2.無gpio引腳,屬於內部資源
3.掛接在apb1上,時鐘來自pclk1,但頻率是72mhz(原因如圖),可1~65536分頻
4.計數器時鐘=時鐘源/(分頻係數+1),則計數1次時間就是 1/計數器時鐘
例:如果要定時1ms,時鐘源的72mhz不能改動,可以改的是分頻係數和重裝載的值。如:
令psc=72-1=71,定時器頻率為72/(71+1)=1mhz。
則一次計數為1us。arr值設定為1000,則可以定時1ms。
typedef
struct
tim_timebaseinittypedef;
//時基初始化結構體
tim.c
#include
"tim.h"
void
tim_config
(void
)void
tim4_nvic
(void
)
main.c
#include
"stm32f10x.h"
#include
"led.h"
#include
"./tim/tim.h"
uint16_t time=0;
intmain()
else
if(time==
2000)}
}
中斷函式:
void
tim4_irqhandler
(void
)}
STM32定時器(TIM)之通用定時器
stm32的通用定時器有四個,分別是tim2,tim3,tim4,tim5,有以下功能 通用定時器的框圖如下 從圖中可以看出,通用定時器timx的觸發源 計數器時鐘的時鐘源 有四個 1 內部時鐘 clk int 2 外部時鐘模式1 外部輸入引腳 tix 分別經timx chx通道傳入 3 外部時鐘模...
STM32 定時器 TIM 定時如何計算?
stm32定時器定時計算通過計數溢位計算,也就是說計數溢位就觸發中斷 計算公式 timeout prescaler 1 period 1 timeclockfren 解釋下公式引數意義 timeout 定時器溢位時間 單位為us 多少觸發 進入 一次tim中斷。prescaler 分頻tim時鐘的預...
基本定時器
一 程式設計要點 1 初始化時基結構體 2 配置中斷優先順序 3 寫中斷服務函式 4 寫主函式 二 定時時間計算 定時時間 中斷週期 中斷次數 以1s為例 tim prescaler timxpsc 暫存器 tim period arr 自動重裝載暫存器 timxclk 系統時鐘 ck clk 1 ...