本帖最后由 sunshine1990 于 2014-9-2 15:46 编辑
我在用SD的文件系统,有个很奇怪的问题,不加断点程序一直跑之后把用电脑读SD卡里面的文件是空的,在 f_open函数和f_write函数前面加断点发现f_write执行完以后 fsrc.fsize的值是正常增加的,但是f_open执行完以后 fsrc.fsize会减少,这是什么原因啊
f_mount(0, &fs);//注册工作区
Can_Delayms(1000);
f_chdrive(0);
res = f_open(&fsrc, "obd1.txt" , FA_OPEN_ALWAYS | FA_WRITE|FA_READ);
if (res == FR_OK)
{
sd_wrnum=0;
Can_Delayms(100);
res = f_lseek(&fsrc, fsrc.fsize);
Can_Delayms(100);
if (res == FR_OK)
{
res = f_write(&fsrc, sd_write, sizeof(sd_write), &bw);
if(res==0)
{
if(bw!=sizeof(sd_write))
{
res=f_close(&fsrc);
res=f_unlink("obd1.txt");
}
}
res=f_close(&fsrc);//在这里加断点以后运行 f_open函数 后 fsrc.fsize的值 不变
f_mount(0, NULL);
|