STM32中PWM的引數配置

2021-07-28 02:51:36 字數 1026 閱讀 9178

我們引用st官方給出的f10xstd3.5的庫中的tim>pwm_output中的例程來舉例

可以看出配置pwm引數主要是倆個函式

prescalervalue = (uint16_t) (systemcoreclock / 24000000) - 1;

/* time base configuration */

tim_timebasestructure.tim_period = 665;

tim_timebasestructure.tim_prescaler = prescalervalue;

tim_timebasestructure.tim_clockdivision = 0;

tim_timebasestructure.tim_countermode = tim_countermode_up;

tim_timebaseinit(tim3, &tim_timebasestructure);

/* pwm1 mode configuration: channel1 */

tim_ocinitstructure.tim_ocmode = tim_ocmode_pwm1;

tim_ocinitstructure.tim_outputstate = tim_outputstate_enable;

tim_ocinitstructure.tim_pulse = ccr1_val;

tim_ocinitstructure.tim_ocpolarity = tim_ocpolarity_high;

tim_oc1init(tim3, &tim_ocinitstructure);

你的頻率f=(systemcoreclock/(prescalervalue+1))/period

f*period=systemcoreclock/(prescaler+1)

當systemcoreclock取72m時 不妨取prescaler為71 這樣

f=1m/period

而crr1_val是基於period的占空比

三 STM32產生PWM的配置方法

1 配置gpio口 配置io口的時候無非就是開啟時鐘,然後選擇引腳 模式 速率,最後就是用結構體初始化。不過在32上,不是每乙個io引腳都可以直接使用於pwm輸出,因為在硬體上已經規定了用某些引腳來連線pwm的輸出口。下面是定時器的引腳重映像,其實就是引腳的復用功能選擇 a.定時器1的引腳復用功能映...

STM32學習筆記 PWM

a 目的 基礎pwm輸出,以及中斷配合應用。輸出選用pb1,配置為tim3 ch4,是目標板的led6控制腳。b 對於簡單的pwm輸出應用,暫時無需考慮tim1的高階功能之區別。c 初始化函式定義 void tim configuration void 定義tim初始化函式 d 初始化函式呼叫 ti...

STM32伺服電機PWM

這篇文章是關於在stm32 stm32f103c 微控制器中使用pwm 脈衝寬度調製 的詳細教程。脈寬調變 pwm 用於控制數碼訊號的幅度,以控制需要電源的裝置和應用。這是有關pwm生成的高階教程。我們將學習如何使用stm32系列 stm32f103c 微控制器生成可變pwm訊號。可變pwm訊號用於...