新手上路
- 积分
- 32
- 金钱
- 32
- 注册时间
- 2014-10-11
- 在线时间
- 0 小时
|
5金钱
RAM测试通过了, 0x83FF
主函数只做正弦测试的话(如下)
while(1)
{
VS_Sine_Test(); // 正弦测试;
}
会听到滴滴的声音 一直响 。这表明正弦测试已经通过了吗?
其他函数都是移植原子哥
然后我的播放函数,都是参考原子哥的,但是我改了一些,不知到行不行,如下:
void MP3_Play(u8* pname)
{
FIL fmp3;
u16 br;
u16 i=0;
u8 databuf[4096];
VS_Restart_Play();
VS_Set_All();
VS_Reset_DecodeTime();
resvs=f_typetell(pname);
resvs=f_mount(0,&fatfs);
resvs=f_open(&fmp3,(const TCHAR*)pname,FA_READ);
if(resvs != FR_OK)
{ return; }
while(1)
{
resvs=f_read(&fmp3,databuf,4096,(UINT*)&br);
vsset.mvol=230;
VS_Set_Vol(vsset.mvol);
do{
if(VS_Send_MusicData(databuf+i)==0)
{
i+=32;
}
}while(i<4096);
}
}
SD卡是可以读出来数据的,我查看了databuf
resvs=f_read(&fmp3,&databuf,4096,(UINT*)&br);
主函数在做了一系列初始化后只执行:
while(1)
{
MP3_Play("0:/MP3/abc.mp3");
}
那到最后问题来了:
播放不出来声音。
|
最佳答案
查看完整内容[请看2#楼]
FIL fmp3;
u8 databuf[4096];
这两个,放全局变量.
vsset.mvol=230;
VS_Set_Vol(vsset.mvol);
这两个,放while外面.
|