请教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,不正确了,请问这是什么原因;掉电之后再上电   与   直接复位 执行结果不一样,跪求大神解释!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-08-13 23:54
你前面那一堆是局部变量么?
天空蓝美
2楼-- · 2019-08-14 04:23
 精彩回答 2  元偷偷看……
天空蓝美
3楼-- · 2019-08-14 07:21
天空蓝美 发表于 2017-9-15 11:22
是全局变量,参照你的视频,如果你方便你可以测试下,不耽误你几分钟,我觉得是个问题

我那样写只是方便你们看我的修改程序那些变量是什么意思,实际上那些变量是在main()之上的,我没有把main()写出来,让你们产生误解了,不好意思
正点原子
4楼-- · 2019-08-14 09:20
天空蓝美 发表于 2017-9-15 11:23
我那样写只是方便你们看我的修改程序那些变量是什么意思,实际上那些变量是在main()之上的,我没有把main ...

打印关键数据,看看。
zsl666888
5楼-- · 2019-08-14 11:17
顶!!!
天空蓝美
6楼-- · 2019-08-14 14:27
正点原子 发表于 2017-9-16 02:06
打印关键数据,看看。

关键数据已经截图给你看了额

一周热门 更多>