OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2106|回复: 0

【关于sd卡】求助sd卡使用

[复制链接]

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2020-1-3
在线时间
7 小时
发表于 2020-2-11 09:46:10 | 显示全部楼层 |阅读模式
本帖最后由 mxy1995 于 2020-2-11 11:53 编辑

各位大神,有个sd卡问题求助
我用的潘多拉(L4)
然后在使用sd卡的时候,是在实验27的基础上修改的。
但是写下面指令的时,报错
  1. f_lseek(&fil,fil.fsize);
复制代码


TIM图片20200211094434.png


然后我下面这样写,也是每次都是覆盖原有的数据,不能追加

  1. res=f_open (&fil,"0:/message.txt", FA_CREATE_NEW | FA_WRITE);        
  2.                                         if(res==FR_OK){//打开成功
  3.                                                 
  4.                                                 res = f_write(&fil, data_str, sizeof(data_str), &bw);
  5.                                                 f_close(&fil);
  6.                                                 
  7.                                         }
  8.                                         if(res==FR_EXIST){//文件已经存在的话
  9.                                                 //为了追加数据,必须获取原文件的长度
  10.                                                 f_open (&fil,"0:/message.txt",  FA_OPEN_EXISTING | FA_READ);        
  11.                                                         FileSize=f_size(&fil);//指向文件尾
  12.                                                 //为了写数据,必须以写的方式再打开一次文件
  13.                                                 f_open (&fil,"0:/message.txt",  FA_WRITE | FA_OPEN_ALWAYS);        
  14.                                                 //{
  15.                                                         //f_lseek(&fil,fil.fsize);
  16.                                                         if(FileSize>5)//需要注意的是,空的TXT,用f_size也会产生长度值,如果把这个偏移量也加入的话,TXT开头就会出现乱码,为此需要判断是否是空件
  17.                                                         res = f_lseek(&fil,FileSize);
  18.                                                         res = f_write(&fil, data_str, sizeof(data_str)-1, &bw);
  19.                                                 //}
  20.                                                 f_close(&fil);
  21.                                         }
复制代码


请指教一下哪里出错了呢
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-20 13:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表