为什么在FatFs文件系统下写文件会出现这个问题?

2019-03-25 20:28发布

我把FatFs 移植到LPC1114上以后,给一个文件写内容:比如给SD卡里面的“ration.txt”文件写512个字母d,结果是在“ration.txt”里面出现了如下现象! (注意:文件头从下面字母g前面的一个空格开始)     g  T dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd   可以看出,字母d的数目不足512个,而且开头还有g,空格,T和一些符号! 请问这是怎么回事?   声明:1.经测试,读写一个扇区函数和多个扇区函数都能使用!            2.用diskio.c文件里面的函数查看SECTOR_SIZE = 512                                                              BLOCK_SIZE = 64                                                              SECTOR_COUNT = 3862528             用的是正品2G SanDisk卡!     谢谢!     下面这个图是我在写512个字母c出现的现象:   此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
leang521
1楼-- · 2019-03-26 04:39
_NXP LPC1000_ 用编辑软件看下你写入的16进制码,windows的文本编辑器功能还是不行的
zhaojun_xf
2楼-- · 2019-03-26 07:31
你用f_lseek - Move read/write pointer, Expand file size 先定位一下,再写入试试看。
richgood
3楼-- · 2019-03-26 10:20

用WINHEX软件看了下,确实是写入了整整512个字节!

不过前11个字节是乱码!

如下图:

 

richgood
4楼-- · 2019-03-26 14:12

 

richgood
5楼-- · 2019-03-26 18:01
 精彩回答 2  元偷偷看……
leang521
6楼-- · 2019-03-26 18:02
你用的哪个函数写的,吧输出从文件改到串口试试,当然最高还是跟踪下

一周热门 更多>