[求助]CH376按扇区读写文件的问题

文件大小是512的整倍数,因此用扇区读写来存取文件。 存文件没问题,但读文件时在扇区0x84,0x184,0x284,0x384,0x484处发送Sec_Locate和Sec_Read后返回的第一个字节是0,无法读出这些扇区对应的512字节。 求解。

附上我写的读函数 u8 freadsec(u8 * pbuf,u32 ulssec,u8 bseccnt ){ u8 s,allsec; u32 ssec,offset=0; s=CH376_Sec_Locate(ulssec); if(s!=USB_INT_SUCCESS)return 0; s=CH376_Sec_Read(bseccnt); if(s!=USB_INT_SUCCESS)return 0; CH376_RD_USB_DATA0((u8*)(&CH376_CmdData)); allsec=CH376_CmdData.SectorRead.mSectorCount; ssec=CH376_CmdData.SectorRead.mStartSector; if(allsec==0){ UART_SendHex(ulssec); UART_SendString("allsec=0\0"); return 0; } s=CH376_Disk_Read(ssec,allsec); while(1){ if(s==USB_INT_SUCCESS)return 1; if(s!=USB_INT_DISK_READ)return 0; CH376_RD_USB_DATA0(pbuf+offset); offset+=64; s=CH376_Disk_Read_GO(); } }

你的扇区地址不正确吧


只有登录才能回复,可以选择微信账号登录