前言
有很多应用场景需要蓝牙IC外挂SPIFALSH播放MP3音乐,比如:
-
- 婴儿摇摇车
- 儿童玩具车
- 故事机
- 佛教念经机
- 睡眠音响
- ……
我们有成熟的方案, 有类似需求的家人们,欢迎来撩
硬件--原理图
560X系列IC SPI的IO
4线(CS/CLK/DI/DO)SPI Flash,其中 CS可以为任意IO口, CLK/DATA/DI/DO 需要按上图中指定的IO口.
3线(CS/CLK/DATA,SPIFLASH的DI/DO之间需要增加240欧电阻, 组合成SPIDATA引脚)SPI Flash, 省一个IO
软件--ABTool生成FALSH MP3烧录镜像
要实现外挂SPIFALSH播放MP3, 软件上首先需要多首MP3文件整合生成bin镜像文件, 从0地址开始烧录到外接SPIFLASH中. 开发时,可以打开宏 SPIFALSH_MUSIC_BIN_WRITE_TEST, 把示例镜像文件写入SPIFLASH, 进行播放测试.
1) bin镜像文件的生成. 可以使用ABTools工具生成bin镜像文件
ABTools可以在这里下载(右上角立即下载)
下载地址:http://www.sunsili.com/html/support/downloads/320.html
此工具支持拖拽, 直接把音乐文件夹拉到界面上, 点击Run即可.
可以看到OutPutDir中, 生成以下两个文件. 其中FlashMusic.h中有记录音乐的排序信息.
2) FlashMusic.bin结构如下(以下示例中只有3首歌曲):
func_exspiflash_music.c中, 宏 SPIFALSH_MUSIC_PLAY_REC 定义成0时, 是MP3的播放示例. 可以直接调用 void exspifalsh_music_num_kick(u32 num) 对上面的歌曲进行播放. 如果要指定播放某一首歌曲, 可把FLashMusic.h加入到程序中, FLashMusic.h中已包含歌曲名及对应的序号.
100