zerone 发表于 2017-9-4 16:39:19

用RL-flashFS,有文件复制功能吗

用RL-flashFS,挂一个SPI,一个U盘,我想把SPI内的文件复制到U盘,用专门的复杂函数吗?还是什么其它方法

先把数据记录在SPI,插上U盘后,数据复制到U盘,这功能很常用啊,大家都用什么方法啊

eric2013 发表于 2017-9-5 00:38:14

没有专门的函数,fread和fwrite配合实现即可。

如同fatfs这种方式一样:

myxiaonia 发表于 2017-9-5 11:34:22

mdk的board目录下有各种板子的例程,很容易找到用rl库的例子,例子里就有复制功能,当然了,其实就是硬汉兄说的类似做法了

也许在明天 发表于 2019-9-9 10:45:40

正好我也用到使用FlashFS,从SD卡复制到NAND flash,遇到复制过去的文件,打开内容不一样,不知道问题出在哪里
FILE *fpin, *fpout;
int ch;
if((fpin = fopen("D:\1.txt","rb")) == NULL)
{
printf("1 can't open file! /n");//文件打开失败打印输出
return;
}
if((fpout = fopen("D:\2.txt","wb")) == NULL)
{
close(fpin);
printf("2 can't open file! /n");
return;
}

ch = getc(fpin);
while(!feof(fpin))
{
putc(ch,fpout);
ch = getc(fpin);
}

fclose(fpin);
fclose(fpout);
fpin = NULL;
fpout = NULL;

eric2013 发表于 2019-9-9 11:21:19

也许在明天 发表于 2019-9-9 10:45
正好我也用到使用FlashFS,从SD卡复制到NAND flash,遇到复制过去的文件,打开内容不一样,不知道问题出在哪 ...

路径是不是有问题

D:\1.txt   D:\2.txt

也许在明天 发表于 2019-9-9 13:55:03

发错了,应该是下面那个
FILE *fpin, *fpout;
int ch;
if((fpin = fopen("S0:\1.txt","rb")) == NULL)
{
printf("1 can't open file! /n");//文件打开失败打印输出
return;
}
if((fpout = fopen("N0:\2.txt","wb")) == NULL)
{
close(fpin);
printf("2 can't open file! /n");
return;
}

ch = getc(fpin);
while(!feof(fpin))
{
putc(ch,fpout);
ch = getc(fpin);
}

fclose(fpin);
fclose(fpout);
fpin = NULL;
fpout = NULL;

eric2013 发表于 2019-9-10 08:23:46

也许在明天 发表于 2019-9-9 13:55
发错了,应该是下面那个
FILE *fpin, *fpout;
int ch;


可以考虑单独测试下读和写,是否正常
页: [1]
查看完整版本: 用RL-flashFS,有文件复制功能吗