CH376对于数字命名的文件名有时可以进去,有时只写进去一个字节[求助]

char WriteTxtFile() { unsigned int i,tmp_total; /* 如果文件已经存在则添加数据到尾部,如果不存在则新建文件 */ sprintf(ubuf, "/%3d.BIN" ,ma_num); s=CH376FileOpen(ubuf); //s=0x42 /* 打开文件,该文件在根目录下 */ WDTCN = 0xA5; if(s==USB_INT_SUCCESS) { //s=CH376ByteLocate(0xFFFFFFFF); /* 移到文件的尾部 */ //if ( s != USB_INT_SUCCESS ) return 0; return 0; goto WRITEERR;//我这个程序每次都要新建文件,所以如果文件存在就退出 } else if(s==ERR_MISS_FILE) { s=CH376FileCreate(NULL);//s=0x14 /* 新建文件并打开,如果文件已经存在则先删除后再新建,不必再提供文件名,刚才已经提供给CH376FileOpen */ if ( s != USB_INT_SUCCESS ) return 0; } else if ( s != USB_INT_SUCCESS ) return 0; /* 打开文件时出错 */ WDTCN = 0xA5; Esave.ch[0]= E_read_byte(E_TOTALBYTEADDR);//读入字节总数 Esave.ch[1]= E_read_byte(E_TOTALBYTEADDR+1); tmp_total=Esave.i;//读入数据总数 for(i=0;i { WDTCN = 0xA5; E_read_block(i+EADDR_USBWRITE); s=MAXUSBBUF;//MAXUSBBUF每次写的字节总数,tmp_total是MAXUSBBUF的整数倍 s=CH376ByteWrite(EAROMImage,s,NULL); //s=0x14 mStopIfError( s ); // 以字节为单位向文件写入数据 // } s=CH376ByteWrite( EAROMImage, 0, NULL ); if ( s != USB_INT_SUCCESS ) return 0;

s=CH376FileClose(TRUE); //s=0x14 mStopIfError( s ); /* 关闭文件,自动计算文件长度,以字节为单位写文件,建议让程序库关闭文件以便自动更新文件长度 */ if ( s != USB_INT_SUCCESS ) return 0; else return 1; WRITEERR: nop(); }

if(s==USB_INT_SUCCESS) { //s=CH376ByteLocate(0xFFFFFFFF); /* 移到文件的尾部 */ //if ( s != USB_INT_SUCCESS ) return 0;

return 0; goto WRITEERR; }如果打开文件成功则:直接从WriteTxtFile中返回了,怎么写数据呢 你这个函数没看懂,有些你自定义的函数是什么功能,还有有些变量的定义也不知道什么意思


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