OpenEdv-开源电子网

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

SD卡读写问题

[复制链接]

154

主题

263

帖子

0

精华

高级会员

Rank: 4

积分
902
金钱
902
注册时间
2012-6-29
在线时间
39 小时
发表于 2012-12-31 19:38:05 | 显示全部楼层 |阅读模式
SD卡中的读写操作(文件系统为fatfs)f_write函数是否是写一行的,例如:
 for(i=0;i<35;i++)
 {
    res = f_write(fil,redata,16, (UINT *)&bw);
    res = f_write(fil,redata[i+1],6, (UINT *)&bw);
    i++;
 }

第一个f_write是否写在第一行,第二个f_write是否是写在第二行,不管redata中的内容是什么,如果f_write不是一行一行来写 那我想弄为一行一行来写怎么弄,  高手指教一下!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-31 21:33:02 | 显示全部楼层
有个f_puts的函数,比较符合你的需要,你可以试试。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

154

主题

263

帖子

0

精华

高级会员

Rank: 4

积分
902
金钱
902
注册时间
2012-6-29
在线时间
39 小时
 楼主| 发表于 2012-12-31 23:21:05 | 显示全部楼层
回复【2楼】正点原子:
-------------------------------
写入一次之后,修改了之后再写一次时候就出错了
一开始把原有的内容写入到文本中,修改了部分内容之后再次写入时修改的那行与其下一行和为一行了  部分代码如下:
u8 wh_sd()     //写入文本
{
res = f_open(fil,rth_sdpath,FA_READ|FA_WRITE|FA_OPEN_ALWAYS);
if(res)
{
Show_Str(60,150,"内存卡打开失败",16,0);
}
for(i=0;i<36;i++)
{
   res=f_puts(redata,fil);  //写入文本

}
f_close(fil);
}
主函数中的一段代码
set_temperature=hongwai_key;
rt=set_temperature;
for(k=0;k<50;k++)
       redata[1][k]=0;
redata[1][0]=Unicode_ascii(rt);
             wh_sd();//重写入文本
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-31 23:29:01 | 显示全部楼层
回复【3楼】catbal:
---------------------------------
实在不行就用绝招吧.
sprintf!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-20 07:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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