打印

fatfs建立txt并写入数据后,txt文件提示打开错误

[复制链接]
1983|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
如题,在使用fatfs时,创建txt文件是正常的。
现在往里面写入数据时,数据能正常写入,通过winhex软件也确认过了。
但是当关闭文件后再电脑端查看写入的txt文件时,会提示文件损坏。如图 err.png


网上搜了下,运行指令 CHKDSK J: /F 可以修复。
修复后,能看到之前写的数据,但是,修复后的txt文件,却只有4096字节(是刚好4096字节),也就是刚好一簇的大小。

底层sd初始化及扇区操作函数,一直是用在znfat并且很稳定,现在想换成fatfs,想请教下在什么情况下会出现文件损坏的情况。


err.png (31.27 KB )

err.png

chk1.png (18.09 KB )

chk1.png

err3.png (33.11 KB )

err3.png

err2.png (218.06 KB )

err2.png

chk2.png (34.69 KB )

chk2.png

相关帖子

沙发
杨爱林林|  楼主 | 2016-11-23 09:51 | 只看该作者
顶一个

使用特权

评论回复
板凳
ticomi| | 2016-11-24 15:47 | 只看该作者
我一直使用的FATFS,很正常,当然也有BUG问题,不过不严重。
查看写文件后是否正常关闭?这个很重要。还有底层移植的时候有没有等待扇区写完的时候再进行下一扇区的读写操作?

使用特权

评论回复
地板
杨爱林林|  楼主 | 2016-11-24 16:57 | 只看该作者
ticomi 发表于 2016-11-24 15:47
我一直使用的FATFS,很正常,当然也有BUG问题,不过不严重。
查看写文件后是否正常关闭?这个很重要。还有 ...

写的时候用的是最新版本的fs,之后改成前一版本的fs。
现功能全部正常,正在测试批量存储
对比新老fs写数据f_write函数有如下几个图片(暂时没有深一步研究,等批量存储测试正常后看看):
注:新fs只是写10几个字节都会出现这个问题

new1.jpg (421.44 KB )

new1.jpg

new2.jpg (430.13 KB )

new2.jpg

new3.jpg (418.23 KB )

new3.jpg

new4.jpg (383.54 KB )

new4.jpg

old1.jpg (427.01 KB )

old1.jpg

old2.jpg (414.97 KB )

old2.jpg

old3.jpg (412.41 KB )

old3.jpg

old4.jpg (385.43 KB )

old4.jpg

使用特权

评论回复
5
ticomi| | 2016-11-24 17:26 | 只看该作者
杨爱林林 发表于 2016-11-24 16:57
写的时候用的是最新版本的fs,之后改成前一版本的fs。
现功能全部正常,正在测试批量存储
对比新老fs写数 ...

我此前使用的是R0.10版本,后来FATFS升级的版本我还没有使用,最近在一个新项目中将会使用。另外还可以参考下FreeRTOS推出的FAT文件系统,但是在中国好似没有人使用,也没有发现有相关的使用案例。
我用的时候也发现了一些BUG,避开了,没有去修改源码。

使用特权

评论回复
6
杨爱林林|  楼主 | 2016-11-24 18:29 | 只看该作者
ticomi 发表于 2016-11-24 17:26
我此前使用的是R0.10版本,后来FATFS升级的版本我还没有使用,最近在一个新项目中将会使用。另外还可以参 ...

好,你到时候用用看,12版本的

使用特权

评论回复
7
wenminf168168| | 2019-9-9 12:31 | 只看该作者

你好,你这个问题我这fat32 R0.13版本中也遇到过,超过一个簇的写入电脑就读不出来,请问你后面怎么解决的,谢谢了!!!

使用特权

评论回复
8
杨爱林林|  楼主 | 2019-9-9 16:42 | 只看该作者
wenminf168168 发表于 2019-9-9 12:31
你好,你这个问题我这fat32 R0.13版本中也遇到过,超过一个簇的写入电脑就读不出来,请问你后面怎么解决 ...

我用的是旧版本的fs,应该是11版本的,你可以试试看。

使用特权

评论回复
9
wenminf168168| | 2019-9-9 18:35 | 只看该作者
杨爱林林 发表于 2019-9-9 16:42
我用的是旧版本的fs,应该是11版本的,你可以试试看。

旧版本R0.11的确实可以写,不知道新版本为什么出现这种情况。还是感谢你!!!

使用特权

评论回复
10
杨爱林林|  楼主 | 2019-9-9 22:32 | 只看该作者
wenminf168168 发表于 2019-9-9 18:35
旧版本R0.11的确实可以写,不知道新版本为什么出现这种情况。还是感谢你!!! ...

哈哈,没帮到忙,祝你顺利。

使用特权

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

本版积分规则

个人签名:己所不欲,勿施于人,争渡争渡

20

主题

724

帖子

6

粉丝