就是最简单的f_write,实验现象是只能创建一个1111.txt的文件,但是数组里的内容却没有写进去,这是为何??
#include "ad.h"
#include "lcd.h"
#include "flash.h"
#include "mmc_sd.h"
#include "text.h"
#include "fat.h"
#include "fontupd.h"
#include "led.h"
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "includes.h"
#include "ff.h"
#include "string.h"
FATFS fs;
FIL fsrc,fdst; //用来存储文件对象的空结构体的指针
FRESULT res;
UINT br,bw;
DIR dir;
FILINFO fno; //指向文件信息结构体,用来存储读取到的文件信息
char buffer[512];
unsigned char buffer1[]={"hello!"};
u8 i = 50;
u8 j = 0;
int main(void)
{
Stm32_Clock_Init(9);//系统时钟设置
delay_init(72); //延时初始化
uart_init(72,9600); //串口1初始化
LCD_Init(); //初始化液晶
Font_Init();
LED_Init(); //LED初始化
SPI_Flash_Init(); //SPI FLASH初始化
LCD_Clear(BLACK);
POINT_COLOR=RED;//设置字体为红色
BACK_COLOR = BLACK;
while(SD_Init()) //检测SD卡
{
LCD_ShowString(60,150,"TIME_OUT");
delay_ms(200);
LED0=!LED0;//DS0闪烁
}
f_mount(0,&fs);
res = f_open(&fsrc,"11111.txt",FA_OPEN_ALWAYS | FA_WRITE);
if(!res)
{
for(;;)
{
res = f_write(&fsrc,buffer1,sizeof(buffer1),&bw);
if(res || bw == 0)
{
Show_Str24(50,100,"tt",1);
delay_ms(500);
break;
}
}
f_close(&fsrc);
Show_Str24(50,150,"tsrt",1);
delay_ms(500);
}
while(1);
}
|