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(); }