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個暫存器 ...