2017-03-14 5 views
0

SAMG55とASFに含まれるFatFSライブラリを使用していますが、すべて正常に動作しているようですが、定期的にデータをファイルに追加しようとすると、初めて動作します。私のファイルのサイズが100であれば、最初にマイクロコントローラがファイルを開くときにサイズが100であると表示されますが、その後に行を書き込んでファイルを閉じます。次回は、マイクロコントローラをリブートせずに開くと、サイズが常に4であると言われています。ラインは4バイトより長くなっています。uSDでFatFSでデータを追加する

これは私が使用していたコードです:

f_open(&file_object, (char const *)test_file_name, FA_OPEN_ALWAYS | FA_WRITE); 
f_lseek(&file_object, file_object.fsize); 
f_printf(&file_object, " Some data line \r\n"); 
f_close(&file_object); 

あなたは何が起こっているかについてどんな考えを持っていますか?

はフラグ FA_OPEN_APPENDの代わり FA_OPEN_ALWAYSを使用し、 f_open()であなた

+0

問題は、ファイルへの書き込みされていません。ファイルサイズ4バイト – JMP

答えて

0

ありがとうございます。その後、f_lseek()を使用する必要はありません。だから、これを試してみてください。私はf_printfを削除し、唯一のオープン、それが起こったまま、ファイルを閉じた場合

f_open(&file_object, (char const *)test_file_name, FA_OPEN_APPEND | FA_WRITE); 
f_printf(&file_object, " Some data line \r\n"); 
f_close(&file_object); 
関連する問題