新手上路
- 积分
- 34
- 金钱
- 34
- 注册时间
- 2014-10-20
- 在线时间
- 0 小时
|
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
读文件成功!
这个要怎么解决??(附件工程)
|
|