fatfs

本文介绍了如何使用MYfatfs库在8Mbyte串行Flash上进行文件系统操作,包括挂载、创建、写入和读取文件,以及必要的配置步骤和错误处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://elm-chan.org/fsw/ff/00index_e.html
文件地址下载地址在这上上面
在这里插入图片描述

api在这都有很详细的介绍
在这里插入图片描述

这边一部分需要自己实现
在这里插入图片描述
具体的看代码MYfatfs
ffconf,h如何配置在点进api后也都可以看到
在这里插入图片描述

int main(void)
{ 	
	FRESULT ref;
	LED_GPIO_Config();
//	LED_BLUE;
	
	/* 配置串口为:115200 8-N-1 */
	USART_Config();
	printf("\r\n 这是一个8Mbyte串行flash(W25Q64)实验 \r\n");
	
//FRESULT f_mount (
//FATFS*       fs,    /* [IN] Filesystem object文件系统对象模块 */
//const TCHAR* path,  /* [IN] Logical drive number */
//BYTE         opt    /* [IN] Initialization option */
//);
//#define SD_CARD 	0
//#define SPI_FLASH 	1
	ref = f_mount (&fsObject, "1:", 1);//挂载文件系统
	printf("ref f_mount = %d\r\n",ref);
	// 产生文件系统
	if(ref == FR_NO_FILESYSTEM)
	{
		//https://blog.youkuaiyun.com/zwl1584671413/article/details/103819727?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165859255116781647540525%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165859255116781647540525&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-4-103819727-null-null.142^v33^new_blog_fixed_pos,185^v2^control&utm_term=f_mkfs&spm=1018.2226.3001.4187
		ref = f_mkfs("1:",0,work,sizeof(work));
		printf("ref  f_mkfs = %d\r\n",ref);
		ref = f_mount (NULL, "1:", 1);//取消挂载文件系统
		ref = f_mount (&fsObject, "1:", 1);//重新挂载文件系统
		printf("second ref  f_mount = %d\r\n",ref);
	}
	printf("aaaa\r\n");
	ref = f_open(&fp,"1:陈新波测试21313.txt",FA_CREATE_ALWAYS|FA_READ|FA_WRITE);
	printf("ref f_open %d\r\n",ref);
	if(ref == FR_OK)
	{
		ref = f_write(&fp,write_data,sizeof(write_data),&bw);
		printf("bw == %d\r\n",bw);
//		f_lseek(&fp,0);
		f_rewind(&fp);
		if(ref == FR_OK )
		{
			//f_size读取整个文件的大小
			ref = f_read(&fp,read_data,f_size(&fp),&br);
			if(ref == FR_OK )
			{
				printf("read_data br == %s %d\r\n",read_data,br);
			}
		}
	}
	f_close(&fp);
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值