FATFS文件系统移植读取文件里面数据

2019-08-17 08:39发布

最近在移植FATFS文件系统,想用mini stm32板读出.txt文件里面的数据,事先已经在SD卡中建好了.txt文件,并在里面写有数据123,用f_read();可以读,但是显示在stm32上的却不是123,有谁知道怎么读出这个数据吗?谢谢了!
    BYTE buffer,*date_temp;
    u8 table[15];
    FIL fil;
    u8  file_byte; //获取文件大小
    UINT br,bw;
    date_temp=&buffer;
    res=f_open(&fil,"0:/data1.txt",FA_OPEN_EXISTING|FA_READ);//
    if(res)return; //打开文件错误 
    res = f_read(&fil,date_temp,sizeof(buffer),&br);  
        if (res||br==0)goto close;     /*  文件结束错误 */
    sprintf((char*)table,"%d",*date_temp); 
    LCD_ShowString(60,138,table);   //显示读出的数据 
    file_byte=f_size(&fil); //获取文件大小
    LCD_ShowAllNum(60,154,file_byte,3,16);
    close: f_close(&fil);
在这段程序中可以读数据,但是显示不是123。。。。。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
498650771
1楼-- · 2019-08-19 01:51
回复【12楼】正点原子:
---------------------------------
昨晚试了把.txt里面的123分别读出来,然后用LCD_ShowNum()分别显示,可以单独显示123各自对应的ASCII码,说明了在.txt文件里没有默认把123当成一体,而是分开的。如果用sprintf((char*)table,"%d",date_temp);来全部打印成字符串然后用LCD_ShowString()显示,就会进入HardFault_Handler这个死循环里面。
正点原子
2楼-- · 2019-08-19 06:01
回复【13楼】498650771:
---------------------------------
说明读出来的数据没问题了.
是数据处理上的问题了.
151xxxx5266
3楼-- · 2019-08-19 10:35
498650771 发表于 2014-7-25 09:48
回复【12楼】正点原子:
---------------------------------
昨晚试了把.txt里面的123分别读出来,然后 ...

原子哥,为何读.txt或其他格式的文件,先读出来的不是文件属性吗,比如文件类型,文件大小。。。
正点原子
4楼-- · 2019-08-19 13:00
151xxxx5266 发表于 2016-5-13 16:21
原子哥,为何读.txt或其他格式的文件,先读出来的不是文件属性吗,比如文件类型,文件大小。。。

属性就是个后缀 名而已。。。读取文件名就知道属性了。
151xxxx5266
5楼-- · 2019-08-19 16:34
 精彩回答 2  元偷偷看……
正点原子
6楼-- · 2019-08-19 21:08
151xxxx5266 发表于 2016-5-14 16:45
读BMP文件先读到的是属性类的东西,而txt直接读到的就是文件内容,是不是文本文件读出来的就是文件内容, ...

这和你存储的方式有关。

一周热门 更多>