跪求大神指点,用stm32f103的片子能创建新的文件,在PC上已经看到了,可是里面是空白的。写不进数据,是什么原因?
代码如下
printf( "Open\n" );
s = CH376FileOpen( "/test1.TXT" ); /* 打开文件,该文件在根目录下 */
if ( s == USB_INT_SUCCESS )
{ /* 文件存在并且已经被打开,移动文件指针到尾部以便添加数据 */
printf( "File size = %ld\n", CH376GetFileSize( ) ); /* 读取当前文件长度 */
printf( "Locate tail\n" );
s = CH376ByteLocate( 0xFFFFFFFF ); /* 移到文件的尾部 */
}
else if ( s == ERR_MISS_FILE )
{ /* 没有找到文件,必须新建文件 */
printf( "Create\n" );
s = CH376FileCreate( NULL ); /* 新建文件并打开,如果文件已经存在则先删除后再新建,不必再提供文件名,刚才已经提供给CH376FileOpen */
}
else printf("Open error");
printf( "Write begin\n" );
//s = sprintf( (char*)buf, "Current length= %ld 字节\xd\xa", CH376GetFileSize( ) ); /* 注意字符串长度不能溢出buf,否则加大缓冲区或者分多次写入 */
//s = CH376ByteWrite( buf, sizeof(buf), NULL ); /* 以字节为单位向文件写入数据 */
//printf( "Write 0xff\n" );
//s = sprintf( (char*)buf, "%2d", 10 ); /* 将二制制数据格式为一行字符串 */
//CH376ByteWrite( buf, s, NULL ); /* 以字节为单位向文件写入数据 */
strcpy( (char*)buf, "This is 演示数据\xd\xa" );
s = CH376ByteWrite( buf, strlen((char*)buf), NULL ); /* 以字节为单位向当前位置写入数据块 */
printf( "Current offset ( file point ) is %ld\n", CH376ReadVar32( VAR_CURRENT_OFFSET ) ); /* 读取当前文件指针 */
printf( "Close\n" );
s = CH376FileClose( TRUE ); /* 关闭文件,自动计算文件长度,以字节为单位写文件,建议让程序库关闭文件以便自动更新文件长度 */