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