[原创]CH376写入U盘错误数据

T682033108006001111812E901FB12900000005040100000500000000150000000032190700002A272700072700331100521115270413200004E516 682033108006001111812E901FB12900000005040100000500000000150000000032190700002A2227000327003311000712152704132000049216 682033108006001111812E901FB12900000005040100000500000000150000000032190700002A222700032700331100211215270413200004AC16 682033108006001111812E901FB12900000005040100000500000000150000000032190700002A222700032700331100351215270413200004C016 682033108006001111812E901FB1290\DLIB\ -Ol --multiplier=16 682033108006001111812E901FB12900000005040100000500000000150000000032190700002A2127000527003311000513152704132000049216 682033108006001111812E901FB12900000005040100000500000000150000000032190700002A212700052700331100201315270413200004AD16 682033108006001111812E901FB12900000005040100000500000000150000000032190700002A212700052700331100341315270413200004C116 682033108006001111812E901FB129000000050401000005000000001500000 GOutputBina682033108006001111812E901FB12900000005040100000500000000150000000032190700002A2127000727003311000414152704132000049416 682033108006001111812E901FB12900000005040100000500000000150000000032190700002A212700072700331100181415270413200004A816 682033108006001111812E901FB12900000005040100000500000000150000000032190700002A212700072700331100331415270413200004C316 682033108006001111812E901FB12900000005040100000500000000150000000032190700002A21270007270033110 Use the n682033108006001111812E901FB12900000005040100000500000000150000000032190700002A1327009826003311000215152704132000041516 从68开始到16结束是一个数据 但是不知道为什么会出现这样的字符 而且每次都是第五帧数据出错,第9帧数据出错

[Emot]27[/Emot]

每512个字节就出错,扇区边界有没有处理好,你有没有修改底层函数?一定要按照我们例程来写。 UINT8 CH376ByteWrite( PUINT8 buf, UINT16 ReqCount, PUINT16 RealCount ) /* 以字节为单位向当前位置写入数据块 */ { UINT8 s; xWriteCH376Cmd( CMD2H_BYTE_WRITE ); xWriteCH376Data( (UINT8)ReqCount ); xWriteCH376Data( (UINT8)(ReqCount>>8) ); xEndCH376Cmd( ); if ( RealCount ) *RealCount = 0; while ( 1 ) { s = Wait376Interrupt( ); if ( s == USB_INT_DISK_WRITE ) { s = CH376WriteReqBlock( buf ); /* 向内部指定缓冲区写入请求的数据块,返回长度 */ xWriteCH376Cmd( CMD0H_BYTE_WR_GO ); xEndCH376Cmd( ); buf += s; if ( RealCount ) *RealCount += s; } /* else if ( s == USB_INT_SUCCESS ) return( s );*/ /* 结束 */ else return( s ); /* 错误 */ } }


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