当前位置: 代码迷 >> 单片机 >> fat的读文件函数,该如何处理
  详细解决方案

fat的读文件函数,该如何处理

热度:246   发布时间:2016-04-28 14:51:25.0
fat的读文件函数
这是我从网上找的代码,有个问题,就是此处 “ res表示不成功,br==0表示到结尾   但是res应该return FALSE吧??”
//我这个是打开1.dsb,并读取的
//读文件测试===================================
BOOL SdRead(void)
{
FATFS fs;
FIL fsrc;
char buffer[512] = {0};
UINT br;
FRESULT res;
int i;
////        PRINTF_S("I'll read file 'aa.txt'\r\n");
        // Register a work area for logical drive 0
        f_mount(0, &fs);
        //Open source file
        res = f_open(&fsrc, "1.dsb", FA_OPEN_EXISTING | FA_READ);
        if (res) {
////            PRINTF_S("Can't open 'aa.txt' for read\r\n");
            //Unregister a work area before discard it
return FALSE;
        }
else {
            for (;;) 
{
                res = f_read(&fsrc, buffer, sizeof(buffer), &br);
                if (res || br == 0) // error or eof  res表示不成功,br==0表示到结尾   但是res应该return FALSE吧??
break;   
                for ( i = 0; i < br; ++i ) 
{
                    //PRINTF_M("%c", buffer);
//其间触发发送,buf清空
                }
            }
            f_close(&fsrc);
            //PRINTF_S("\r\n");
        }
        f_mount(0, NULL);
return TRUE;
}
------解决思路----------------------
如果打开函数成功则返回OK这个值是零,就是你else中的程序,返回true;
如果打开函数不成功,应该返回false的,没有问题,可以参考网站:http://elm-chan.org/fsw/ff/00index_e.html
  相关解决方案