FAT32 R0.12b f_mkfs应用实例
来源:互联网 发布:json接口api 编辑:程序博客网 时间:2024/06/05 03:14
做单片机开发难免用到文件系统,以前用的老版本,最近做新项目想搞个更新版的,结果格式化这里就遇到困难,原来版本格式化函数只有三个参数:
FRESULT f_mkfs ( BYTE Drive, /* 逻辑驱动器号 */ BYTE PartitioningRule, /* 分区规则 */ WORD AllocSize /* 分配单元大小 */);最新版R0.12b (September 4, 2016)是这样的:
FRESULT f_mkfs ( const TCHAR* path, /* [IN] Logical drive number */ BYTE opt, /* [IN] Format options */ DWORD au, /* [IN] Size of the allocation unit */ void* work, /* [-] Working buffer */ UINT len /* [IN] Size of working buffer */);具体什么意思可参见官网,今天解决问题了,就分享一下使用实例,代码如下
void mkfs(){ FIL fil; /* File object */ FRESULT res; /* API result code */ u8 bw; /* Bytes written */ u8 work[_MAX_SS]; /* Work area (larger is better for process time) */ u8 readByte[15]; bw=f_mkfs("0",FM_FAT|FM_SFD,1024,work,sizeof work); printf("%d",bw); res=f_mount (&fs,"0",1); res=f_open(&fil, "hello.txt", FA_READ | FA_WRITE); res=f_read(&fil, readByte, 15, &bw); printf("%s",readByte); res=f_close(&fil);
res=f_mount(0, "0", 0);}
调用这个函数就会在驱动器0(实际用的是闪存w25q64)创建一个fat32文件系统。然后,就可以用面向对象的思维使用它了。注意最后一句是取消挂载。
我用的单片机是stm32f103zet6。
0 0
- FAT32 R0.12b f_mkfs应用实例
- fatfs 学习笔记--f_mkfs用法(最新版本R0.13)
- tf.split (API r0.12 / r0.9)
- tf.concat (API r0.12 / r0.9)
- B树算法应用实例
- FAT32文件系统格式实例浅析
- andeq r0, r0, r0
- LDR ,R0 =PINSEL0 LDR指令 B指令
- FAT32
- FAT32
- fat32
- Tensorflow r0.12 Windows版安装
- led.S:12: Error: invalid constant -- `mov r0,#300000'
- Ubuntu14.04 源代码安装 TensorFlow r0.12 详细教程
- R0多线程
- ORR R0,R0,#R1_nF:OR:R1_iA
- ORR R0,R0,#R1_nF:OR:R1_iA
- orr r0,r0,#R1_nF:OR:R1_iA
- ReactiveCocoa
- 去除字符串中重复出现的字符
- 【LeetCode-414】Third Maximum Number(C++)
- 2016-java基础篇-jdbc
- Filter基本案例(二)
- FAT32 R0.12b f_mkfs应用实例
- bzoj2599: [IOI2011]Race
- 学习python的第四十一天-第四章 python数据结构
- 小白学习无人机(三)
- 堆和栈的区别
- codeforces-747
- Hibernate4初识
- 树莓派DNS设置
- 倒计时