跪求大神指點,用stm32f103的片子能創(chuàng)建新的文件,在PC上已經(jīng)看到了,可是里面是空白的。寫不進(jìn)數(shù)據(jù),是什么原因?
代碼如下
printf( "Open\n" );
s = CH376FileOpen( "/test1.TXT" ); ?/* 打開文件,該文件在根目錄下 */
if ( s == USB_INT_SUCCESS )
{ ?/* 文件存在并且已經(jīng)被打開,移動文件指針到尾部以便添加數(shù)據(jù) */
printf( "File size = %ld\n", CH376GetFileSize( ) ); ?/* 讀取當(dāng)前文件長度 */
printf( "Locate tail\n" );
s = CH376ByteLocate( 0xFFFFFFFF ); ?/* 移到文件的尾部 */
}
else if ( s == ERR_MISS_FILE )?
{ ?/* 沒有找到文件,必須新建文件 */
printf( "Create\n" );
s = CH376FileCreate( NULL ); ?/* 新建文件并打開,如果文件已經(jīng)存在則先刪除后再新建,不必再提供文件名,剛才已經(jīng)提供給CH376FileOpen */
}
else printf("Open error");
printf( "Write begin\n" );
//s = sprintf( (char*)buf, "Current length= %ld 字節(jié)\xd\xa", CH376GetFileSize( ) ); ?/* 注意字符串長度不能溢出buf,否則加大緩沖區(qū)或者分多次寫入 */
//s = CH376ByteWrite( buf, sizeof(buf), NULL ); ?/* 以字節(jié)為單位向文件寫入數(shù)據(jù) */
//printf( "Write 0xff\n" );
//s = sprintf( (char*)buf, "%2d", 10 ); ?/* 將二制制數(shù)據(jù)格式為一行字符串 */
//CH376ByteWrite( buf, s, NULL ); ?/* 以字節(jié)為單位向文件寫入數(shù)據(jù) */
strcpy( (char*)buf, "This is 演示數(shù)據(jù)\xd\xa" );
s = CH376ByteWrite( buf, strlen((char*)buf), NULL ); ?/* 以字節(jié)為單位向當(dāng)前位置寫入數(shù)據(jù)塊 */
printf( "Current offset ( file point ) is %ld\n", CH376ReadVar32( VAR_CURRENT_OFFSET ) ); ?/* 讀取當(dāng)前文件指針 */
printf( "Close\n" );
s = CH376FileClose( TRUE ); ?/* 關(guān)閉文件,自動計算文件長度,以字節(jié)為單位寫文件,建議讓程序庫關(guān)閉文件以便自動更新文件長度 */