庄永 发表于 2023-8-1 16:55:52

写文件丢失数据

stm32+fatfs写外接优盘的时候,很多文件都丢失了字节有人遇到过吗?

eric2013 发表于 2023-8-1 17:21:12

每次f_wrtie后,有判断返回值没,如果正常的话,得排查下底层驱动了。

庄永 发表于 2023-8-1 19:01:34

eric2013 发表于 2023-8-1 17:21
每次f_wrtie后,有判断返回值没,如果正常的话,得排查下底层驱动了。

都有判断,但是没有判断需要写的和实际写的是否一直,返回值res有通过的。不知道是不是和优盘有关

eric2013 发表于 2023-8-2 09:29:40

庄永 发表于 2023-8-1 19:01
都有判断,但是没有判断需要写的和实际写的是否一直,返回值res有通过的。不知道是不是和优盘有关
写入函数有返回有效的写入字节数,这个也判断了没,第4个参数

FRESULT f_write (
FIL* fp,          /* Pointer to the file object structure */
const void* buff, /* Pointer to the data to be written */
UINT btw,         /* Number of bytes to write */
UINT* bw          /* Pointer to the variable to return number of bytes written */
);

庄永 发表于 2023-8-2 22:48:54

eric2013 发表于 2023-8-2 09:29
写入函数有返回有效的写入字节数,这个也判断了没,第4个参数

FRESULT f_write ( ...

没有判断btw和bw是否相等,只判断返回值和bw是否为0

eric2013 发表于 2023-8-3 08:24:55

庄永 发表于 2023-8-2 22:48
没有判断btw和bw是否相等,只判断返回值和bw是否为0

每次新的写入在前面bw的基础上操作比较靠谱。

庄永 发表于 2023-8-3 08:52:35

eric2013 发表于 2023-8-3 08:24
每次新的写入在前面bw的基础上操作比较靠谱。

感谢硬汉指导
页: [1]
查看完整版本: 写文件丢失数据