OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3974|回复: 2

使用fatfs0.07,在spi flash中读取文件内容为0字节。

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2014-10-20
在线时间
0 小时
发表于 2014-11-26 16:51:43 | 显示全部楼层 |阅读模式
5金钱

#include "main.h"
#include "ff.h"
#include "diskio.h"
#include "string.h"

FATFS fs;
FIL file;
UINT br, bw;
char write_context[64] ="123456";
char read_context[64] = "";
 
 
void delay(u8 h)
{
int i,t;
for(i = 0;i<h;i++)
{
for(t = 0;t<=10000;t++);
}
}

int main(void)
{
UINT rs;

BT_USART_Init(9600);
SPI1_Init();
delay(100);
//SPI_FLASH_ChipErase();//擦除flash
// printf("___%d %d________\n",sizeof(write_context), sizeof(read_context));
// printf("%d %d________\n",strlen(write_context), strlen(read_context));
rs = f_mount(0, &fs);
f_mkfs(0,0,0);

rs = f_open(&file, "0:file.dat", FA_CREATE_ALWAYS | FA_WRITE | FA_READ);//返回成功
if(rs != FR_OK)
{
printf("挂载文件系统失败:%d!\n",rs);
return -1;
}
else
{
printf("挂载文件系统成功!\n");
}


rs = f_write(&file, write_context, strlen(write_context), &bw);
if(rs != FR_OK)
{
printf("写文件失败:%d!\n",rs);
return -1;
}
else
{
printf("成功写入%d个字节! \n", bw);
}
delay(500);
for(;;)
{
rs = f_read(&file, read_context, bw, &br);
printf("读出来的数据为s%d\n", read_context, br);//br返回为0
if(rs || br == 0) 
{
printf("error %d  \n",br);//
break;
}
}
if(rs != FR_OK)
{
printf("读文件失败:%d!\n",rs);
return -1;
}
else
{
printf("读文件成功?!\n");
}
f_close(&file);

while(1);
}
串口输出结果为:
挂载文件系统成功!
成功写入6个字节到文件中! 
读出来的数据为:0
error 0  
读文件成功!

这个要怎么解决??(附件工程)

STM32_217_fatfs.rar

2.08 MB, 下载次数: 74

最佳答案

查看完整内容[请看2#楼]

搞懂了,原来没有f_lseek(&file,0);
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2014-10-20
在线时间
0 小时
 楼主| 发表于 2014-11-26 16:51:44 | 显示全部楼层
搞懂了,原来没有f_lseek(&file,0);
回复

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-12-21
在线时间
0 小时
发表于 2014-12-24 14:01:31 | 显示全部楼层
哥们,问下,你那个f_mkfs(0,0,0);可以这样用吗?第三个参数不是簇的大小吗?你怎么设置为0?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-27 16:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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