战舰版的程序,很实用,原子的开发指南写的很深入,一般移植都会成功的,应向原子致谢!
最近遇到个怪事,百思不得其解,招数使尽,故障照旧,无奈,再次来此求教了。我把战舰板的音乐播放器移植到 STM32F103VE 的 100脚 开发板上,把 RST,DREQ,XDCS,XCS
4个脚作了改动,SCK,MOSI ,MISO 的3个脚,仍接在 PA5,PA6,PA7的 SPI1 口上,文件系统也是移植战舰版上的,FATFS 0.09 ,字库在W25Q64中的,没有改动原程序中的任何地方,
仅仅将有关I/O口,根据100脚的STM32 进行必要的改动 ,可是播放器只能播放wma格式的音乐文件,MP3播放不了,用串口助手看结果,长文件名,全变成8.3格式的短文件名,
见下图: 在 res = f_open(fmp3,(const TCHAR*)pname,FA_READ); 语句下,用 printf("用f_open打开的路径是:
%s
",pname); 语句 看 路径,只要是MP3 ,就打不开,返回
结果就不是0,所以 if (res==0) //以上打开文件成功了 {
printf("进入到res==FR_OK{}里");
(播放程序段)
。。。。。
}
下图是串口显示数据截图, 1,2,4是wma格式文件,进入播放实施程序里,3 是 MP3 本来是段民乐叫:嘻嘻哈哈过新年,是长文件名,而它变成8.3的短文件名,并且到 f-open()时
打不开,跳过播放程序段,无法播放了,这是什么原因呢? 好像问题还是出现在文件系统上,能播放wma文件,正弦波自检好用,说明硬件没有问题吧?到底是什么问题,请施教,感激!
回复【15楼】dong:
---------------------------------
那说明你存取存在问题,先验证下.
---------------------------------
还是先谢谢你的解答!
我也怀疑是存储存在问题,又设法存储5,6次,都是一个结果,在LCD上显示12,16字体都正常,可一到 mp3_play(); 播放音乐程序里,这汉字显示
就挂了,死活不显示汉字,并且更厉害的是,只要是汉字名的音乐,就无法播放;而换成cc936,汉字名的MP3可以播放了,奇怪了...............
难道在字库存储的过程中,偏偏gbk16,gbk12 字库更新成功,而这 unigbk 字库 就是没有更新好,有误?
一周热门 更多>