|
发表于 2008-5-11 06:04:15
|
显示全部楼层
我调试刚出声音了 也是停顿停顿
上这里一搜索就搜到这个帖子了 顶一下 求救 晶振 7.3768 Mega64
难道是文件系统写的不好
邓丽君 月亮代表我的心
128kps 2声道 44k采样率
void VS1003B_Init()
{
PORT_INI();
VS1003B_XCS_H();
VS1003B_XDCS_H();
VS1003B_XRESET_H();
VS1003B_SPI_Low();
VS1003B_Delay(50000);
VS1003B_WriteCMD(0x00,0x0800);
VS1003B_ReadCMD(0x00);
VS1003B_WriteCMD(0x03,0x0800);
VS1003B_ReadCMD(0x03);
VS1003B_WriteCMD(0x0b,0x2020);
VS1003B_ReadCMD(0x0b);
VS1003B_SPI_High();
}
unsigned char mp3_data[512];
unsigned int mp3_index,mp3buf_dec;
void PlayMp3()
{
unsigned char i;
unsigned char fp;
unsigned int cnt;
cnt=0;
VS1003B_Init();
VS1003B_Init();
fp=fopen("/MOON.MP3");
Debug_Msg("文件长度:",flen(fp));
fprtfile(fp);
mp3_index=sizeof(mp3_data);
while(1)
{
if(mp3buf_dec==0){
PORTE^=0xFF;
mp3buf_dec=fread(mp3_data,sizeof(mp3_data),fp); //返回实际读取的长度
if(mp3buf_dec==0) break;
mp3_index=0;
}
if(VS1003B_FREE())
{
for(i=0;i<32;i++)
{
VS1003B_WriteDAT(mp3_data[mp3_index++]);
}
if(mp3buf_dec>32) mp3buf_dec-=32;
else mp3buf_dec=0;
}
}
} |
|