基于CubeMX(hal庫)stm32中hrtim高分辨率定時器的基本使用(自存)
一、CubeMX配置
1、選通道
單通道輸出or雙通道輸出
2、Timer A~F配置
(Master Timer不用管)
比較值Compare
個人感覺跟CCR差不多的意思,注意不要大于上面的Period就行
設(shè)置上升沿和下降沿時間:
若想讓上設(shè)Compare=CCR如圖設(shè)置即可
即在計數(shù)到Compare1時拉低,計數(shù)溢出時拉高
所以上圖輸出頻率10kHz占空比25%的互補(bǔ)PWM波
Set/Reset Sourcee Selection設(shè)置有幾個源可以決定拉低拉高時間,有多個源還可設(shè)置優(yōu)先級
下面的Output 2 Configuration我設(shè)置了互補(bǔ)輸出直接不管
若是獨(dú)立輸出如上設(shè)置即可
博主僅學(xué)到這里,其他的設(shè)置默認(rèn)都沒有改
主要是為了輸出更高頻率的PWM所以很多高級功能都沒有用上
二、keil代碼
初始化中打開輸出:
HAL_HRTIM_WaveformCounterStart(&hhrtim1, HRTIM_TIMERID_TIMER_A);
HAL_HRTIM_WaveformOutputStart(&hhrtim1, HRTIM_OUTPUT_TA1|HRTIM_OUTPUT_TA2);
改變初設(shè)的一些值:
hhrtim1.Instance->sTimerxRegs[0].PERxR = 50000;//通過修改重裝載值PER,從而修改PWM的頻率
hhrtim1.Instance->sTimerxRegs[0].CMP1xR = 1000;//通過修改比較值CMP,從而修改占空比
ps:sTimerxRegs對應(yīng)A~F:文章來源:http://www.zghlxwxcb.cn/news/detail-756317.html
sTimerxRegs[0]---->TimerA
sTimerxRegs[1]---->TimerB
sTimerxRegs[2]---->TimerC
sTimerxRegs[3]---->TimerD
sTimerxRegs[4]---->TimerE
關(guān)閉PWM輸出:
HAL_HRTIM_WaveformCountStop(&hhrtim1, HRTIM_TIMERID_TIMER_E);
如有錯漏歡迎指正!文章來源地址http://www.zghlxwxcb.cn/news/detail-756317.html
到了這里,關(guān)于基于CubeMX(hal庫)stm32中hrtim高分辨率定時器的基本使用(自存)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!