请教SD卡测试重大bug问题

2019-08-13 23:45发布

FIL fil;
FRESULT res;
UINT bww,brr;
u8 buf[512];
u8 a11[3]="1";
u8 a13[3]="5";
///第一次
        res=f_open(&fil,"0:/203.txt",FA_OPEN_ALWAYS|FA_WRITE);
       
        f_write(&fil,a11,1,&bww);
       
        f_write(&fil,a11,1,&bww);
       
        f_close(&fil);
///第二次
  res=f_open(&fil,"0:/203.txt",FA_OPEN_ALWAYS|FA_WRITE);
       
        res = f_lseek(&fil, f_size(&fil));
       
  f_write(&fil,a13,1,&bww);
       
        f_write(&fil,a13,1,&bww);
       
        f_close(&fil);
while(1)
        {
                t++;
                delay_ms(200);                                           
                LED0=!LED0;
        }
以上是我在103战舰开发板fatfs文件系统官方例程基础上修改测试SD卡FA_OPEN_ALWAYS命令,我发现一个重大问题,我首次执行后使用usmart打开显示1155,结果正确;
然后第二次我按103开发板复位键后,再用usmart打开显示115555,根据FA_OPEN_ALWAYS的解释,这也是正确的,没有问题;第三次我直接按下电源按钮关掉电源,然后再开启电源,再打开usmart,显示结果却不是11555555,不正确了,请问这是什么原因;掉电之后再上电   与   直接复位 执行结果不一样,跪求大神解释!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。