STM32F429Disco SDIO TF卡简单读取实验

  • 制造商
  • 探索者
  • 结构体
  • 而且
  • 全双工
  • donatello
  • LV6工程师
  • |      2017-03-20 17:45:37
  • 浏览量 1758
  • 回复:2
F429探索者开发板性能不俗,可是没有自带的SD卡/TF卡接口,因此需要外接SDIO模块,全双工SDIO总线一共占用7个引脚,分别是PC8-D0,PC9-D1,PC10-D2,PC11-D3,PC12-CLK(时钟),PD2-CMD(命令),STM32F4中有且只有一个SDIO接口,而且F103是没有的,因此F103读写SD卡只能使用SPI总线,读写速度大大降低。 F4的HAL库中自带SDIO库函数,说它好用吧,配置起来麻烦,说它难用吧,配置好之后的确比SPI好用。本人目前尝试过非DMA方式的SDIO初始化,SD卡信息读取,SDIO扇区读取,SDIO扇区写入,但是SDIO扇区写入函数我还没熟练掌握。 SDIO信息读取函数是读取SD卡信息结构体HAL_SD_CardInfoTypedef里面的信息,如CardType成员变量(卡的类型),SD_cid.ManufacturerID成员变量(制造商ID),CardCapacity成员变量(SD卡容量),CardBlockSize成员变量(块大小)。 SDIO扇区读取函数,若正常读取,返回0,否则返回别的数值。我读取各个扇区的的时候发现一个现象,如果一个扇区从来没有用SDIO扇区写入函数写入过的话,则读取的时候返回0,如果用扇区写入函数修改过的话,则一定不返回0,对此我非常疑惑,还请知道原因的坛友在回帖里面交流一下。 老规矩,放上工程文件和头文件。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:2
xukejing 2017-03-27
SDIO扇区读取函数,若正常读取,返回0,否则返回别的数值。我读取各个扇区的的时候发现一个现象,如果一个扇区从来没有用SDIO扇区写入函数写入过的话,则读取的时候返回0,如果用扇区写入函数修改过的话,则一定不返回0。。。 上面这句话的意思:读一个写过的扇区,不管是正常读取还是不正常读取,都返回非0?????
0   回复
举报
发布
he07413 2017-03-21
此板不错哦,我也买了个类似的,还没到呢
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子