最近在使用FATFS, 现将使用的方法记录下来,
f_open() 函数 : 此函数用来打开或创建文件.
重点:是这个函数的最后一个参数所代表的访问的模式,
例子:
state = f_open(&mfileinfo, bmp_name, FA_WRITE|FA_READ); // 先打开文件
if(state != FR_OK) // 正常打开失败
{
state = f_open(&mfileinfo, bmp_name, FA_CREATE_NEW|FA_WRITE|FA_READ); // 创建
if(state != FR_OK) // 创建失败
{
while(1)
{
LCD_ShowString(30,240,200,16,16,"create file fail");
delay_ms(100);
}
}
}
else
{
LCD_ShowString(30,240,200,16,16,"open file fail");
delay_ms(100);
}
f_write() 函数 往文件中写入数据
例子
state = f_write(&mfileinfo, test_bmp, 230454, &data_cnt); 写入230454 字节的数据,
if(state != FR_OK)
{
while(1)
{
LCD_ShowString(30,240,200,16,16,"write file fail");
delay_ms(100);
}
}
f_close() 函数为关闭文件,
例子:
state = f_close(&mfileinfo);
if(state != FR_OK)
{
while(1)
{
LCD_ShowString(30,240,200,16,16,"close file fail");
delay_ms(100);
}
}
另外, 当创建和修改文件时, 还要保存修改的时间.
对于时间函数为
DWORD get_fattime (void) ;
{
DWORD time;
return time;
}
get_fattime() 函数重点是返回一个DWORD 类型的一个数据, 这个数据就代表当前的时间.
具体的时间格式为