STM32輸出PWM波教程

2021-08-21 15:46:52 字數 1873 閱讀 2710

pwm輸出配置步驟:(舉例)

使能定時器3和相關io口時鐘。

使能定時器3時鐘:rcc_apb1periphclockcmd();

使能gpiob時鐘:rcc_apb2periphclockcmd();

初始化io口為復用功能輸出。函式:gpio_init();

gpio_initstructure.gpio_mode=gpio_mode_af_pp;

這裡我們是要把pb5用作定時器的pwm輸出引腳,所以要重對映配置,

所以需要開啟afio時鐘。同時設定重對映。

rcc_apb2periphclockcmd(rcc_apb2periph_afio,enable);

gpio_pinremapconfig(gpio_partialremap_tim3, enable);

初始化定時器:arr,psc等:tim_timebaseinit

();

初始化輸出比較引數:tim_oc2init();

使能預裝載暫存器:

tim_oc2preloadconfig(tim3,

tim_ocpreload_enable

);

使能定時器。tim_cmd

();

不斷改變比較值ccrx,達到不同的占空比效果:tim_setcompare2();

源**:雙路輸出互補pwm

//pwmêä³öë«â·»¥²¹

//arr£º×ô¶¯öø×°öµ

//psc£ºê±öóô¤·öæµêý

void tim1_pwm_init(u16 arr,u16 psc)

void tim8_pwm_init(u16 arr,u16 psc)

}

STM32的PWM輸出實驗

通過設定該暫存器 ccrx 來調整pwm輸出的占空比,如下圖所示 以通道1為例說明pwm的工作過程 首先通過設定ccr1 捕獲比較 值 暫存器 設定設定比較值。然後通過設定ccmr1 oc1m 2 0 位以及ccer cc1p位 輸入 捕獲1輸出極性 來設定高低電平的輸出模式,具體如圖所示 最後設定...

STM32 快速上手PWM輸出

在前面文章 stm32 一文搞懂通用定時器捕獲 比較通道 已經詳細介紹了輸入stm32的捕獲 比較通道,這邊文章來寫比較通道的pwm的應用。初始化io口為復用功能輸出 重對映相關引腳為pwm輸出 初始化定時器 主要是配置arr和psc 初始化通道x輸出比較引數 使能通道x預裝載暫存器 使能定時器 修...

STM32自學筆記(六)PWM輸出

stm32 的定時器除了 tim6 和 7。其他的定時器都可以用來產生 pwm 輸出。其中高階定 時器 tim1 和 tim8 可以同時產生多達 7 路的 pwm 輸出。而通用定時器也能同時產生多達 4 路的 pwm 輸出,這樣,stm32 最多可以同時產生 30 路 pwm 輸出。用到3個暫存器 ...