基于stm32的pwm呼吸燈
這一節(jié)的程序所涉及到的硬件是比較簡(jiǎn)單,主要是考察對(duì)stm32時(shí)鐘的應(yīng)用
原理性質(zhì)的東西我就不多說(shuō)了,參考書目為:
《STM32庫(kù)開發(fā)實(shí)戰(zhàn)指南》 劉火良,楊森著
《STM32開發(fā)指南(庫(kù)函數(shù)版本)》 正點(diǎn)原子著
使用定時(shí)器來(lái)控制I/O口輸出PWM波形,從而驅(qū)動(dòng)LED燈出現(xiàn)類似呼吸頻率一般的亮滅。
硬件電路圖:
我的收獲:
1
這是STM32數(shù)據(jù)手冊(cè)上對(duì)TIM3通用定時(shí)器復(fù)用功能重映象的描述,假設(shè)讓PA6作為PWM輸出,從圖中可以看出PA6對(duì)應(yīng)TIM3的通道1,
使能TIM3通道1的函數(shù)為
TIM_OC1Init();1
同樣的,如果想要使能PA7,它對(duì)應(yīng)的是TIM3的通道2,那么使能通道2的函數(shù)便是:
TIM_OC2Init()1
以此類推,需要注意,使能不同相同定時(shí)器不同通道的函數(shù)是有一點(diǎn)小差別的,防止在程序中調(diào)用TIM_OC1Init()函數(shù)來(lái)使能TIM3通道2這種情況的發(fā)生。
2
注意看這里,假設(shè)使用的是TIM3的通道1,那么這里就要寫成
TIM3->CCR11
類似的如果用TIM3定時(shí)器的通道2,這里就要相應(yīng)的改為
TIM3->CCR21
這同樣是為了防止本來(lái)計(jì)劃使用的是TIM3的通道1,反而在這里自擺烏龍寫為了TIM->CCR2的情況,這樣的錯(cuò)誤一般很隱蔽,不容易查找。
相應(yīng)的程序已經(jīng)上傳,但是不知道為什么在這里無(wú)法顯示程序的下載地址,需要下載可以去我的資源里下載。
工程文件為
Progect–>RVMDK(uv4)–>iSO_STM32