(注:相机不太好,而且是黑天拍摄,效果很差勿喷
)
其实这个扩展板上并无实质性东西,主要扩展是micro SD卡座,W25Q32(FLASH,可存个字库啥的
),富士通2K FRAM(用来存个参数啥的
),一路音频放大,红外接收和发射,USB转串口。
板子到手已经有些日子了,只是工作太忙,一直没来得急写程序什么的。这两天忙里抽闲,写了个播放WAV音乐的程序(话说我一般都是听WAV或者APE格式的音乐
),这个确实没啥技术含量。WAV文件格式网上一搜一大堆(相对非常简单),我也讲不好,在此就不多说了。
主要功能就是SPI接口读取SD卡歌曲,然后放到RAM中。由TIM6产生相应的频率的(如44.1K)TRGO信号触发DMA1_Stream6读取RAM中的数据送到DAC中,DAC引脚接了个LM4889进行放大,这样就播放出来了
。 程序写的很烂,而且目前只实现了双声道16bit的wav格式,所以程序仅供围观不建议参考。
同时我再吐槽一下,我这个工程用的是ST最新的库STM32Cube,由于刚刚接触,对我来说那是相当难用(相对以前的库来说),封装的比较深,一层套一层,调用一个函数后,又不知调用了多少东西(还有乱开DMA中断之类的),导致程序运行的莫名其妙,当然肯定是我没用好,但是我对这种库非常厌恶。最后除了IO口设置用库函数外,其他的一律寄存器操作了,我发现寄存器操作的效率非常高,能明显缩小代码体积,但是缺点就是得对着Reference Manual写程序了。
此程序还有99%的地方需要完善,估计要以后了,暂时有很多其他的事情要做了。。
play.c.zip
(2.09 KB)
(下载次数: 106, 2014-3-21 20:19 上传)