_delay_cycles(50000); while(CH376FileOpen(FileName)!=USB_INT_SUCCESS); TotalCount = 2000; /* 准备读取总长度 */ while ( TotalCount )/* 如果文件比较大,一次读不完,可以再调用CH376ByteRead继续读取,文件指针自动向后移动 */ { if ( TotalCount > sizeof(buf) ) i = sizeof(buf); /* 剩余数据较多,限制单次读写的长度不能超过缓冲区大小 */ else i = TotalCount; /* 最后剩余的字节数 */ s=CH376ByteRead( buf, i, &RealCount ); /* 以字节为单位读取数据块,单次读写的长度不能超过缓冲区大小,第二次调用时接着刚才的向后读 */ while(s==USB_INT_SUCCESS); TotalCount -= (UINT8)RealCount; /* 计数,减去当前实际已经读出的字符数 */ if (RealCount < i )/* 实际读出的字符数少于要求读出的字符数,说明已经到文件的结尾 */ { break; } VS1003_SPI_TxFrame(buf, 250); }
CH376FileClose(FALSE);? 。字节读出的buf全是0,读的是个MP3格式的文件。。还有CH376ByteRead的用法对吗