STM32F4通用定時器


1、基本原理

三種定時器區別

通用定時器功能特點描述

在這里只用輸入捕獲事件也能獲取脈沖個數同時可以只使用它來獲取脈沖寬度,比如當捕獲到上升沿,馬上進入中斷,把計數器的值置零,然后等待捕獲下降沿的到來,記下此時的值,(當然中間有可能有多次中斷,故計算脈沖時要算上),輸出比較來輸出PWM波形,更新來做定時器用;我的簡單理解;當然可以交叉用。

文字敘述:上面首先是時鍾來源,A,內部時鍾(CK_INT),來源於APB1的倍頻,B,外部時鍾TIMx_ETR,C,定時器時鍾的級聯;然后經過使能,向上/向下計數方式,形成CK_PSC,再經過PSC預分頻器分頻形成CK_CNT,定時器計數時鍾。1)對於定時器功能,對自動重裝載寄存器設定初值,然后計數器CNT寄存器向上或者向下溢出后,產生更新中斷時間。2)對於輸入捕獲,假設通道1,先進行輸入濾波,以及邊沿檢測,然后輸出到IC1,進行預分頻,就是對來的脈沖多少個脈沖檢測一次,一般是不分頻,一次脈沖檢測一次,當捕獲到一個上升沿,可以記錄下此時的定時器的值,也可以置零,然后下一次邊沿到來,則記下此時的值,記一個脈沖,然后可以計算它的寬度,以及脈沖的個數。3)輸出比較:預裝載某值到輸出比較寄存器當中,當計數器的值大於了該值得時候,輸出假設高電平,小於該值得時候輸出低電平,這樣可以形成PWM波,用自動重裝載寄存器的值作為整個周期,用比較寄存器的值作為脈沖寬度,從而可以通過調節周期(也可以叫頻率),也可以調節脈寬。

2、定時器中斷

ClockDivision應用於輸入捕獲!!!

bsp_timer.c文件:

bsp_timer.h文件:

main.c文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM