杀神归来了 发表于 2018-12-6 11:48:04

FatFS使用疑惑

使用f_poen()打开文件,f_write(),写入123456,再使用f_read(),无法读出,但是f_write(),之后f_close(),再次打开,就可以读,尝试在f_write()之后,f_sync,也不能读,fatfs在写之后一定要关闭文件才能读吗?谢谢

eric2013 发表于 2018-12-6 12:23:47

f_open最后一个参数使能读写都支持了没。

杀神归来了 发表于 2018-12-6 13:56:15

eric2013 发表于 2018-12-6 12:23
f_open最后一个参数使能读写都支持了没。

f_open(&fnew, "1:77.txt",FA_OPEN_ALWAYS | FA_READ | FA_WRITE );

杀神归来了 发表于 2018-12-6 13:57:18

eric2013 发表于 2018-12-6 12:23
f_open最后一个参数使能读写都支持了没。

读操作后,返回值ok,但是读计数返回值0

eric2013 发表于 2018-12-6 14:35:49

杀神归来了 发表于 2018-12-6 13:57
读操作后,返回值ok,但是读计数返回值0

我手头板子的SD卡不好用了,没法帮你测试了。

设置f_seek到开头位置是否可以正常测试。如果是读取刚刚写入的话,不行的话,就只能f_close了

leiyitan 发表于 2018-12-6 20:20:07

楼主,别着急,我也是这个问题!每次操作都打开再关闭,买办法,就这么干吧!

在水一方 发表于 2018-12-24 20:02:06

怎么说呢,只有fclose之后,才是真正的写入!

novice 发表于 2019-1-10 14:18:40

f_write了以后 想立即读取刚才写入的内容必须f_seek回去,因为当前位置会被f_write自动更新,f_read实际是读取文件末尾当然读不到内容了。
页: [1]
查看完整版本: FatFS使用疑惑