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); 一下这样播放就正常了,但是为什么呢? 还在找原因