CH376串口模式,写文件问题

ch376,在写文件时,可以创建文件,但写不进数据, uint8 CH376ByteWrite( Puint8 buf, uint16 ReqCount, Puint16 RealCount ) /* 以字节为单位向当前位置写入数据块 */ { uint8 s; xWriteCH376Cmd( CMD2H_BYTE_WRITE );//0x3c xWriteCH376Data( (uint8)ReqCount ); xWriteCH376Data( (uint8)(ReqCount>>8) ); // xEndCH376Cmd( ); mDelaymS( 200 ); if ( RealCount ) *RealCount = 0; while ( 1 ) { s = Wait376Interrupt( ); // ----在这里返回 0x14,不是0x1e while (!(MCF_UART_USR(2) & MCF_UART_TX_TEST)); //发送数据 MCF_UART_UTB(2) = 0xcd; while (!(MCF_UART_USR(2) & MCF_UART_TX_TEST)); //发送数据USB_INT_DISK_WRITE MCF_UART_UTB(2) = s; 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 ); /* 错误 */ } }[b]文字[/b]

这问题沉这么久,没人解答,我也遇此


我也遇到这种情况,数据写到中途,还没有达到所需要的字节数,就自动结束了,不知道写数据时发生生么情况了,提前结束写数据。


楼上的同学你有根据你描述的问题做过一些DEBUG测试吗?

因为你只给我结论,所以不太好确认问题所在,如果你至少能写一部分数据说明很大可能问题出在软件代码上。

如果问题还没解决,可留言贴出代码或者电联025-52638375


经过测试发现写操作过程中,自动移动的文件指针超出原文件结束位置,如何用CMD_BYTE_WRITE指令实现请求字节数为0,来刷新文件长度,求指点

CH376TByteWrite(null,  0,  null) 


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