作業(yè) 1 和 2 主要使用定時器的中斷功能。
作業(yè)1
作業(yè) 1 我并不會使用軟件延遲完成拉队,否則會影響主循環(huán)中檢查按鍵秆乳。因此使用了多達 3 個時鐘,每個時鐘管一件事纪铺,根據(jù)按鍵動作決定誰動誰不動相速,有點蠢。
至于同時按下 2 個按鍵鲜锚,我只好自己寫了一個函數(shù)突诬,可以一并返回多個按鍵的狀態(tài)。
項目地址:
https://coding.net/u/ufoshen/p/STM32-homework1/git?public=true
作業(yè)2
讓用時鐘 TIM2烹棉,然而只用這一個我做不到攒霹,因為呼吸燈要依靠輸出 PWM+調(diào)節(jié)占空比才能實現(xiàn),PWM 需要映射到 LED0 所在的 PB5 上浆洗,這個根據(jù)我查表的結(jié)果催束,是不能直接重映射過去的。因此 PWM 就用 TIM3 來輸出了伏社。
然后 TIM2 身兼多職抠刺,在不同模式下干不同的事情,反轉(zhuǎn)燈摘昌、反轉(zhuǎn)蜂鳴器速妖、修改占空比。用了三個全局變量聪黎,方便多了罕容。
地址:
https://coding.net/u/ufoshen/p/STM32-homework2/git?public=true
這是我第一次寫嵌入式,也不太了解工作的深層原理稿饰,只是先參考書上的案例锦秒,自己比葫蘆畫瓢,把功能實現(xiàn)了出來喉镰。
歡迎批評指正喵旅择!