基於STM32F030F4P9和STM32 CUBEMX 輸出PWM波形


STM32F030F4P9定時器功能比較豐富,在此記錄項目中使用其自動輸出PWM波形(頻率:50HZ)。CubeMX配置定時器如下圖說明。

 

在此定時器基礎時鍾為48MHZ,配置中不做分頻處理,預分頻系數為48,定時器計數器寄存器為20000,可求得周期為:

        T = ( ( 1 / (48Mhz / 48) ) * 20000) = 20ms

在PWM輸出配置選項中,改變Pulse可改變PWM的占空比。CH Polarity配置當計數器中的值小於Pulse時,輸出高電平,

CH Idle State配置PWM輸出空閑時的狀態,此處Reset為低電平狀態。

在程序中如果要動態改變PWM的占空比,只需改變Pulse值,但在cubeMX自動生成的庫中暫時沒有找到相關函數,
查手冊可知,通過改變CCRx寄存器可改變PWM的Pulse值,此處使用第三通道,所以可以改變定時器寄存器CCR3,

從而改變PWM的占空比,注意:CCR3寄存器值會在定時器發生更新時間時(注意配置中需要開啟自動重裝載寄存器使能位),

才會生效。例如改變占空比為800us/20ms:

        htim1.Instance->CCR3 = 800;   //占空比為 800us/20ms


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM