Fatfs 在 SD卡 存储2000多个浮点 数组 的问题

2019-12-23 18:34发布

本帖最后由 kalo425 于 2013-11-26 21:04 编辑

       
帮同学弄了个新号,没有啥莫元了。都送给你们
是这样的,我有2000多个浮点数据,需要保存data.x 和 data.y,

----------------------------------------------------------
最开始想保存成csv格式的。
001.jpg (16.08 KB, 下载次数: 0) 下载附件 2013-11-26 20:52 上传
问题1,第二行没分开,在一个格子里面。
问题2,那2000多个数据涅??妈蛋··怎么都是空的。外面文件可以7K呢

  f_puts(" 未处理的光谱数据 ",&file);
    f_lseek(&file,file.fptr);
    f_sync(&file);
        f_puts(" 位移 强度 ",&file);

//,我已经加了 制表符号了,妥妥的, “ ” 位移和强度怎么就都在一个格子里面呢?
=================================================
  1.    for(i=0;i<cnt;i++)
  2.     {
  3.         f_printf(&file, "%.2f %.0f ",pbuf[i].x,pbuf[i].y);
  4.                 printf("%.2f ",pbuf[i].x);
  5.     }
复制代码
然后看这个  格式化输出也不对啊·····都是空的,我加了一句从串口打印,打印出来的都是对的·····
--------------------------------------------------------------------------------------------

后来我保存成txt的,还是不行·····看到那个f_printf(&file, "%.2f %.0f ",pbuf.x,pbuf.y);  了吧
txt文件里面,没有数据,都是这个 .2f  .f····

=============================
看在40块大洋,我的全部家当的面子上,大家帮帮忙
小弟水平有限,请轻喷哈
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
25条回答
kalo425
2019-12-26 01:17
skyhu 发表于 2013-11-27 11:07
f_printf是不支持浮点类型的,建议用sprintf转换成字符,再写进文件

我用sprintf 抓换,然后用 f_write写,还是出错

  1.     for(i=0;i<cnt;i++)
  2.     {
  3.                 sprintf(tempbuf," %.2f %.0f ",pbuf[i].x,pbuf[i].y);//格式化写入字符
  4.         //f_printf(&file, "%.2f %.0f ",pbuf[i].x,pbuf[i].y);
  5.         //f_puts(" ",&file);
  6.         //f_puts(tempbuf,&file);
  7.         f_write(&file,tempbuf,sizeof(tempbuf),&bw); // 这里写入字节个数怎么算?能用sizeof?
  8.         f_lseek(&file, file.fptr);
  9.         f_sync(&file);
  10.                 printf("%.2f ",pbuf[i].y); //从串口打印数据,查看是否存储正确
  11.     }
复制代码

我刚看时用的p_puts  和f_printf 发现都不行,现在用了 f_write也不行。没办法了····

一周热门 更多>