写多个扇区,发现每个扇区的前128个字节没问题,后面512-128个字节与发送的不一样,存进去的数据不知道丛哪来的,而且这些数据每次执行读出来都一样.为什么会这样啊?
uchar CH375_WriteOneSector(ulong LBA,uchar *buffer) { uchar cnt = 8; uchar temp = 64; uchar block=64; CH375_CS_L; CH375_WriteCMD(DISK_WRITE); CH375_WriteDAT(LBA); CH375_WriteDAT(LBA>>8); CH375_WriteDAT(LBA>>16); CH375_WriteDAT(LBA>>24); CH375_WriteCMD(1); while(cnt--) { if(CH375_WaitInterrupt() != USB_INT_DISK_WRITE) {printf("CH375 ³ö´íÌø³öl!\r\n");break;} CH375_WriteCMD(WR_USB_DATA7); CH375_WriteDAT(block); while(temp--)CH375_WriteDAT(*buffer++); CH375_WriteCMD(DISK_WR_GO); //delay_us(10); } if(cnt != 0xff || CH375_WaitInterrupt() != USB_INT_SUCCESS) {CH375_CS_H;printf("CH375 д³ö´í!\r\n");return 1;} CH375_CS_H; return 0; }