下面是File_sys.c中定义的函数,我C语言比较差,请高手能解释的更详细点吗? 谢谢! 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 ); /* 错误 */ } }[Emot]8[/Emot]
查看: 2169
回复: 2
[求助]CH376ByteWrite
热门产品 :
CH397: 高集成度、低功耗USB网卡芯片
对照我们的说明书看 字节写的命令(CMD_BYTE_WRITE),应该可以看懂
这个函数的运行大致的流程:首先发送字节读命令CMD2H_BYTE_WRITE,紧接着发送需要读取的长度,随后开始根据长度来读取数据,该函数的返回是实际读取的数据长度.看看CH376DS1.PDF,这些在文档中都有说明.
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录