GD32F303固件庫開發(fā)(13)----定時器TIM捕獲PWM測量頻率與占空比
概述
本章配置GD32F303輸出PWM,同時使用TIM測量PWM頻率和正占空比。 查閱手冊可以得知,PB11為定時器1的通道3,讓其輸出PWM,PA6為定時器2的通道0,讓作為TIM定時器輸入。 需要GD樣片的可以加群申請:615061293 。?

?

視頻教學(xué)
https://www.bilibili.com/video/BV1tg411m7pb/
csdn課程
課程更加詳細(xì)。?https://download.csdn.net/course/detail/37144
樣品申請
https://www.wjx.top/vm/wFGhGPF.aspx#
生成例程
這里準(zhǔn)備了自己繪制的開發(fā)板進(jìn)行驗證。?

?管腳圖如下所示。

?

keil配置
microlib 進(jìn)行了高度優(yōu)化以使代碼變得很小。 它的功能比缺省 C 庫少,并且根本不具備某些 ISO C 特性。 某些庫函數(shù)的運(yùn)行速度也比較慢,如果要使用printf(),必須開啟。

使能串口
串口重定向
串口重定向后就可以使用printf進(jìn)行打印。
占空比與頻率計算
占空比=(t1-t0)/(t2-t0) 頻率=(t2-t0)/時鐘頻率= =(t2-t0)/(120M/(psc+1))?

周期需要2個上升沿去判斷,設(shè)定第一個上升沿time_flag由0->1,下降沿time_dowm_flag由0->1,此時就知道正占空比時間,當(dāng)在產(chǎn)生上升沿時候,就可以計算出周期使用的時間。?

GPIO初始化
開啟中斷
TIM1輸出PWM初始化
PWM頻率計算如下所示。?

TIM2輸入捕獲設(shè)置
中斷
初始化
主程序
測試結(jié)果
當(dāng)輸出1k頻率,50%正占空比。?
