OpenEdv-开源电子网

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

【已解决】STM32F2 + FATfs 0.09B 能读,但是不能写,Thanks 原子哥.

[复制链接]

2

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2013-9-16
在线时间
0 小时
发表于 2013-9-16 16:32:27 | 显示全部楼层 |阅读模式
如题,使用STM32F205 + chaN‘ fatfs,read—only设置为0,
读写测试代码如下:
if(f_mount)(0,&g_FATS)==FR_OK)
{
    if(f_open(&g_file,"test.txt",FA_OPEN_ALWAYS | WRITE) == FR_OK)
   {
      if(f_size(&g_file) >0)
        f_lseek(&g_file,f_size(&g_file));
     f_write(&g_file,"my name is lucy",15,&br);
   }
   if(f_open(&g_file),"test.txt",FA_OPEN_EXISTING | FA_READ) == FR_OK)
   {
     f_read(&g_file,buf,512,&br);
  }
f_close(&g_file);
f_mount(0,0);
}

需要判定是否返回FR_OK的地方都是可以的,卡里有内容的时候,读出数据也是没问题的,只有写不行。
昨天有时候还写进去了,今天完全写不进去了,根本没有调用过disk_write,f_write时,走到
if(fp->flag & FA_DIRTY)
{
}
就直接跳过了,flag=0x12,FA_DIRTY 为0x40。
有没有调试过的,求助!。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-9-16 21:36:41 | 显示全部楼层
写的时候,返回什么错误?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2013-9-16
在线时间
0 小时
 楼主| 发表于 2013-9-17 08:42:29 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
返回的都是FR_OK,就是没写进去,谢谢原子哥百忙帮忙看
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-9-17 10:07:19 | 显示全部楼层
返回FR_OK就表示没问题哦。
不过你的 f_write(&g_file,"my name is lucy",15,&br);
之后,立马就去读,是不对的。
 f_write之后,必须f_close,才可以真正写入数据,否则是不会成功的。
也就是f_write完之后,必定要先f_close。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2013-9-16
在线时间
0 小时
 楼主| 发表于 2013-9-17 10:17:02 | 显示全部楼层
回复【4楼】正点原子:

返回FR_OK就表示没问题哦。
不过你的 f_write(&g_file,"my name is lucy",15,&br);
之后,立马就去读,是不对的。
 f_write之后,必须f_close,才可以真正写入数据,否则是不会成功的。
也就是f_write完之后,必定要先f_close。

---------------------------------
虽说之前仅仅测试写的时候(没有读操作)的确是紧跟着f_close的,只是工作不稳定,有时候写入失败,建立文件也失败。
但是针对当前这个而言,的确是,加上一句f_close就写进去了,我在测试下有没有不稳定的现象了。
谢谢原子哥,作为回报,以后常常登陆论坛,尽自己的力量也回答点问题呵呵,减轻你的工作量。
另外真心建议,解决了的题目编辑一下加上一个“已解决”字样,方便别的朋友搜索查看。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-9-17 10:57:23 | 显示全部楼层
回复【5楼】Adela:
---------------------------------
谢谢,这个功能,我们在考虑了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-13 05:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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