CH376T 写SD卡

在SD卡 txt文件里 写数据成功后,为什么再次写都是重头开始的?

s = CH376FileOpen( "/MY_ADC.TXT" ); /* 打开文件,该文件在根目录下 */ if ( s == USB_INT_SUCCESS ) { /* 文件存在并且已经被打开,移动文件指针到尾部以便添加数据 */ NewSize = CH376GetFileSize( ); /* 读取当前文件长度,如果没有零头数据,那么文件长度是DEF_SECTOR_SIZE的倍数 */ s = CH376SecLocate( 0xFFFFFFFF ); /* 以扇区为单位移到文件尾部,如果文件尾部有不足一个扇区的零头数据则被忽略,如果不做处理那么零头数据将可能被写入数据覆盖 */ if ( s == USB_INT_SUCCESS ) {/* 操作成功 */ } else { SDerror=1; /* 操作失败 */ } } else if ( s == ERR_MISS_FILE ) { /* 没有找到文件,必须新建文件 */ //printf( "Create\n" ); s = CH376FileCreate( NULL ); /* 新建文件并打开,如果文件已经存在则先删除后再新建,不必再提供文件名,刚才已经提供给CH376FileOpen */ if ( s == USB_INT_SUCCESS ) {/* 操作成功 */ } else { SDerror=1; /* 操作失败 */ } //mStopIfError( s ); total = 0; /* 此前没有零头数据 */ NewSize = 0; } else// mStopIfError( s ); /* 打开文件时出错 */ { NewSize = 0; } for(j=0;j<500;) { for(i=0;i<10;i++) { Buf[j]=i+0x31; j++; } } 注意字符串长度不能溢出buf,否则加大缓冲区或者分多次写入 */ WDTE=0xAC; s = CH376ByteWrite( Buf, 500, NULL ); /* 以字节为单位向文件写入数据 */ Delay_XMS(50); s = CH376FileClose( TRUE );

已经好了,原来我移到尾部使用了扇区的


什么意思?究竟怎么个问题


以扇区为单位移动当前文件指针的命令,不支持SD卡。


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