OpenEdv-开源电子网

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

STM32文件系统往SD卡里面建立文件写一些字符串,最后写入的数据不能写入

[复制链接]

17

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2013-11-19
在线时间
10 小时
发表于 2016-2-23 09:47:58 | 显示全部楼层 |阅读模式
1金钱
STM32文件系统往SD卡里面建立txt文件写一些字符串,多次写入同一个文件中,但在电脑上看时,没有最后一次写入的数据,单步调试发现确实写入了,但为什么没有呢?有遇到这样的问题的吗?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-2-23 23:29:23 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-2-23 23:29:28 | 显示全部楼层
查代码
回复

使用道具 举报

17

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2013-11-19
在线时间
10 小时
 楼主| 发表于 2016-2-24 14:29:11 | 显示全部楼层

单步运行的,写入后返回值是成功的,但关电拿出来在电脑上看就没有
void WriteDatatosd(u8 *tmp_name,u8 *buffertemp,u8 datalen)//把数据写入SD卡中
{
        FRESULT res;               // FatFs function common result code
        UINT bw;

        res = f_open(&fsrc, (char*)tmp_name, FA_OPEN_ALWAYS | FA_WRITE);
       
        if(res==FR_OK)
        {
                res = f_lseek(&fsrc, f_size(&fsrc));
                res = f_write(&fsrc, buffertemp,datalen, &bw);
                Delay_ms(500);
        }
        else
        {
                f_close(&fsrc);
                Delay_ms(1000);
                res = f_open(&fsrc, (char*)tmp_name, FA_OPEN_ALWAYS | FA_WRITE);
                if(res==FR_OK)
                {
                        res = f_lseek(&fsrc, f_size(&fsrc));
                        res = f_write(&fsrc, buffertemp,datalen, &bw);
                        Delay_ms(500);
                }
        }
        f_close(&fsrc);       
}
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 22:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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