今天调试了音频部分的播放功能,这里我采用的是输出pwm来播放声音的方式。
声音的源文件是一个wav文件,然后用一个软件将wav文件转化为一个数组的文件。
要播放的文件就是这个数组文件里面的数据部分,前面的信息头都可以去掉。
我的想法是,用两个定时器,一个定时器产生pwm波形来播放数据,另一个
定时器则以采样率来决定多少周期更新一次播放。在中断中更新播放的数据。
这样就达到了播放声音的目的。
在定时器4中断中更新播放的数据,产生pwm波形的定时器为定时器3.
我这里的文件的采样速率为22kHz,周期为频率的倒数,所以要每1/22k周期更新一次播放,再用pwm波形播放出来。