STM32 快速上手PWM輸出

2021-10-24 19:32:02 字數 618 閱讀 5972

在前面文章《stm32-一文搞懂通用定時器捕獲/比較通道》已經詳細介紹了輸入stm32的捕獲/比較通道,這邊文章來寫比較通道的pwm的應用。

初始化io口為復用功能輸出

重對映相關引腳為pwm輸出

初始化定時器(主要是配置arr和psc)

初始化通道x輸出比較引數

使能通道x預裝載暫存器

使能定時器

修改通道x的pwm占空比

使用tim3的ch2進行pwm輸出

pwm.c

//tim3 pwm部分初始化 

//pwm輸出初始化

//arr:自動重灌值

//psc:時鐘預分頻數

void tim3_pwm_init(u16 arr,u16 psc)

main.c

int main(void)

}

由於重裝載值是899,故pwm_val 的值的範圍就是0-899,占空比為pwm_val / 899。pwm的頻率就是定時器的溢位頻率72mhz/(899+1)*(0+1) = 10khz

參考:正點原子《stm32開發手冊》

STM32 快速上手SPI

基本的部分前文 stm32 spi 已經介紹過了,這裡只記怎麼用。stm32f103zet6的三個spi的引腳分別為 spi1在apb1時鐘下,spi2和spi3在apb2時鐘下。void spi i2s deinit spi typedef spix void spi init spi typed...

STM32輸出PWM波教程

pwm輸出配置步驟 舉例 使能定時器3和相關io口時鐘。使能定時器3時鐘 rcc apb1periphclockcmd 使能gpiob時鐘 rcc apb2periphclockcmd 初始化io口為復用功能輸出。函式 gpio init gpio initstructure.gpio mode g...

STM32的PWM輸出實驗

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