表46.1.5 disk_write函数介绍 第五个函数是disk_ioctl函数,该函数介绍如表46.1.6所示: 表46.1.6 disk_ioctl函数介绍 以上五个函数,我们将在软件设计部分一一实现。通过以上3个步骤,我们就完成了对FATFS的移植,就可以在我们的代码里面使用FATFS了。 FATFS提供了很多API函数,这些函数FATFS的自带介绍文件里面都有详细...
FATFS 模块在移植的时候,我们一般只需要修改 2 个文件,即 ffconf.h 和 diskio.c。 FATFS模块的所有配置项都是存放在 ffconf.h 里面,我们可以通过配置里面的一些选项,来满足自己的需求。 最顶层是应用层,使用者无需理会 FATFS 的内部结构和复杂的 FAT 协议,只需要调用FATFS 模块提供给用户的一系列应用接口函数,...
disk_ioctl 函数的作用是执行与存储介质相关的控制操作,以及获取、设置存储介质的参数。为了实现文件系统对 SD 卡进行格式化的操作,函数中通过指针的方式,依次传入扇区个数、扇区大小以及每次最少擦写的扇区数共三个基本参数。 1. DRESULT disk_ioctl ( 2. BYTE pdrv, /* Physical drive nmuber (0..) */ 3...
diskio.c:FATFS模块需要实现的底层驱动 ff.c:FATFS开放函数 ffconf.h ffconf.h配置 diskio.c 需要实现函数如下: disk_initialize:初始化磁盘驱动器 disk_status:获取磁盘状态 disk_read:从磁盘驱动器读扇区 disk_write:从磁盘驱动器写扇区 disk_ioctl:控制设备实现指定功能,用于辅助FATFS中其他API get_fattime:获取...
DRESULT disk_ioctl (BYTE drv,BYTE ctrl, void *buff){ DRESULT res = RES_OK;uint32_t result...
FATFS 模块在移植的时候,我们一般只需要修改 2 个文件,即 ffconf.h 和 diskio.c。 FATFS模块的所有配置项都是存放在 ffconf.h 里面,我们可以通过配置里面的一些选项,来满足自己的需求。 最顶层是应用层,使用者无需理会 FATFS 的内部结构和复杂的 FAT 协议,只需要调用FATFS 模块提供给用户的一系列应用接口函数,...
DRESULT disk_ioctl ( BYTE Drive, /* 驱动器号 */ BYTE Command, /* 控制命令代码 */ void* Buffer /* 数据传输缓冲区 */ ); 参数 Drive 指定驱动器号 (1-9) 。 Command 指定命令代码。 Buffer 取决于命令代码的参数缓冲区的指针。当不使用时,指定一个 NULL 指针。
FATFS 模块在移植的时候,我们一般只需要修改 2 个文件,即 ffconf.h 和 diskio.c。 FATFS模块的所有配置项都是存放在 ffconf.h 里面,我们可以通过配置里面的一些选项,来满足自己的需求。 最顶层是应用层,使用者无需理会 FATFS 的内部结构和复杂的 FAT 协议,只需要调用FATFS 模块提供给用户的一系列应用接口函数,...
读扇区函数disk_read。用于实现对磁盘数据的读取,根据具体的磁盘IO编写,在ff.c文件中会被调用。其函数原型如下: DRESULT disk_read(BYTE drv,BYTE*buff,DWORD sector,BYTE.count); 根据其原型定义以及我们USB大容量存储设备的要求,我们可以实现磁盘数据读取函数如下: ...
DSTATUS disk_status ( BYTE pdrv /* Physical drive nmuber to identify the drive */ ) { if(pdrv == SPI_FLASH) { return RES_OK; } else { printf("!!!disk_status ERR\r\n"); return RES_PARERR; } } 1. 2. 3. 4. 5.