有人想使用STM32G474芯片做Half模式的PWM輸出,發(fā)現(xiàn)有點(diǎn)問題,明明配置了定時(shí)器A的兩路輸出, 結(jié)果總是只有1路輸出。這里簡(jiǎn)單演示下實(shí)現(xiàn)過程。【順便提醒下,并非STM32G4全系列都內(nèi)置高精度定時(shí)器】
所謂Half模式就是指硬件基于給定的計(jì)數(shù)周期值自動(dòng)輸出占空比為50%的方波,用戶無(wú)須對(duì)比較寄存器的值再進(jìn)行設(shè)置,這里硬件默認(rèn)使用比較寄存器1【cmp1】,硬件自動(dòng)將用戶設(shè)置的PERIOD值的一半賦給CMP1寄存器。換言之,用戶此時(shí)無(wú)法對(duì)CMP1寄存器進(jìn)行賦值。
另外,對(duì)于輸出配置必須使用CMP1比較事件和定時(shí)器的Period周期事件。
關(guān)于HALF模式的原理就介紹到這里,下面就使用STM32G474RE的Nucleo開發(fā)板演示下實(shí)現(xiàn)過程,主要是軟件配置,硬件沒啥要處理的,有塊開發(fā)板就行。
先使用STM32CubeMx進(jìn)行配置【其它RCC等的配置此處就不說了】。
下面截圖橙色框中的配置是必須的,有關(guān)定時(shí)器的時(shí)間參數(shù)我隨便配置的,畢竟這里只是演示一下功能。
這里的比較單元1必須使能,使能即可,無(wú)須參數(shù)配置。
下面關(guān)于TA1/TA2輸出的配置,也是必須的關(guān)鍵配置。
至于定時(shí)器的其它配置,保持默認(rèn)即可。配置完成后,生成初始化代碼,然后加入合適的用戶代碼。
HAL_HRTIM_WaveformCountStart(&hhrtim1, HRTIM_TIMERID_TIMER_A);
HAL_HRTIM_WaveformOutputStart(&hhrtim1, HRTIM_OUTPUT_TA1);
HAL_HRTIM_WaveformOutputStart(&hhrtim1, HRTIM_OUTPUT_TA2);
因?yàn)槲野裈A1/TA2極性選擇是相反的,所有此時(shí)輸出的是兩路互補(bǔ)波形,如果二者極性選擇一致,輸出的就是兩路占空比為50%的相同波形。
OK,該話題就分享到此,愿君有所獲。
責(zé)任編輯:haq
-
STM32
+關(guān)注
關(guān)注
2293文章
11031瀏覽量
364600 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3298瀏覽量
118813
原文標(biāo)題:STM32G4高精度定時(shí)器的HALF輸出模式示例
文章出處:【微信號(hào):aidanpianji,微信公眾號(hào):?jiǎn)纹瑱C(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
STM32 HRTIM Burst輸出模式應(yīng)用演示

STM32G474的DAC4無(wú)輸出怎么解決?
STM32G474的DAC4無(wú)輸出怎么解決?
stm32g474 hrtim中怎么使用dual channel DAC trigger?
STM32G474如何實(shí)現(xiàn)Buck變換器的COT控制模式?
STM32G474逐波限流保護(hù)的實(shí)現(xiàn)
工程師筆記|STM32G474 HRTIME PWM 丟波問題分析與解決
實(shí)戰(zhàn)經(jīng)驗(yàn) | STM32G474 中 Triggered-half 模式的實(shí)現(xiàn)

評(píng)論