OpenEdv-开源电子网

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

文件系统,怎么实时存取问题

[复制链接]

3

主题

31

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-7-22
在线时间
11 小时
发表于 2017-6-7 21:08:16 | 显示全部楼层 |阅读模式
10金钱
写的程序可以只能存储最后一条的,怎么用文件系统实时存取多条数据,每一条后面用换行回车隔开
这是我的源程序
  f_open(f_txt,"0:/NEW/new.txt",FA_CREATE_ALWAYS | FA_WRITE);
  f_write(f_txt,RxBuffer5,12,&cnt);
  f_close(f_txt);
数据在RxBuffer5[]数组里面

最佳答案

查看完整内容[请看2#楼]

res = f_lseek (&fsrc , fsrc.fsize);//指针指向当前文件尾
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
744
金钱
744
注册时间
2015-5-23
在线时间
141 小时
发表于 2017-6-7 21:08:17 | 显示全部楼层
        res = f_lseek (&fsrc , fsrc.fsize);//指针指向当前文件尾
回复

使用道具 举报

3

主题

31

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-7-22
在线时间
11 小时
 楼主| 发表于 2017-6-7 21:19:02 | 显示全部楼层
yklstudent 发表于 2017-6-7 21:16
打开/关闭操作干嘛,直接就打开,然后有数据来了就写啊

不关闭,写不进去数据呀
回复

使用道具 举报

3

主题

31

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-7-22
在线时间
11 小时
 楼主| 发表于 2017-6-7 21:39:38 | 显示全部楼层
yklstudent 发表于 2017-6-7 21:16
打开/关闭操作干嘛,直接就打开,然后有数据来了就写啊

还有没有别的方法,求指点,谢谢啦
回复

使用道具 举报

3

主题

31

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-7-22
在线时间
11 小时
 楼主| 发表于 2017-6-8 09:18:11 | 显示全部楼层
还是没有解决数据覆盖问题
回复

使用道具 举报

58

主题

359

帖子

0

精华

高级会员

Rank: 4

积分
987
金钱
987
注册时间
2014-9-29
在线时间
261 小时
发表于 2017-6-8 10:14:30 | 显示全部楼层
你这种情况f_puts不是应该更好用些吗?
回复

使用道具 举报

58

主题

359

帖子

0

精华

高级会员

Rank: 4

积分
987
金钱
987
注册时间
2014-9-29
在线时间
261 小时
发表于 2017-6-8 10:15:10 | 显示全部楼层
你这样的话  每次打开  都是指向最前面   然后覆盖之前的数据
回复

使用道具 举报

3

主题

31

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-7-22
在线时间
11 小时
 楼主| 发表于 2017-6-8 10:43:35 | 显示全部楼层
闪电之舞 发表于 2017-6-8 10:15
你这样的话  每次打开  都是指向最前面   然后覆盖之前的数据

是的,是这个原因,不知道怎么改
回复

使用道具 举报

3

主题

31

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-7-22
在线时间
11 小时
 楼主| 发表于 2017-6-8 15:56:19 | 显示全部楼层
顶顶,尝试用f_lseek (f_txt,20);解决没有呢
回复

使用道具 举报

3

主题

31

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-7-22
在线时间
11 小时
 楼主| 发表于 2017-6-8 15:56:45 | 显示全部楼层
求原子哥解答一下
回复

使用道具 举报

0

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
744
金钱
744
注册时间
2015-5-23
在线时间
141 小时
发表于 2017-6-8 17:02:16 | 显示全部楼层
看看文件系统的函数说明就懂了,好似是有个函数是设置指向文件有效数据尾的
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2017-6-10
在线时间
0 小时
发表于 2017-6-10 20:53:22 | 显示全部楼层
FATFS 关闭也可以接着写啊,我一直用着挺正常的。串口接收数据,写入TF卡文件,没发现你这个问题。
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2017-6-10
在线时间
0 小时
发表于 2017-6-10 21:00:04 | 显示全部楼层
f_lseek(&file, ATP*32);   
f_write(&file, pbuf, 32, &bw);
f_sync(&file);

我每次写32字节,ATP是文件写入位置的标志,写一次就++,pbuf是32字节的待写数据。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-18 11:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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