高中生
最后登录1970-1-1
在线时间 小时
注册时间2015-9-19
|
如题,设为子目录时,串口可以打印出子目录下所有的文件,但是一直在循环读,MP3不能播放。
char path[100] = {"0:music"};
//char path[100] = {""};
char *result1, *result2, *result3, *result4;
BYTE buffer[512];
finfo.lfname = lfn;
finfo.lfsize = sizeof(lfn);
f_mount(0, &fs);
if (f_opendir(&dirs,path) == FR_OK)
{
while (f_readdir(&dirs, &finfo) == FR_OK)
{
if ( finfo.fattrib & AM_ARC )
{
if(finfo.lfname[0] == NULL && finfo.fname !=NULL)
finfo.lfname =finfo.fname;
if( !finfo.lfname[0] ) {
printf( " \r\n asdsdasdasdad d\r\n" );
break;
}
LCD_Clear(30,30,240,16,BLACK);
printf( " 文件名: %s \r\n",finfo.lfname );
result1 = strstr( finfo.lfname, ".mp3" );
result2 = strstr( finfo.lfname, ".mid" );
result3 = strstr( finfo.lfname, ".wav" );
result4 = strstr( finfo.lfname, ".wma" );
if ( result1!=NULL || result2!=NULL || result3!=NULL || result4!=NULL )
{
if(result1 != NULL)
{
LED1_ON;
res = f_open( &fnew, finfo.lfname, FA_OPEN_EXISTING | FA_READ );
br = 1;
TXDCS_SET( 0 );
res = f_read( &fnew, buffer, sizeof(buffer), &br );
if ( res == 0 )
{
count = 0;
Delay_us( 1000 );
while ( count < 512)
{
if ( DREQ != 0 )
{
for (j=0; j<32; j++ )
{
VS1003_WriteByte( buffer[count] );
count++;
}
if (res || br == 0) break;
后面就不贴了,就是上面红色的地方改了就不行了。麻烦各位帮帮。谢谢
|
|