我們引用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訊號用於...