我把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出现的现象:
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
请问怎么改堆栈?
谢谢!
在启动代码中有,下面是根据向导改的,也可以直接到启动代码中进行修改。
非常感谢leang521和zhaojun_xf两位版主的帮助!
在下的问题已经解决了!
果然是STACK_SIZE搞的鬼!
在KEIL的启动代码中,默认的STACK_SIZE为512字节,而SD卡的扇区最小就是512,只一个Buffer就都占了,在加上其它一些数据,不重合才怪!改为2048以后,问题就解决了!
就这么个小动作,搞了一个星期!搞的我都快放弃FATFS呀!结果不是FATFS的问题!
再次感谢!高人呀!
一周热门 更多>