为什么使用CH375读U盘扇区时只有从0扇区读的时候才有数据?
从10,100等开始读的时候,只显示0.
u8 CH375_ReadDisk(u8* buf, u32 iLbaStart, u8 iSectorCount )
{
unsigned char i=0,j;
unsigned char status,len;
CH375_Write_Cmd( CMD5H_DISK_READ ); /* 从USB存储器读扇区 */
CH375_Write_Data( (u8)iLbaStart ); /* LBA的最低8位 */
CH375_Write_Data( (u8)( (u16)iLbaStart >> 8 ) );
CH375_Write_Data( (u8)( iLbaStart >> 16 ) );
CH375_Write_Data( (u8)( iLbaStart >> 24 ) ); /* LBA的最高8位 */
CH375_Write_Data( iSectorCount ); /* 扇区数 */
//xEndCH375Cmd( );
for(i=0;i<8;i++)
{
status=Wait375Interrupt();//等待中断,返回中断状态码
if (status==USB_INT_DISK_READ)
{
CH375_Write_Cmd( CMD01_RD_USB_DATA ); /* 继续执行USB存储器的读操作 */
len=CH375_Read_Data();
for(j=0;j
{
* buf= CH375_Read_Data();
buf++;
}
CH375_Write_Cmd( CMD0H_DISK_RD_GO ); /* 继续执行USB存储器的读操作 */
}
else
{
return status;
}
}
status=Wait375Interrupt();//等待中断,返回中断状态码
if (status==USB_INT_SUCCESS)
{
return 0;
}
else
{
return status;
}
}