首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

最新版 FatFS 磁盘I/O接口 详解

最新版 FatFS 磁盘I/O接口 详解

由于FatFs模块完全与磁盘I/O层分开,因此底层磁盘I/O需要下列函数去读/写物理磁盘以及获取当前时间。由于底层磁盘I/O模块并不是FatFs的一部分,因此它必须由用户提供。
        disk_initialize
        初始化磁盘驱动器
        DSTATUS disk_initialize (
         BYTE Drive           /* 物理驱动器号 */
        );
        参数
        Drive

        指定待初始化的物理驱动器号。
        返回值
        disk_initialize函数返回一个磁盘状态作为结果。磁盘状态的详情,参考disk_status函数。

        描述
        disk_initialize函数初始化一个物理驱动器。函数成功后,返回值中的STA_NOINIT标志被清除。
        disk_initialize函数被FatFs模块在卷挂载过程中调用,去管理存储介质的改变。当FatFs模块起作用时,或卷上的FAT结构可以被瓦解时,应用程序不能调用该函数。可以使用f_mount函数去重新初始化文件系统。
        disk_status
        获取当前磁盘的状态
        DSTATUS disk_status (
         BYTE Drive     /* 物理驱动器号*/
        );
        参数
        Drive

        指定待确认的物理驱动器号。
        返回值
        磁盘状态,是下列标志的组合: STA_NOINIT

        指示磁盘驱动器还没有被初始化。当系统复位、磁盘移除和disk_initialize函数失败时,该标志被设置;当disk_initialize函数成功时,该标志被清除。STA_NODISK
        指示驱动器中没有存储介质。当安装了磁盘驱动器后,该标志始终被清除。
        STA_PROTECTED

        指示存储介质被写保护。在不支持写保护缺口的驱动器上,该标志始终被清除。当STA_NODISK被设置时,该标志无效。
        disk_read
        从磁盘驱动器中读取扇区
        DRESULT disk_read (
         BYTE Drive,          /* 物理驱动器号 */
         BYTE* Buffer,        /* 读取数据缓冲区的指针 */
         DWORD SectorNumber,  /* 起始扇区号 */
         BYTE SectorCount     /* 要读取的扇区数 */
        );
        参数
        Drive

        指定物理驱动器号。
        Buffer

        存储读取数据的缓冲区的指针。该缓冲区大小需要满足要读取的字节数(扇区大小 * 扇区总数。由上层指定的存储器地址可能会也可能不会以字边界对齐。SectorNumber
        指定在逻辑块地址(LBA)中的起始扇区号。
        SectorCount

        指定要读取的扇区数(1-255)。
        返回值
        RES_OK (0)

        函数成功
        RES_ERROR

        在读操作过程中发生了不能恢复的硬错误。
        RES_PARERR

        无效的参数。
        RES_NOTRDY

        磁盘驱动器还没被初始化。
        disk_write
        向磁盘驱动器中写入扇区
        DRESULT disk_write (
         BYTE Drive,          /* 物理驱动器号 */
         const BYTE* Buffer,  /* 写入数据缓冲区的指针(可能未对齐) */
         DWORD SectorNumber,  /* 起始扇区号 */
         BYTE SectorCount     /* 要写入的扇区数 */
        );
继承事业,薪火相传
返回列表