做个stm32的MP3播放器

1、解码部分移植了野火的部分程序,找到一个bug就是在播放的时候有个delay的硬延时,导致了播放320KPS的MP3歌曲出现卡顿的现象。将10ms的delay换成while(DREQ == 0);  解决了这个问题

2、移植了FATFS系统

3、加入功能:扫描指定文件夹的所有文件,搞了一天。。懵了,原因是对文件系统的操作不熟练很多功能不会用。又发现往TF卡写数据貌似不好用,后来检查出问题出在了mp3模块上(野火的MP3模块上面有个TF卡座带了5个上拉电阻,在底板上也有个TF卡座上面也带有5个上拉电阻,可能是距离不同造成了延时??)  扯远了,扫描文件名弄了很久没弄出来,后来发现原来只需要这两个函数即可f_lseek() f_write()。

FRESULT f_lseek (FIL*, DWORD);  第一个参数为文件对象,第二个参数为移动的字节数。在这里则F_LSEEK(&fsrc,fsrc.fsize)指向文件结尾,即可追加文件。注意第二个参数是相对于文件的开始,如F_LSEEK(&fsrc,3000),表示移动到文件开头3000个字节处!


4、增加扫描函数和播放指定歌曲的函数,但是存在问题:扫描函数执行完之后 播放指定歌曲的时候 播放完一个sector的之后 br就清零。。。导致一首歌曲播放不完,反复找原因,在播放指定函数中首先f_mount(0, &fs); 一下这样播放就正常了,但是为什么呢?  还在找原因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值