stm32f103用spi创建文件,但是写不进数据!

跪求大神指点,用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 );  /* 关闭文件,自动计算文件长度,以字节为单位写文件,建议让程序库关闭文件以便自动更新文件长度 */



但是单片机读文件大小是有在变大,可是在上位机打开SD卡,文件也有,里面是空白。文件的大小是0字节。


s = CH376FileOpen( "/test1.TXT" );  参数中需要换成TEST1.TXT。


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