[其他ST产品] 求教FATFS写入大量数据到SD卡,数据有错误问题

[复制链接]
3982|58
 楼主| 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 的内存缓冲区中。
mmbs 发表于 2024-11-13 14:29 | 显示全部楼层
在代码中添加调试信息,例如打印文件指针位置、写入字节数等,以便在出现问题时进行调试。
bestwell 发表于 2024-11-13 19:07 | 显示全部楼层
要将 SD 卡的数据线、时钟线与电源线分开布线,防止信号间的相互干扰。
kmzuaz 发表于 2024-11-14 18:25 | 显示全部楼层
低质量的 SD 卡可能会出现数据存储错误的情况。
biechedan 发表于 2024-11-14 19:54 | 显示全部楼层
使用f_open()函数打开文件时,确保选择了正确的打开模式。
如果需要连续写入数据,建议使用FA_WRITE或FA_OPEN_EXISTING | FA_WRITE模式,而不是FA_CREATE_ALWAYS,因为后者会在每次打开文件时清空文件内容。
maudlu 发表于 2024-11-17 16:43 | 显示全部楼层
检查电源电流供应能力              
tifmill 发表于 2024-11-17 18:55 | 显示全部楼层
根据数据类型和大小,选择合适的写入函数。对于字符串数据,可以使用f_printf()或f_puts();对于二进制数据,可以使用f_write()。
xiaoyaodz 发表于 2024-11-17 19:49 | 显示全部楼层
写入数据后,使用f_sync()函数同步缓存到SD卡,确保数据安全。
zerorobert 发表于 2024-11-17 20:42 | 显示全部楼层
检查f_mount()函数的返回值,确保挂载成功。
alvpeg 发表于 2024-11-17 21:45 | 显示全部楼层
避免数据缓冲区溢出或不足导致的写入错误。
两只袜子 发表于 2024-11-18 10:37 | 显示全部楼层
文件系统未正确格式化
elephant00 发表于 2024-11-18 10:41 | 显示全部楼层
文件系统损坏
jcky001 发表于 2024-11-18 11:00 | 显示全部楼层
SD卡坏了吧
duo点 发表于 2024-11-18 13:26 | 显示全部楼层
清理无用的文件和目录以释放存储空间
onlycook 发表于 2024-11-18 16:00 | 显示全部楼层
使用DMA等技术提高数据传输效率,并合理设计数据缓存机制以减少磁盘访问次数。
cr315 发表于 2024-11-19 12:00 | 显示全部楼层
突然断电或断开连接?
1988020566 发表于 2024-11-20 09:49 | 显示全部楼层
记录每次写入操作的详细信息,包括写入的数据量、返回的状态码等
您需要登录后才可以回帖 登录 | 注册

本版积分规则

493

主题

3361

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部