目錄
選擇tim5ch2
1、gpio配置輸出
2、定時器配置
3、呼叫函式使用
初次易錯點:
使用pwm輸出是首先要看,那個引腳使用可以使用pwm輸出。
高階控制和通用定時器通道引腳分布:
高階定時器
通用定時器
tim1
tim8
tim2
tim5
tim3
tim4
ch1
pa8/pe9
pc6pa0/pa15
pa0pa6/pc6/pb4
pb6/pd12
ch1n
pb13/pa7/pe8
pa7ch2
pa9/pe11
pc7pa1/pb3
pa1pa7/pc7/pb5
pb7/pd13
ch2n
pb14/pb0/pe10
pb0ch3
pa10/pe13
pc8pa2/pb10
pa2pb0/pc8
pb8/pd14
ch3n
pb15/pb1/pe12
pb1ch4
pa11/pe14
pc9pa3/pb11
pa3pb1/pc9
pb9/pd15
etr
pa12/pe7
pa0pa0/pa15
pd2pe0
bkin
pb12/pa6/pe15
pa6
static void tim_gpio_config(void)
/************通用定時器tim引數定義,只限tim2、3、4、5************/
// 當使用不同的定時器的時候,對應的gpio是不一樣的,這點要注意
// 我們這裡預設使用tim5
#define general_tim tim5
#define general_tim_apbxclock_fun rcc_apb1periphclockcmd
#define general_tim_clk rcc_apb1periph_tim5
// tim5 輸出比較通道2
#define general_tim_ch2_gpio_clk rcc_apb2periph_gpioa
#define general_tim_ch2_port gpioa
#define general_tim_ch2_pin gpio_pin_1
////////////////////////////////////////
//5khz
#define general_tim_period (20-1) //計數個數arr
#define general_tim_prescaler (720-1) //週期 分頻數psc
// 占空比配置
uint16_t ccr1_val = 10;
static void tim_mode_config(void)
void pwm_init(void)
void pwm_test(void)
1,沒有注意到相應的輸出比較通道。使用的是ch2,但是函式呼叫的卻是ch1的
tim_setcompare1/tim_setcompare2/tim_setcompare3/tim_setcompare4
tim_oc1init/tim_oc2init/tim_oc3init/tim_oc4init
tim_oc1preloadconfig/tim_oc2preloadconfig/tim_oc3preloadconfig/tim_oc4preloadconfig
2、pwm更改占空比
#define general_tim_period (20-1) //計數個數arr
// 自動重裝載暫存器的值,累計tim_period+1個頻率後產生乙個更新或者中斷
#define general_tim_prescaler (720-1) //週期 分頻數psc
// 驅動cnt計數器的時鐘 = fck_int/(psc+1)
tim_period:定時器週期,實際就是設定自動過載暫存器 arr 的值, arr 為要裝載到實際自動過載暫存器(即影子暫存器) 的值, 可設定範圍為 0 至 65535。
tim_pulse:比較輸出脈衝寬度,實際設定比較暫存器 ccr 的值,決定脈衝寬度。可設定範圍為 0 至 65535。
tim_setcompare1(timx,ccrx);設定pwm占空比
STM32F103學習筆記 (八) PWM輸出
脈衝寬度調製 pwm 是對脈衝寬度的控制。stm32 的定時器除了 tim6 和 7。其他的定時器都可以用來產生 pwm 輸出。其中高階定 時器 tim1 和 tim8 可以同時產生多達 7 路的 pwm 輸出。而通用定時器也能同時產生多達 4 路的 pwm 輸出,這樣,stm32 最多可以同時產生...
STM32F103攻城筆記 PWM功能實戰
系統時鐘是預設的hsi的8mhz頻率!這個會影響計時器的計數頻率,所以要知道要這個頻率,以保證以後自己可以根據分頻來控制pwm輸出波形的頻率大小!這個對於實際專案中的開發很重要,大都電機對於頻率都會有要求,這裡先不糾結這個,我們先來產生不同占空比的波形!系統時鐘預設為8mhz。第一步 初始化相關暫存...
stm32f103外部中斷
void extix init void 外部中斷0服務程式 void exti9 5 irqhandler void 這是簡單的外部中斷的配置,pc7作為中斷輸入 上面補充io口的初始化 gpio initstructure.gpio mode gpio mode ipu pc6配置為快充指示 1...