硬汉嵌入式论坛

 找回密码
 立即注册
查看: 515|回复: 9
收起左侧

[FatFs] stm32f105rct6+fatfs+128mbit FLASH +usb

[复制链接]

3

主题

12

回帖

21

积分

新手上路

积分
21
发表于 2025-3-11 20:04:02 | 显示全部楼层 |阅读模式
各位大佬,我使用,flash存储数据,请问一下如何减少f_open,f_close,_f_write的时间啊,我500ms写一次128字节的数据,但是发现每次f_close和_f_write就占了300多ms,而且后面越写,时间的开销越多都到400ms左右了。后面我打算存32次,存到4096字节一次写入,发现时间更长了。请问大佬们有没有方法就是能够减少打开文件,写数据,关闭文件的时间开销啊,保证时间稳定在300ms也可以。
A1C319B15EB1BFBCE7E4460B44C64F26.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-3-13 08:10:44 | 显示全部楼层
f_open后不要关闭,使用f_write + f_sync 会实时写入到SD卡,试试这个最快速度多少。
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2025-3-13 09:39:10 | 显示全部楼层
eric2013 发表于 2025-3-13 08:10
f_open后不要关闭,使用f_write + f_sync 会实时写入到SD卡,试试这个最快速度多少。

我试了一下,只需要100多ms了,但是插上usb后发现csv文件里没数据
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2025-3-13 09:59:24 | 显示全部楼层
eric2013 发表于 2025-3-13 08:10
f_open后不要关闭,使用f_write + f_sync 会实时写入到SD卡,试试这个最快速度多少。

可以了,现在时间是260ms左右,请问一下f_close不关闭的话有没有影响呢大佬
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2025-3-13 11:27:08 | 显示全部楼层
eric2013 发表于 2025-3-13 08:10
f_open后不要关闭,使用f_write + f_sync 会实时写入到SD卡,试试这个最快速度多少。

大佬,我的文件系统的缓冲区是4096,然后我每次写入128字节,每32次的时候这个时间就是580多ms,这个好像是对缓冲区进行刷新,这种有方法解决吗,
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-3-14 08:16:41 | 显示全部楼层
zrf1 发表于 2025-3-13 09:59
可以了,现在时间是260ms左右,请问一下f_close不关闭的话有没有影响呢大佬

没问题的。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-3-14 08:17:27 | 显示全部楼层
zrf1 发表于 2025-3-13 11:27
大佬,我的文件系统的缓冲区是4096,然后我每次写入128字节,每32次的时候这个时间就是580多ms,这个好像 ...

可以考虑每4096写入一次,这样底层是调用的multi sector函数,速度比小于等于512的单扇区要块多了。
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2025-3-14 16:54:10 | 显示全部楼层

这个我试过,前面的数据时间差很整齐,但是每32到33的数据,时间差就很大
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-3-15 09:48:27 | 显示全部楼层
zrf1 发表于 2025-3-14 16:54
这个我试过,前面的数据时间差很整齐,但是每32到33的数据,时间差就很大

FAT系统有一点,每个到一个簇大小的时候,时间会稍长些。
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2025-3-16 16:26:54 | 显示全部楼层
eric2013 发表于 2025-3-15 09:48
FAT系统有一点,每个到一个簇大小的时候,时间会稍长些。

好的谢谢大佬
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-25 20:17 , Processed in 0.305904 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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