电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区
论坛
开发板专区
STM32F429Disco SDIO TF卡简单读取实验
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,对此我非常疑惑
,还请知道原因的坛友在回帖里面交流一下。
老规矩,放上工程文件和头文件。
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
收藏
举报
分享
×
微信分享
扫描二维码分享
qq分享
QQ空间分享
微博分享
我来回复
登录后可评论,请
登录
或
注册
所有回答
数量:
2
xukejing
2017-03-27
SDIO扇区读取函数,若正常读取,返回0,否则返回别的数值。我读取各个扇区的的时候发现一个现象,如果一个扇区从来没有用SDIO扇区写入函数写入过的话,则读取的时候返回0,如果用扇区写入函数修改过的话,则一定不返回0。。。 上面这句话的意思:读一个写过的扇区,不管是正常读取还是不正常读取,都返回非0?????
0
回复
举报
发布
he07413
2017-03-21
此板不错哦,我也买了个类似的,还没到呢
0
回复
举报
发布
×
举报
举报人:
被举报人:donatello
*
类型:
请选择类型
问题质量差
垃圾广告信息
偏离社区主题
违规内容
不友善内容
与社区已有问题重复
以上选项都不是
*
详细原因:
取消
提交
x
收藏成功!点击
我的收藏
查看收藏的全部帖子