野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11285|回复: 9

MP3程序移植问题(长文件名)

[复制链接]
发表于 2015-4-28 19:37:38 | 显示全部楼层 |阅读模式
我把原来的程序重新复制到LCD的工程上,LCD显示没问题,可是MP3不能播放
Stack_Size      EQU     0x00000f00        也是一样的

#define        _USE_LFN        2                /* 0 to 3 */
#define        _MAX_LFN        255                /* Maximum LFN length to handle (12 to 255) */

一模一样的程序,可是移植后,长文件名打印出来的还是短文件名里的内容这是为什么,求大神。
短文件名打印出来如下:
文件名为: 张靓颖~1.MP3
长文件名打印出来如下:
文件名为: 张靓颖~1.MP3

结果就打印出来这一段,其他就打印不出来了
回复

使用道具 举报

 楼主| 发表于 2015-4-28 20:37:25 | 显示全部楼层
大神!!这个问题太奇葩了,实在是解决不了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-28 22:28:47 | 显示全部楼层
大家试着把MP3程序移植在另一个工程上,比如LCD显示,用lCD的工程驱动下MP3,启动文件改好和支持的字节大小,所有都改好,驱动下MP3,估计是不能成功,跟我情况一样的。
回复 支持 反对

使用道具 举报

发表于 2015-4-29 08:58:47 | 显示全部楼层
这个问题的关键点是在mp3.c文件的,文件系统设置按照楼上设置就可以了
回复 支持 反对

使用道具 举报

发表于 2015-4-29 08:59:08 | 显示全部楼层
看懂mp3.c文件来改
回复 支持 反对

使用道具 举报

发表于 2015-4-29 08:59:26 | 显示全部楼层
文件系统要配置成长文件名,中文支持
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-29 09:56:52 来自手机 | 显示全部楼层
flyleaf 发表于 2015-4-29 08:59
文件系统要配置成长文件名,中文支持

#define _CODE_PAGE  936
#define _USE_LFN 2
#define _MAX_LFN 255
都是一样的啊,包括启动文件的堆.栈
EQU 0X00000F00
理论上是支持的啊,可是实际上不支持
经过调试,长文件名和短文件名是一样的,
result1=strstr(finfo.lfname,".mp3");
这个result1的值是null
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-29 12:47:11 | 显示全部楼层
亽亼 发表于 2015-4-29 08:59
看懂mp3.c文件来改

问题解决了,我对比了下Options的工程设置问题
C/C++里面的Optimization: 设置成Level 0(-O0)就可以了,并把Optimeize for Time 勾掉
原来是C/C++里面的Optimization: Level 3(-O3),Optimeize for Time 勾上去了。
请问这个怎么理解?
回复 支持 反对

使用道具 举报

发表于 2015-4-29 13:30:33 | 显示全部楼层
这个是程序优化,等级越高keil在编译是就优化越厉害
回复 支持 反对

使用道具 举报

发表于 2015-8-1 20:33:49 | 显示全部楼层
我也遇到了这个问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-22 21:32 , Processed in 0.035422 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表