基于STM32的PWM音樂播放器應用設計
3.2.2 主程序設計
程序流程如圖3所示。由于STM32的PWM輸出引腳是PB5,所以我們采用TIM3的通道2來產(chǎn)生PWM輸出。在GPIO設置程序中,將TIM3的通道2引腳部分重映像到PB5,GPIO模式選擇為復用推挽輸出。程序循環(huán)讀取樂譜,根據(jù)音階修改定時器的預分頻系數(shù),并重新設置定時器和PWM。同時,利用STM32的內部SysTick進行精確計時,根據(jù)節(jié)拍實現(xiàn)ms級延時,并減少內核消耗。圖4為示波器測量得到的低音So的PWM輸出波形。根據(jù)表1,該波形頻率應為392 Hz,實測為391.549 Hz,可見本方案的PWM輸出誤差較小。
結語
STM32既可以搭載μC/OS,也可以作為單片機使用,是一款性價比較高的處理器。本文利用STM32的定時器,產(chǎn)生PWM音頻脈沖波形,實現(xiàn)了音樂播放功能。這種方法可用于電機控制、電子琴以及無線報務中的電子鍵設計等,具有較高的實用價值。
pwm相關文章:pwm是什么
pwm相關文章:pwm原理
蜂鳴器相關文章:蜂鳴器原理
評論