谢谢版主的文章,单扇区读写我实现了,在借鉴你的FAT移植程序时,我把它们都加入我的工程,只是把SSP的初始化改成我的1768,其他的没有做改动,但是不好使,是不是还有其他地方需要我修改的?
回复 61楼 xinrugujing 的帖子
原则上能实现扇区读写,文件系统就没问题的
谢谢版主,我在网上找到问题的解决方法了。
FATFS fs;
FIL file;
UINT br;
这些定义,放到函数外面做全局变量,问题就解决了。看来很多人也遇到和我一样的问题。
我又有一个新问题,每次我写的时候,都会覆盖之前的文件内容,怎样能继续写txt文档,而不会刷新里面的内容。
回复 63楼 xinrugujing 的帖子
设置文件属性,就是打开文件是的属性,别设置为覆盖
回复 64楼 zhaojun_xf 的帖子
f_open里只有这几个模式,FA_READ | FA_WRITE | FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_CREATE_NEW,没有那种类似at+的设置。
我也都试过了,依然还会覆盖。我还尝试过修改f_write()里的那个指针,但是没成功
回复 64楼 zhaojun_xf 的帖子
多谢版主的热心帮助,我找到解决方法了,在这里分享一下:
b = file.fsize;
f_lseek(&file,b);
在f_write之前加入这两句,就可以继续写而不会覆盖原先的内容了。
感谢版主支持,希望以后能继续得到你的帮助。
回复 66楼 xinrugujing 的帖子
有问题发帖,我会尽力。。。。。。
你们的读写速度怎么样呢?我的读写速度很慢,SPI的CLK频率为20MHz,写入32M数据有2%左右的出错。
回复 69楼 日新_C 的帖子
速度没有测,但不会出错的。。。。。。。
楼主,“FatFs API函数应用之二"下面的那个函数是不是只能打开目录下的一个子目录啊,我测试了官方的代码好像也是一样的,
回复 72楼 youmuchenhuai 的帖子
打开目录就是打开文件夹,每次打开一个
挺好的,顶一个!打算寒假在LM3S8962上移植FatFs玩玩!
问题是这样的,我有一块256k的flash,读写操作都已经封装好了,现在想封装一个文件系统出来。
就是类似C语言里面的有文件打开,文件读取,文件写入,文件定位,文件关闭,等函数。
利用一块256K的falsh能构建出来么,当然我不要做的像C语言的那么专业,我只要简单实现这些文件操作功能就好,有哪位大虾做过类似的文件结构呀。请教中....
目前我看了帮主的移植,我也用fatfs做了移植,编译也通过了,但是有个问题又来了。
譬如我创建一个文件,文件名的信息应该存储在flash中,也就是说在这之前就需要把flash的地址和文件系统关联起来,这样文件操作就可以找到对应的数据了。就是这个关联式在什么地方关联呀。
回复 78楼 yinzhun 的帖子
你的容量太低了不建议用文件系统,否则效率非常低,你可以自己建立一个简单的文件固定映射表,前面建立个表格,后面放文件,和FAT表一样,单不用那么复杂,提高利用效率。
如果你用了文件系统,文件与地址的联系当然是通过FAT表实现的,你可以先看看FAT表的一下基础知识先。