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