文件系统FATFS使用 总结

时间:2024-04-10 20:58:41

最近在使用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 类型的一个数据, 这个数据就代表当前的时间.

具体的时间格式为
文件系统FATFS使用 总结