sd_fat16移植方法小结

来源:互联网 发布:比特彗星端口开放 编辑:程序博客网 时间:2024/05/01 05:36

移植fat16的步骤
1。存储器的接口初始化
·编写spi的sd卡接口代码
     ·读一个字节的spi口
     ·写一个字节的spi口
    ·向sd卡发送一条命令
    ·向sd卡发送一个数据包
    ·从sd卡接受一个数据包
·编写diskio.h文件
    ·编写对SD卡的初始化程序
    ·状态检测函数。默认支持
·编写读扇区的函数
   ③DRESULT disk_read(BYTE drv,BYTE*buff,DWORD sector,BYTE.count);

读扇区函数。在SD卡读接口函数的基础上编写,*buff存储已经读取的数据,sector是开始读的起始扇区,count是需要读的扇区数。1个扇区512个字节。执行无误返回O,错误返回非0。
·写扇区的函数
④DRESULT disk_write(BYTE drv,const BYTE*buff,DWORD sector,BYTE count);

  写扇区函数。在SD卡写接口函数的基础上编写,*buff存储要写入的数据,sector是开始写的起始扇区count是需要写的扇区数。1个扇区512个字节。执行无误返回O,错误返回非0。
·⑤DRESULT disk_ioctl(BYTE drv,BYTE ctrl,VoiI*buff);

  存储媒介控制函数。ctrl是控制代码,*buff存储或接收控制数据。可以在此函数里编写自己需要的功能代码,比如获得存储媒介的大小、检测存储媒介的上电与否存储媒介的扇区数等。如果是简单的应用,也可以不用编写,返回O即可。
·⑥DWORD get_fattime(Void);

  实时时钟函数。返回一个32位无符号整数,时钟信息包含在这32位中,如下所示:

  bit31:25 年(O..127)从1980年到现在的年数

  bit24:21 月(1…12)

  bit20:16 日(1..31)

  bitl5.1] 时(O..23)

  bitl0:5 分(O..59)

  bit4:0 秒/2(0..29)

  如果用不到实时时钟,也可以简单地返回一个数。正确编写完DiskIO,移植工作也就基本完成了,接下来的工作就是对Tiny—FatFs进行配置。

 


2。fatfs的配置
·基本不要改动

 

原创粉丝点击