f_open返回FR_TIMEOUT
程序最初时没有问题,但是在程序中的一个文件改了他的结构体的参数,运行一段时间再打开任意文件,都会返回FR_TIMEOUT的返回值,比如改变宏定义MAX_HISDATA_STORE_DAY 30 -> 31,就会出现这个现象或者在这个结构体中加入一个参数也是会出现这个现象,一开始怀疑是文件系统对于一次的文件写入有限制,但是我删除这个HISDATA_METER_DAY_MAP结构体的MeterHisDayData参数时,添加一个uint8_t HisDataHourStart;的参数,也会出现这个问题。给我的感觉就是这个数组在系统中已经写定了,出现任何改变都会导致文件系统读不出来,返回超时。追踪程序都会在chk_mounted()函数下的ENTER_FF函数中返回超时 你的应用部分代码怎么实现的,方便的话,发个简单示意部分即可。 eric2013 发表于 2020-7-22 10:40
你的应用部分代码怎么实现的,方便的话,发个简单示意部分即可。
这是几个截图
641115388 发表于 2020-7-22 11:51
这是几个截图
换一种实现方式,f_mount, f_open以后,不要再f_close和卸载
直接f_wrtie配合f_sync eric2013 发表于 2020-7-22 14:28
换一种实现方式,f_mount, f_open以后,不要再f_close和卸载
直接f_wrtie配合f_sync
好的,谢谢硬汉
页:
[1]