搜索
bottom↓
回复: 10

fatfs创建新文件,求助

[复制链接]

出0入0汤圆

发表于 2014-5-12 15:44:37 | 显示全部楼层 |阅读模式
按键扫描,当有KEY-UP按下时,就会新建一个文件夹,不如新建Acc1.xls;而再按一次就会另新建一个文件,比如Acc2.xls;
switch(t)
{          
case KEY_UP:
                    f_res = f_open(filedst, "0:/Acc1.xls", FA_OPEN_NEW_COVER);   //新建文件,如果存在则覆盖
                    f_res = f_lseek(filedst,filedst->fsize );                   //指针移动到文件末尾以附加数据                 
break;
.....
}

不知能不能实现,因为"0:/Acc1.xls"是一个整体,里面没有变量,不可以每次+1;如果写成"0:/Acc[i].xls",他也就会把Acc[i]当成一个整体,并不会随i 的变化而变化!不知还有没有其他的方式?
让文件名随按键每按一次发生变化?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2014-5-12 16:14:22 | 显示全部楼层
lz是否了解字符串与字符数组的同异?不 "0:/Acc1.xls"变为一个数组就可以了。

出0入0汤圆

 楼主| 发表于 2014-5-12 16:17:14 | 显示全部楼层
k_er_tlwei 发表于 2014-5-12 16:14
lz是否了解字符串与字符数组的同异?不 "0:/Acc1.xls"变为一个数组就可以了。

恩,好,我先学习学习,谢谢1

出0入0汤圆

 楼主| 发表于 2014-5-12 16:43:22 | 显示全部楼层
case KEY_UP:
                    j=j+1;
                    sprintf((char*) Dat_buffer,"%s","0:/j.xls");
                    f_res = f_open(filedst, Dat_buffer, FA_OPEN_NEW_COVER); //新建文件,如果存在则覆盖
                    f_res = f_lseek(filedst,filedst->fsize );                   //指针移动到文件末尾以附加数据
                    LED1=0;                                                            //新建文件成功,LED1亮!
break;
这样不行!

出0入22汤圆

发表于 2014-5-12 16:45:26 | 显示全部楼层
wgco 发表于 2014-5-12 16:43
case KEY_UP:
                    j=j+1;
                    sprintf((char*) Dat_buffer,"%s","0:/j. ...


  sprintf((char*) Dat_buffer,"0:/file%d.xls",j);

出0入0汤圆

 楼主| 发表于 2014-5-12 16:56:41 | 显示全部楼层
jiaowoxiaolu 发表于 2014-5-12 16:45
sprintf((char*) Dat_buffer,"0:/file%d.xls",j);

你好,还是不行,程序死在那里!我怀疑是“f_res = f_open(filedst, Dat_buffer, FA_OPEN_NEW_COVER);”里Dat_buffer的问题,但又不知道怎么改?

出0入0汤圆

 楼主| 发表于 2014-5-12 22:27:49 | 显示全部楼层
u8 Dat_buffer[13];
case KEY_UP:
                    j=j+1;
                    sprintf((char*)Dat_buffer,"0:/data%d.xls",j);
                    f_res = f_open(filedst,Dat_buffer, FA_OPEN_NEW_COVER); //新建文件,如果存在则覆盖
                    f_res = f_lseek(filedst,filedst->fsize );                   //指针移动到文件末尾以附加数据
                    LED1=0;                                                            //新建文件成功,LED1亮!
break;

问题解决!

出0入0汤圆

发表于 2014-5-20 15:49:05 | 显示全部楼层
楼主你好,看到你最近也在用FatFs+SD卡,我最近也在学习,是想将AD采集的到数据以二进制形式保存在SD卡中,然后通过Labview读取SD卡的数据。现在文件系统的读写正常,就是利用ultra edit查看SD卡中保存的二进制文件是乱码,希望就此问题能和楼主进行一下讨论,期待与楼主的交流

出0入0汤圆

发表于 2014-6-11 16:44:41 | 显示全部楼层
kongethan 发表于 2014-5-20 15:49
楼主你好,看到你最近也在用FatFs+SD卡,我最近也在学习,是想将AD采集的到数据以二进制形式保存在SD卡中, ...

我刚做完一类类似的项目,你这个乱码解决了吧已经?

出0入0汤圆

发表于 2014-6-12 09:13:28 | 显示全部楼层
tairuibao 发表于 2014-6-11 16:44
我刚做完一类类似的项目,你这个乱码解决了吧已经?

没能解决,有时用UE查看仍然是乱码,但是用LabVIEW读取二进制文件显示仍是正确的,如图为UE和LabvieW读取同一个保存的.dat文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-6-12 10:44:59 | 显示全部楼层
kongethan 发表于 2014-6-12 09:13
没能解决,有时用UE查看仍然是乱码,但是用LabVIEW读取二进制文件显示仍是正确的,如图为UE和LabvieW读取 ...

方便的话把写文件的代码给我看看,我在我这儿跑跑试试。我觉得问题不大~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 08:55

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表