对disk_initialize、disk_read、disk_write几个函数也这样更改。 再次编译,发现提示一个关于get_fattime的错误,get_fattime用来获取当前时间,如果不需要,在ffconf.h中的宏定义#define _FS_NORTC改为1关闭,如果需要这个功能,需要在diskio.c里面,实现get_fattime函数,加入如下代码即可。 然后进行编译,这时错误就没有了...
1). disk_initialize函数 要使用一个外设首先要对它进行初始化,所以先看sd卡的初始化函数,其声明如下: DSTATUS disk_initialize ( BYTE pdrv) 函数描述:初始化指定编号的磁盘,磁盘所指定的存储区。使用每个磁盘前进行初始化,那在代码中直接根据编号调用硬件的初始化接口即可,这样也能保证代码的扩展性,硬件的顺序...
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:获取...
disk_initialize 函数返回一个磁盘状态作为结果。磁盘状态的详情,参考 disk_status 函数。 说明 disk_initialize 函数初始化一个物理驱动器。函数成功后,返回值中的 STA_NOINIT 标志被清除。 disk_initialize 函数被 FatFs 模块在卷挂载过程中调用,去管理存储介质的改变。 当FatFs 模块起作用时,或卷上的 FAT 结构可...
DSTATUS disk_initialize ( BYTE pdrv /* 物理驱动识别 */ ) { DSTATUS stat; int result; switch (pdrv) { case SD : //选择SD卡 stat=SD_Init(); //初始化SD卡-用户自己提供 } if(stat)return STA_NOINIT; //磁盘未初始化 return 0; //初始化成功 } 修改disk_read函数...
底层设备驱动函数是存放在diskio.c文件,我们的目的就是把diskio.c中的函数接口与SPI Flash芯片驱动连接起来。总共有五个函数,分别为设备状态获取(disk_status)、设备初始化(disk_initialize)、扇区读取(disk_read)、扇区写入(disk_write)、其他控制(disk_ioctl)。 接下来,我们对每个函数结合SPI Flash芯片驱动做详细...
FATFS初始化函数: DSTATUS disk_initialize ( BYTE drv /* Physical drive nmuber (0..) */ ) { switch (drv) { case 0 : return RES_OK; case 1 : return RES_OK; case 2 : return RES_OK; case 3 : return RES_OK; default: return STA_NOINIT; ...
底层设备驱动函数是存放在diskio.c文件,我们的目的就是把diskio.c中的函数接口与SPI Flash芯片驱动连接起来。总共有五个函数,分别为设备状态获取(disk_status)、设备初始化(disk_initialize)、扇区读取(disk_read)、扇区写入(disk_write)、其他控制(disk_ioctl)。
DSTATUS disk_status ( BYTE pdrv /* 物理驱动识别 */ { return 0; //该函数现在无需用到,直接返回0 } 修改disk_initialize函数,添加SD卡的初始化,其他不用到的代码直接删掉,该函数成功返回0,失败返回1。 修改截图: 代码示例: /*---*/ /* 初始化磁盘驱动 */ /*---*/ DSTATUS disk...
首先是disk_initialize函数,该函数介绍如表46.1.2所示: 函数名称 disk_initialize 函数原型 DSTATUS disk_initialize(BYTE Drive) 功能描述 初始化磁盘驱动器 函数参数 Drive:指定要初始化的逻辑驱动器号,即盘符,应当取值0~9 ...