| 本帖最后由 Start09 于 2010-2-28 09:18 编辑 
 在STM32上移植了一个FATFS文件系统,可以正确读取文件但是写文件总是不对,f_write(&file, FlashBuf, 512, &bw)已经成功执行但是读出来文件是空的,电脑里显示也是空的第一次搞FAT文件请各位赐教。。。
 
 附上程序
 
 
 
 void WriteTest()
 {
 FATFS fs;       /*Work area (file system object) for logical drive*/
 FIL file;      /*file objects*/
 UINT bw, br;    /*File R/W count*/
 
 int i = 0;
 for(i=0; i<512; i++)
 {
 FlashBuf = 'A';
 }
 /*Register a work area for logical drive 0*/
 f_mount(0, &fs);
 
 /*Create file*/
 if(f_open(&file, "test2.dat", FA_CREATE_ALWAYS | FA_WRITE | FA_READ)) return;
 else
 {
 if(f_write(&file, FlashBuf, 512, &bw))return;        //这里已写成功
 else
 {
 if(f_read(&file, FlashBuf, 512, &br)) return; //
 //读成功但是文件是空的,br为0,读已经写好的文件是正确的
 }
 /*Close all files*/
 f_close(&file);
 }
 
 /*Unregister a work area before discard it*/
 f_mount(0, 0);
 }
 |