初级会员

- 积分
- 50
- 金钱
- 50
- 注册时间
- 2020-1-3
- 在线时间
- 7 小时
|
本帖最后由 mxy1995 于 2020-2-11 11:53 编辑
各位大神,有个sd卡问题求助
我用的潘多拉(L4)
然后在使用sd卡的时候,是在实验27的基础上修改的。
但是写下面指令的时,报错
然后我下面这样写,也是每次都是覆盖原有的数据,不能追加
- res=f_open (&fil,"0:/message.txt", FA_CREATE_NEW | FA_WRITE);
- if(res==FR_OK){//打开成功
-
- res = f_write(&fil, data_str, sizeof(data_str), &bw);
- f_close(&fil);
-
- }
- if(res==FR_EXIST){//文件已经存在的话
- //为了追加数据,必须获取原文件的长度
- f_open (&fil,"0:/message.txt", FA_OPEN_EXISTING | FA_READ);
- FileSize=f_size(&fil);//指向文件尾
- //为了写数据,必须以写的方式再打开一次文件
- f_open (&fil,"0:/message.txt", FA_WRITE | FA_OPEN_ALWAYS);
- //{
- //f_lseek(&fil,fil.fsize);
- if(FileSize>5)//需要注意的是,空的TXT,用f_size也会产生长度值,如果把这个偏移量也加入的话,TXT开头就会出现乱码,为此需要判断是否是空件
- res = f_lseek(&fil,FileSize);
- res = f_write(&fil, data_str, sizeof(data_str)-1, &bw);
- //}
- f_close(&fil);
- }
复制代码
请指教一下哪里出错了呢
|
|