打印
[其他ST产品]

求教FATFS写入大量数据到SD卡,数据有错误问题

[复制链接]
299|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
probedog|  楼主 | 2024-10-31 12:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求教FATFS写入大量数据到SD卡,数据有错误问题
经测试发现往SD卡里面写入要给1MB左右的文件进入SD卡里面,会出现几个字节的错误问题,往SD卡写数据有没有校验呢?

使用特权

评论回复
沙发
everyrobin| | 2024-11-12 11:25 | 只看该作者
如果发生错误,根据错误代码进行相应的处理,例如重试写入操作或记录错误信息。

使用特权

评论回复
板凳
maqianqu| | 2024-11-12 12:50 | 只看该作者
在多次连续写入时,如果每次打开文件都使用FA_CREATE_ALWAYS模式,这会导致每次都新建文件,从而丢失之前的数据。

使用特权

评论回复
地板
lzbf| | 2024-11-13 12:59 | 只看该作者
在将大量数据写入 SD 卡之前,通常会先将数据存储在 STM32 的内存缓冲区中。

使用特权

评论回复
5
mmbs| | 2024-11-13 14:29 | 只看该作者
在代码中添加调试信息,例如打印文件指针位置、写入字节数等,以便在出现问题时进行调试。

使用特权

评论回复
6
bestwell| | 2024-11-13 19:07 | 只看该作者
要将 SD 卡的数据线、时钟线与电源线分开布线,防止信号间的相互干扰。

使用特权

评论回复
7
kmzuaz| | 2024-11-14 18:25 | 只看该作者
低质量的 SD 卡可能会出现数据存储错误的情况。

使用特权

评论回复
8
biechedan| | 2024-11-14 19:54 | 只看该作者
使用f_open()函数打开文件时,确保选择了正确的打开模式。
如果需要连续写入数据,建议使用FA_WRITE或FA_OPEN_EXISTING | FA_WRITE模式,而不是FA_CREATE_ALWAYS,因为后者会在每次打开文件时清空文件内容。

使用特权

评论回复
9
maudlu| | 2024-11-17 16:43 | 只看该作者
检查电源电流供应能力              

使用特权

评论回复
10
tifmill| | 2024-11-17 18:55 | 只看该作者
根据数据类型和大小,选择合适的写入函数。对于字符串数据,可以使用f_printf()或f_puts();对于二进制数据,可以使用f_write()。

使用特权

评论回复
11
xiaoyaodz| | 2024-11-17 19:49 | 只看该作者
写入数据后,使用f_sync()函数同步缓存到SD卡,确保数据安全。

使用特权

评论回复
12
zerorobert| | 2024-11-17 20:42 | 只看该作者
检查f_mount()函数的返回值,确保挂载成功。

使用特权

评论回复
13
alvpeg| | 2024-11-17 21:45 | 只看该作者
避免数据缓冲区溢出或不足导致的写入错误。

使用特权

评论回复
14
两只袜子| | 2024-11-18 10:37 | 只看该作者
文件系统未正确格式化

使用特权

评论回复
15
elephant00| | 2024-11-18 10:41 | 只看该作者
文件系统损坏

使用特权

评论回复
16
jcky001| | 2024-11-18 11:00 | 只看该作者
SD卡坏了吧

使用特权

评论回复
17
duo点| | 2024-11-18 13:26 | 只看该作者
清理无用的文件和目录以释放存储空间

使用特权

评论回复
18
onlycook| | 2024-11-18 16:00 | 只看该作者
使用DMA等技术提高数据传输效率,并合理设计数据缓存机制以减少磁盘访问次数。

使用特权

评论回复
19
cr315| | 2024-11-19 12:00 | 只看该作者
突然断电或断开连接?

使用特权

评论回复
20
1988020566| | 2024-11-20 09:49 | 只看该作者
记录每次写入操作的详细信息,包括写入的数据量、返回的状态码等

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

376

主题

2003

帖子

3

粉丝