求助

#ifdef EN_DISK_WRITE /* 子程序库支持写操作 */ /* 产生新文件 */ LED_WR_ACT( ); /* 写操作 */ mCopyCodeStringToIRAM(mCmdParam.Open.mPathName,"/NEWFILE.TXT"); i=CH375FileOpen(); if(i==ERR_SUCCESS) { printf("File has been opend successful!\n"); mCmdParam.ByteLocate.mByteOffset=0xffffffff; CH375ByteLocate(); } else if(i==ERR_MISS_FILE) { printf("File has to be created!\n"); LED_WR_ACT(); mCopyCodeStringToIRAM(mCmdParam.Create.mPathName,"/NEWFILE.TXT"); i=CH375FileCreate(); mStopIfError(i); if(i==ERR_SUCCESS) printf("File has been created successfully!\n"); } else printf("open the file errors!\n"); LED_WR_ACT(); printf("write begin:\n");

for ( i=0; i<2; i++ ) //{

{ mCmdParam.ByteWrite.mByteBuffer = GetDataFromIO(); printf("%02X\n",(UINT16)mCmdParam.ByteWrite.mByteBuffer); mCmdParam.ByteWrite.mByteCount = i; /* 写入数据的字符数,单次读写的长度不能超过MAX_BYTE_IO,第二次调用时接着刚才的向后写 */ i = CH375ByteWrite( ); /* 向文件写入数据 */ mStopIfError( i ); if(i==ERR_SUCCESS) printf("write is over!\n"); // } } 这是一段从串口接收数据 写入U盘的其中一部分程序 现在发现从串口接收以后 写入的时候返回的是0x1f 也就是不能写入,为什么啊 请帮我看看

先不要使用串口获取数据,直接往U盘中写数据. 把写的函数替换为下面的试试: for ( i=0; i<2; i++ ) { mCmdParam.ByteWrite.mByteBuffer[ i ]=i;

} mCmdParam.ByteWrite.mByteCount = i; /* 写入数据的字符数,单次读写的长度不能超过MAX_BYTE_IO,第二次调用时接着刚才的向后写 */ i = CH375ByteWrite( ); /* 向文件写入数据 */ mStopIfError( i ); if(i==ERR_SUCCESS) printf( "Close\n" ); mCmdParam.Close.mUpdateLen = 1; /* 自动计算文件长度,以字节为单位写文件,建议让程序库关闭文件以便自动更新文件长度 */ i = CH375FileClose( ); mStopIfError( i ); [b]文字[/b]


好的 那我先试试 先谢谢你啊


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