首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

【请教】Flash读文件的问题

【请教】Flash读文件的问题

我的flash是8bit4M的,里面从首地址(0x00800000)开始存放一个mp3音频文件,我需要每次读16bit数据,将数据放入数组。

我的程序是这样的:

unsigned short voicedata[5204];

for(add=0x00800000,j=0;add<0x00829398,j<5204;add+=2, j++) 
        {
         voicedata[j]=IORD(add,0);
        }

结果读出来的数据除了开始几个其他全为65535

我先前用同样的程序读wav文件却是正确的,请教,如果我要读mp3数据应该怎么读!!

我觉得数据应该和什么格式的没有关系,你是怎么确定数据已经在flash中了的,如果flash写入不成功呢?
这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm

我用的是DE2板,自带有control Panel软件,可以把文件写到flash的指定地址,所以我确定数据是已经写到flash里的了。

如果我把voicedata[5204]设成unsigned int (32bit)的话,读出来就是正常的数据,很奇怪

8位的flash,每个地址存的数据不是8bit吗?难道是32bit?还是读数据的时候连续读了4个地址?

请指点,谢谢!

应该说不管是读16bit还是32bit都会是正确的,读多少是由nios管理的,如果是8bitflash,16bit的读取应该读两次,32bit就是读三次。

IORD读出来的是32bit的数据,应该nios的寄存器都是32bit的。

在交流中前进,共同实现nios的应用。
谢谢版主和Kzw的讲解
返回列表