在读取扇区的子程序中 unsigned char mReadSector( unsigned long int iLbaStart, unsigned char iSectorCount, unsigned char *oDataBuffer ) { unsigned int mBlockCount; unsigned char c;
xWriteCH375Cmd( CMD_DISK_READ ); /*?读取u盘命令*/ xWriteCH375Data( (unsigned char)iLbaStart ); /* LBA低位*/ xWriteCH375Data( (unsigned char)( iLbaStart >> 8 ) ); xWriteCH375Data( (unsigned char)( iLbaStart >> 16 ) ); xWriteCH375Data( (unsigned char)( iLbaStart >> 24 ) ); /* LBA高位*/ xWriteCH375Data( iSectorCount ); /* 扇区数 */ for ( mBlockCount = iSectorCount *8; mBlockCount != 0; mBlockCount -- ) { c = WaitINT( ); /* 等待中断*/ if ( c == USB_INT_DISK_READ ) 。。。。。。 (此处一开始返回的值就不是USB_INT_DISK_READ,而是USB_INT_SUCCESS,不是应该最后一次才是返回USB_INT_SUCCESS的吗?怎么处理了? 数据手册上说前8次中断的返回是USB_INT_DISK_READ,最后一次返回USB_INT_SUCCESS。) }