之前实现了read文件,继续实现写功能,添加如下代码
len = 512;
sta = f_open(&fil,"fatfs.txt",FA_OPEN_ALWAYS | FA_WRITE);
while (sta)
{
printf("open file error! \n\t error code is %d\n\t",sta);
delay_ms(500);
}
printf("\r\nBegin Write file...\r\n");
printf("Write data len:%d\r\n",len);
sta=f_write(&fil,dat,len,&br);
if(sta)
{
printf("Write Error:%d\r\n",sta);
}else printf("Writed data len:%d\r\n",br);
printf("Write data over.\r\n");
f_close(&fil);
sta = f_open(&fil,"fatfs.txt",FA_OPEN_ALWAYS | FA_READ);
if(sta)
printf("SD Card open fail\r\n");
else
printf("SD Card open\r\n");
for(t=0;t<512;t++)
{
sta = f_read(&fil, buffer, 1, &br);
if (sta == FR_OK )
{
// printf("\r\n f_read() ok .. \r\n");
for(len =0;len<br;len++)
printf("%c",buffer[len]);
}else{
printf("\r\n f_read() fail .. \r\n");
}
}
f_close(&fil);
把需要的变量定义了,就可以编译执行了,结果见图
很是兴奋啊,搞定了读写功能,可以像操作Windows一样简单了,
发帖与2018年3月13日
sta = f_open(&fil,"fatfs.txt",FA_OPEN_ALWAYS | FA_WRITE);
while (sta)
{
printf("open file error! \n\t error code is %d\n\t",sta);
delay_ms(500);
}
printf("\r\nBegin Write file...\r\n");
printf("Write data len:%d\r\n",len);
sta=f_write(&fil,dat,len,&br);
if(sta)
{
printf("Write Error:%d\r\n",sta);
}else printf("Writed data len:%d\r\n",br);
printf("Write data over.\r\n");
f_close(&fil);
sta = f_open(&fil,"fatfs.txt",FA_OPEN_ALWAYS | FA_READ);
if(sta)
printf("SD Card open fail\r\n");
else
printf("SD Card open\r\n");
for(t=0;t<512;t++)
{
sta = f_read(&fil, buffer, 1, &br);
if (sta == FR_OK )
{
// printf("\r\n f_read() ok .. \r\n");
for(len =0;len<br;len++)
printf("%c",buffer[len]);
}else{
printf("\r\n f_read() fail .. \r\n");
}
}
f_close(&fil);
把需要的变量定义了,就可以编译执行了,结果见图
![](https://i-blog.csdnimg.cn/blog_migrate/533cc9fa748d68e7b6436a356128d261.jpeg)
很是兴奋啊,搞定了读写功能,可以像操作Windows一样简单了,
发帖与2018年3月13日