我打开一个sd卡中的文件A,然后在创建一个新文件B,读取文件A中的数据,然后写到文件B中,这样程序执行一会就会卡到一个while循环中,有时候直接返回错误1,FR_DISK_ERR。有那个大神遇到过相似的问题,求指教。
Ryan BL:
啥子文件?
读A写到B,为啥不要写到A的地方直接写B呢?
这个错误基本上都是读A的地方文件状态跟文件实际状态不一致造成的,即使不报错,按你的场景,很可能你读的也不是你预期的。
不太清楚你的整体流程,只能说,你在一个地方写A,另一个地方读A,除非是FIFO或socket文件按对应的步骤来,其他的时候要也注意状态同步;如果是这样建议优化流程,采用更加明了的共享内存方式; 或仔细梳理,什么时候读,什么时候写,最好一个操作的时候,另一个是关闭了文件的。
feng li13:
回复 Ryan BL:
从A文件中读取出数据之后还要进行一些处理才会写到B文件中,因为这些处理不会影响到文件的操作,所以我就省略没说。整个流程就是读A,处理,然后写B,直到A文件读取完。我先按照您说得试一下。
Shine:
请问用的是哪款芯片?
feng li13:
回复 Shine:
omapl138
feng li13:
回复 Shine:
omapl138
feng li13:
回复 feng li13:
我刚试了两点:1.从文件A中读到的数据是正确的。2.在操作一个文件的时候,讲另一个文件关闭了。这样程序能跑完,但是跑完后用读卡器在电脑上看的时候,SD卡中A和B文件都没有了。