利用函數TIM_GetCounter(TIMx)獲取上升沿和下降沿的CNT值,根據計數頻率進行計算。
這里采用的方式是輸入捕獲,輸入捕獲模式可以用來測量脈沖寬度或者測量頻率。STM32的定時器,除了TIM6、TIM7,其他的定時器都有輸入捕獲的功能。下面以一個簡單的脈沖輸入為例,簡單地講述一下輸入捕獲用于測量脈沖寬度的工作原理:

PWM圖
先設置輸入捕獲為上升沿檢測,記錄發生上升沿時TIMx_CNT的值。然后配置捕獲信號為下降沿捕獲,當下降沿到來的時候發生捕獲,并記錄此時的TIMx_CNT的值。這樣,前后兩次TIMx_CNT的值之差就是高電平的脈寬。同時根據TIM的計數頻率,我們就能知道高電平脈寬的準確時間。
2-3時間為t1,4-5時間為t2,這樣一個周期內高電平脈寬時間占比t1/(t1+t2)
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
STM32
+關注
關注
2309文章
11162瀏覽量
373415 -
定時器
+關注
關注
23文章
3368瀏覽量
123596
發布評論請先 登錄
相關推薦
熱點推薦
求:基于555定時器的脈寬檢測電路!
如題,求一個基于555定時器的脈寬檢測電路!之前在網上和書上找過這一電路,但應用到實際時卻不盡如人意!在書上找到的電路圖:我本來想用在無人機上做一款電子遙控開關,但經過試驗,并不能按預想在脈
發表于 07-24 16:24
【STM32F4】HAL庫 CubeMX(九)--------定時器輸入捕獲實驗 精選資料推薦
輸入捕獲的使用。在本章中,我們將用 TIM5 的通道 1(PA0)來做輸入捕獲,捕獲 PA0 上高電平的脈寬(用 KEY_UP 按鍵輸入高電平),通過串口打印
發表于 08-17 08:43
定時器輸入捕獲實驗概述
為下降沿捕獲,當下降沿到來時,發生捕獲,并記錄此時的 TIM2_CNT 值。這樣,前后兩次 TIM2_CNT 之差,就是高電平的脈寬,同時 TIM2 的計數頻率我們是知道的,從而可以計算出高電
發表于 01-06 08:21
STM32 通用定時器 輸入捕獲 測量脈寬例程,并做了超時處理
STM32 通用定時器 輸入捕獲 測量脈寬例程,并做了超時處理,歡迎下載。1-該例程已經在霸道和指南者上驗證過 2-用的是TIM5的通道1,即PA0來測量
發表于 12-05 15:00
?46次下載
[STM32]通用定時器的使用
什么是PWM2.通過改變脈寬來改變亮滅程度總結前言首先還是要了解STM32庫函數中提供的使用定時器所需要配置的結構體成員的含義typedef struct{ uint16_t TIM
發表于 11-22 19:06
?24次下載
基于定時器捕獲測量脈寬的應用示例
我們知道,利用單片機定時器捕獲功能測量脈沖信號寬度及占空比是種很常見的做法。這里以STM32的定時器為例來介紹基于其捕獲功能實現對脈寬的測量
發表于 11-26 16:36
?9次下載
STC用PCA測量脈寬_「話說定時器系列」之十:PWM輸入模式測量脈寬及占空比實驗...
TIMER 的基本應用原理、常規應用等。現在將課程內容整理為文章,針對STM32定時器有基本了解的用戶,分享具體的應用實現環節及常見問題解決。1. 實驗內容使用STM32定時器PWM
發表于 12-27 19:02
?2次下載
電工知識—SIMATIC S7-1500 PLC定時器—脈沖和擴展脈沖時間定時器
SP:產生指定時間寬度脈沖的定時器。當邏輯位有上升沿時,脈沖定時器指令啟動計時,同時節點立即輸出高電平“1”,直到定時器
stm32定時器如何獲取高電平脈寬的時間
評論