当使用例程6,把U盘里的数据读到BUFFER里了,但我想把她再写到U盘里,直接调用BUFFER不行,要怎么样做呢? while( 1 ) { /* 分多次写入文件数据 */ for ( i=0; i //c = *pCodeStr; mCmdParam.ByteWrite.mByteBuffer[i] = c; if ( c == 0 ) break; /* 源字符串结束 */ //pCodeStr++; } if ( i == 0 ) break; /* 源字符串结束,完成写文件 */ mCmdParam.ByteWrite.mByteCount = i; /* 写入数据的字符数,单次读写的长度不能超过MAX_BYTE_IO,第二次调用时接着刚才的向后写 */ i = CH375ByteWrite( ); /* 向文件写入数据 */ mStopIfError( i ); 怎么样改呢?
改为: for ( i=0; i//c = *pCodeStr; mCmdParam.ByteWrite.mByteBuffer[i] = c; if ( c == 0 ) break; /* 源字符串结束 */ //pCodeStr++; }
你这个根本就没变啊,怎么做的出来
for ( i=0; i//c = *pCodeStr; mCmdParam.ByteWrite.mByteBuffer[ i ] = c; if ( c == 0 ) break; /* 源字符串结束 */ //pCodeStr++; }
我在前面加了 c= mCmdParam.ByteREAD.mByteBuffer[ i ] ; mCmdParam.ByteWrite.mByteBuffer[ i ] = c; 运行后产生的就是一个字符N是怎么回事?
mCmdParam定义的是一个共用体,mCmdParam.ByteWrite.mByteBuffer与mCmdParam.ByteRead.mByteBuffer其实是同一个缓冲区。
那我要怎么样才能把缓冲区里的东西写到U盘里呢?请教
当把数据写到缓冲区里面去之后,在调用BYTE-WRITE()函数,指定你要写的数据长度就可以实现数据字节写了
for ( i=0; i mCmdParam.ByteWrite.mByteBuffer[i] = c; if ( i == 0 ) break; /* 源字符串结束,完成写文件 */ mCmdParam.ByteWrite.mByteCount = i; /* 写入数据的字符数,单次读写的长度不能超过MAX_BYTE_IO,第二次调用时接着刚才的向后写 */ i = CH375ByteWrite( ); /* 向文件写入数据 */ mStopIfError( i ); 这样做能怎么显示错误指示灯一直闪,有错误,不能写啊
上面已经讲的很清楚了,要是还有什么不清楚的话,你可以下载CH375EVT。ZIP,里面有以字节方式往下写数据的例子程序,你可以参考例子程序在修改,如果错误灯一直在闪的话,那么,你看下你返回的错误代码是多少?以及程序在哪一个步骤出现了问题
上面已经讲的很清楚了,要是还有什么不清楚的话,你可以下载CH375EVT。ZIP,里面有以字节方式往下写数据的例子程序,你可以参考例子程序在修改,如果错误灯一直在闪的话,那么,你看下你返回的错误代码是多少?以及程序在哪一个步骤出现了问题