0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用STM32G474芯片做Half模式的PWM輸出

單片機 ? 來源:茶話MCU ? 作者:Miler ? 2021-08-16 17:59 ? 次閱讀

有人想使用STM32G474芯片做Half模式的PWM輸出,發(fā)現(xiàn)有點問題,明明配置了定時器A的兩路輸出, 結果總是只有1路輸出。這里簡單演示下實現(xiàn)過程。【順便提醒下,并非STM32G4全系列都內置高精度定時器】

所謂Half模式就是指硬件基于給定的計數周期值自動輸出占空比為50%的方波,用戶無須對比較寄存器的值再進行設置,這里硬件默認使用比較寄存器1【cmp1】,硬件自動將用戶設置的PERIOD值的一半賦給CMP1寄存器。換言之,用戶此時無法對CMP1寄存器進行賦值。

另外,對于輸出配置必須使用CMP1比較事件和定時器的Period周期事件。

關于HALF模式的原理就介紹到這里,下面就使用STM32G474RE的Nucleo開發(fā)板演示下實現(xiàn)過程,主要是軟件配置,硬件沒啥要處理的,有塊開發(fā)板就行。

先使用STM32CubeMx進行配置【其它RCC等的配置此處就不說了】。

下面截圖橙色框中的配置是必須的,有關定時器的時間參數我隨便配置的,畢竟這里只是演示一下功能。

這里的比較單元1必須使能,使能即可,無須參數配置。

c6a782f0-fe6e-11eb-9bcf-12bb97331649.png

下面關于TA1/TA2輸出的配置,也是必須的關鍵配置。

c6d83a44-fe6e-11eb-9bcf-12bb97331649.png

至于定時器的其它配置,保持默認即可。配置完成后,生成初始化代碼,然后加入合適的用戶代碼。

HAL_HRTIM_WaveformCountStart(&hhrtim1, HRTIM_TIMERID_TIMER_A);

HAL_HRTIM_WaveformOutputStart(&hhrtim1, HRTIM_OUTPUT_TA1);

HAL_HRTIM_WaveformOutputStart(&hhrtim1, HRTIM_OUTPUT_TA2);

因為我把TA1/TA2極性選擇是相反的,所有此時輸出的是兩路互補波形,如果二者極性選擇一致,輸出的就是兩路占空比為50%的相同波形。

OK,該話題就分享到此,愿君有所獲。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2258

    文章

    10828

    瀏覽量

    352482
  • 定時器
    +關注

    關注

    23

    文章

    3218

    瀏覽量

    113678

原文標題:STM32G4高精度定時器的HALF輸出模式示例

文章出處:【微信號:aidanpianji,微信公眾號:單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32 HRTIM Burst輸出模式應用演示

    有人使用STM32G474芯片的片上高精度定時器HRTIM,他想使用其輸出功能的Burst Mode。但不知如何使用,想找找參考例程。我這里就使用STM32G474
    的頭像 發(fā)表于 10-13 09:07 ?3818次閱讀
    <b class='flag-5'>STM32</b> HRTIM Burst<b class='flag-5'>輸出</b><b class='flag-5'>模式</b>應用演示

    STM32G474的DAC4無輸出怎么解決?

    STM32G474 的DAC4采用定時器4觸發(fā)dma,OUT1連接到比較器5,測試下來 DAC4沒輸出,是配置哪里有問題嗎 定時器4的配置: DAC4: 比較器5: DAC4的DMA: normal 改circular 改過不行memory 勾上也試過 不行。 配
    發(fā)表于 03-08 07:08

    為什么STM32G474的hrtim里,timerA在使用死區(qū)模式后,設置TA1的輸出后無法設置TA2的置位源和復位源?

    為什么STM32G474的hrtim里,timerA在使用死區(qū)模式后,設置TA1的輸出后無法設置TA2的置位源和復位源,而timerB在使用死區(qū)模式后無法設置Tb2的置位源但可以設置復
    發(fā)表于 05-22 06:23

    stm32g474的開發(fā)板很燙的原因?

    stm32g474的開發(fā)板很燙
    發(fā)表于 07-24 06:59

    stm32g474 qspi不進dma中斷是怎么回事?

    stm32g474 qspi 不進dma中斷
    發(fā)表于 09-13 07:10

    配置一下stm32g474的外部中斷

    我感覺stm32的外部中斷都是大同小異的,因此我以stm32g474為例,配置一下外部中斷。舉例引腳: PE5配置引腳為輸入模式(GPIOx_MODER);配置觸發(fā)模式(上升沿/下降沿
    發(fā)表于 08-17 06:50

    stm32g474的外部中斷如何配置?

    stm32g474的外部中斷如何配置?
    發(fā)表于 11-18 07:17

    如何利用STM32G474設計雙向變流器?

    如何利用STM32G474設計雙向變流器?
    發(fā)表于 11-19 07:52

    小白求助,求STM32G474時鐘設置筆記

    小白求助,求STM32G474時鐘設置筆記
    發(fā)表于 11-24 07:43

    帶DMA的STM32G474 DAC不工作是為什么?

    我嘗試使用來自 STM32G474 評估板的 DMA 進行 DAC。我可以看到值正在更新到 DOR 寄存器并且 DAC EN 設置為 1。但是,DAC 的輸出停留在 0。我附上了 cubeide 設置。
    發(fā)表于 12-15 07:06

    如何利用STM32G474芯片的高精度定時器實現(xiàn)兩對互補輸出

    有人利用STM32G474芯片的高精度定時器實現(xiàn)兩對互補輸出,即用到TIMA和TIMB兩個定時單元分別輸出兩對互補信號。 可是他發(fā)現(xiàn)兩個定時器單元
    的頭像 發(fā)表于 08-23 11:55 ?1w次閱讀
    如何利用<b class='flag-5'>STM32G474</b><b class='flag-5'>芯片</b>的高精度定時器實現(xiàn)兩對互補<b class='flag-5'>輸出</b>

    STM32G474逐波限流保護的實現(xiàn)

    STM32G474 的高精度定時器除了能產生高精度的 PWM 波外,還包含了外部事件管理器,能對多達 10 個外部事件進行處理??梢栽O置外部事件的觸發(fā)源、觸發(fā)方式(沿觸發(fā)或是電平觸發(fā))、相應方式(同步或是異步)以及事件的濾波方式。
    的頭像 發(fā)表于 05-06 09:56 ?5450次閱讀

    工程師筆記|STM32G474 HRTIME PWM 丟波問題分析與解決

    關鍵詞:HRTIME, PWM,丟波,消隱 目錄預覽 1.前言 2.問題描述 3.原因分析 4.解決方法 5.小結 STM32G474 中包含了針對數字電源應用的高精度定時器(HRTIMER),客戶
    的頭像 發(fā)表于 12-02 18:55 ?3052次閱讀

    STM32G474 逐波限流保護的實現(xiàn)

    STM32G474 逐波限流保護的實現(xiàn)
    的頭像 發(fā)表于 10-26 18:16 ?2279次閱讀
    <b class='flag-5'>STM32G474</b> 逐波限流保護的實現(xiàn)

    實戰(zhàn)經驗 | STM32G474 中 Triggered-half 模式的實現(xiàn)

    關鍵詞:Triggered-half,Interleave 目錄預覽 1、引言 2、Triggered-half 模式介紹 3、應用實例 4、小結 01 引言 STM32
    的頭像 發(fā)表于 12-11 18:15 ?1303次閱讀
    實戰(zhàn)經驗 | <b class='flag-5'>STM32G474</b> 中 Triggered-<b class='flag-5'>half</b> <b class='flag-5'>模式</b>的實現(xiàn)