本帖最后由 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);
} |