STM32--自己做的MP3,支持USB2.0!首部作品,不好请拍砖!

2019-12-09 19:21发布

这是我用STM32做的第一部作品,之前在AVR-MEGA128调试了部分功能,后来移植到了STM32F103ZET6上。
时间2009年,那时是大三上学期,由于要忙着考研,就匆匆结束了这个设计。有很多地方都不完善的,不管
软件还是硬件。我也不打算再更新这个东西的软件了,就当做毕业设计吧。基本功能是音乐播放,图片浏览和
电子书,喜欢的就拿去看咯。高手请拍砖!

    说说这个东西,文件系统支持FAT16和FAT32,参考了正点原子大哥的东西。SD卡是SPI模式的。文件系统
方面,那个时候看了一个寒假的FAT理论,看多了自然就懂了,刚开始看是很晦涩的。懂了原理以后就用FATFS吧,
我现在就在用,很好用~

    界面是我自己写,比较简洁的显示,GUI也是自己写的,比较简单的,现在看看要是用uCGUI那有多好。
    程序纯裸跑的,状态机思路。没有上系统。

列个单子说明功能吧:
1.音乐播放,频谱显示,支持mp3,wma格式
2.图片浏览,支持bmp,jpg格式
3.电子书,只支持txt
4.USB2.0,STM32自带的控制器,目前没开双缓冲,速度不是很快~插上电脑就能当读卡器用

特别注明:这个工程是MDK环境下的,由于使用的STM32固件库版本较低,编译会出问题
          请把工程中的MP3_by_ZSYlibstm32f10x_it.h文件覆盖到你的MDK的安装目录下
          具体路径为:Program FilesUV3keilARMINCSTSTM32F10x,这样方能编译通过

不说太多,上图上程序!

主界面 (原文件名:1.JPG)


音乐播放时的文件选择页面 (原文件名:2.JPG)


音乐播放界面 (原文件名:3.JPG)


电子书时的文件选择页面 (原文件名:4.JPG)


电子书显示 (原文件名:5.JPG)


图片浏览时的文件选择页面 (原文件名:6.JPG)


显示图片 (原文件名:7.JPG)


显示图片 (原文件名:8.JPG)


插上USB数据线时的界面 (原文件名:9.jpg)


MP3整体照 (原文件名:10.JPG)

程序,MDK3.70ourdev_618101V6TRP9.zip(文件大小:4.76M) (原文件名:MP3_by_ZSY.zip)
SD卡中的文件(图标字库等等)ourdev_618102TX4IHL.zip(文件大小:5.34M) (原文件名:SD.zip)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
98条回答
jingwaner
1楼-- · 2019-12-15 18:08
楼主牛!!先收藏下
liurangzhou
2楼-- · 2019-12-15 22:20
MARK
lostgb
3楼-- · 2019-12-16 00:51
我想请教一下大家

在显示txt文件的时候

如果“下一页”的话,在当前读写指针位置顺序读取显示就成了

那么“前一页”要怎么办呢?一个字节一个字节的向前调整指针位置判断是汉字还是英文再显示?

再比如我手机上的电子书阅读功能,可以自己选择前翻后翻多少页
但是我手机第一次打开TXT文件的时候特别慢,我猜测难道是扫描了TXT一遍然后记录了所有页的指针位置?

大家指导一下,有什么比较好的思路吗?
sytu_xww
4楼-- · 2019-12-16 06:38
 精彩回答 2  元偷偷看……
zsy2020314
5楼-- · 2019-12-16 09:00
回复【51楼】lostgb
-----------------------------------------------------------------------

那个时候由于时间问题,我也没能实现向上翻阅,的确是有些复杂的。
你可以参考一下网站上那位做STM32  PDA的仁兄的代码,他好像有实现。
但是如果你用FatFs的话这个问题就会简单多了,个人想法是利用f_lseek()函数
来实现对文件数据指针移动。具体可参考FatFs的说明文档,官方和论坛都有~
weiwdr05
6楼-- · 2019-12-16 12:45
mark,支持

一周热门 更多>