请教:SD卡做存储介质的FATFS文件系统,如何更好的判断读/写是否完成?

2019-07-25 12:17发布

本帖最后由 occupied333 于 2017-11-8 19:12 编辑

请教:SD卡做存储介质的FATFS文件系统,如何更好的判断读/写是否完成?
调用f_read/f_write后,判断其返回值是FA_OK即表示读写完成吗?还是将ByteRead和ByteToRead进行比较?
ByteToRead是要读取的字节数,ByteRead没弄明白什么意思,为什么ByteRead<ByteToRead就是读写完成了呢?
有没有f_read/f_write相关代码我参考下,判断读写完成不知道怎么写比较可靠。谢谢!

我现在的代码如下:
                        res=f_open(file,"0:/sd.txt", FA_READ);                                               //读模式打开文件
                        if(res != FR_OK)
                        {
                                        SdOperationError |= 0x01;                                                //错误标志
                        }
                        else
                        {
                                        res = f_read(file,ReadTable,1000,&br);                                //读数据
                                        if(res != FR_OK)
                                        {
                                                        SdOperationError |= 0x03;                                //错误标志
                                        }
                                        else
                                        {
                                                        res = f_close(file);                                       //关闭文件
                                                        if(res != FR_OK)
                                                        {
                                                                        SdOperationError |= 0x04;                //错误标志
                                                        }               
                                        }
                        }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-07-25 15:37
写入没有所谓的写入完成返回,基本上只要不超过单个文件最大尺寸都可以写入。 至于读取嘛,br=0的时候就读完了。
Lonely丿Fish
2楼-- · 2019-07-25 18:26
f_read,f_write返回FR_OK就基本上可以完成读写操作了

一周热门 更多>