你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【猪圈丶嗨情歌的开发分享】SDIO读取SD卡扇区,使用HAL库  

[复制链接]
猪圈丶嗨情歌 发布时间:2015-12-14 08:44
【猪圈丶嗨情歌的开发分享】
% N! M& a- d, b* u# ?& n. B0 T今天给大家带来的是我这几天学习的SDIO,用STM32系列芯片的SDIO读取SD卡的扇区。本人原创。! ]* X7 P7 j6 E# U7 A
$ G1 g: V1 P7 V2 V" y7 v! {& z/ s
我使用的工具
( P6 y+ D( \1 b" f( _' S* i4 L开发平台:正点原子探索者STM32F407开发板) O! R2 J2 i1 y, P7 w) A
硬件:使用了NUCLEO-F446RE开发板的ST-Link作为调试器、SD卡、数据线、开发板的电源适配器、DELL一体机
& ?: E/ W% _( v2 y2 _$ B& `软件:STM32CubeMX、Keil V5、串口助手
6 }9 c; c4 ~2 o7 K, H. A' D4 R7 R# ~* b6 D& J' w% q4 @! R- f
学习的知识点7 U, v& O3 I/ F" O3 f% Q
1、使用STM32CubeMX配置SDIO1 `  _. U# O: d0 Y
2、在Keil中初始化SDIO
7 W* t; u% E1 K3、读取SD卡状态、卡信息
5 h3 y, q* E" }8 }1 \+ I4、sprintf函数的使用
; i  j4 v; h8 `

9 j* c5 n9 K/ @) d, U7 j- G共享的资源5 T1 f, F0 n- K$ _" P
完整的工程文件 SDIO.zip (9.16 MB, 下载次数: 2806)

评分

参与人数 1 ST金币 +10 收起 理由
wjandsq + 10 很给力!

查看全部评分

赞 收藏 7 评论21 发布时间:2015-12-14 08:44

举报

21个回答
小科豆 回答时间:2018-5-25 20:47:40
State = SD_TRANSFER_ERROR = 2   /*!< Transfer failed       */1 y% P$ F5 f, p+ R, E
我代码没修过直接下载到F407的板子,结果报错了。% E. U+ ?9 ]5 S; L  S7 l. h6 k
好像HAL_SD_WideBusOperation_Config(&hsd, SDIO_BUS_WIDE_4B);这个就失败
hpdell 回答时间:2015-12-15 10:20:23
zhangbolily 发表于 2015-12-14 15:416 u6 S8 _7 d; c6 @
SDIO 可以配置中断和DMA的,你可以去看看
  j7 I, m/ Y. ?6 V
我配置了,貌似没有什么效果,我配置后把sdio的中断、sd-dma的中断全部屏蔽掉,照样可以读写sd卡,不知道是哪个地方没有启动还是怎么回事 ??
猪圈丶嗨情歌 回答时间:2015-12-15 10:41:16
hpdell 发表于 2015-12-15 10:20+ N& f  l  M/ u$ |4 X- m2 [
我配置了,貌似没有什么效果,我配置后把sdio的中断、sd-dma的中断全部屏蔽掉,照样可以读写sd卡,不知道 ...
. ?* Q( k$ I0 f' X0 N$ {/ \- ~
不需要配置中断也可以读写SD卡的啊,没有谁说一定要配置中断才可以的
disheng4688 回答时间:2015-12-14 09:40:42
谢谢分享         
hpdell 回答时间:2015-12-14 10:03:53
貌似使用cube MX 产生的sd 代码,没有支持中断与dma 功能啊 ??
那就地方 回答时间:2015-12-14 10:06:57
谢谢楼主分享,支持
猪圈丶嗨情歌 回答时间:2015-12-14 15:41:12
hpdell 发表于 2015-12-14 10:037 q6 M% r2 ?7 u3 i% B
貌似使用cube MX 产生的sd 代码,没有支持中断与dma 功能啊 ??
  y& b- @5 B. O
SDIO 可以配置中断和DMA的,你可以去看看
yanhaijian 回答时间:2015-12-14 17:57:22
很嗨皮。
wwwhlw 回答时间:2015-12-14 19:19:02
谢谢分享。。。
埃斯提爱慕 回答时间:2015-12-14 19:35:03
提示: 作者被禁止或删除 内容自动屏蔽
adlu 回答时间:2015-12-23 17:30:16
图文并茂,步骤详尽,不错!学习!
hpdell 回答时间:2016-1-13 11:43:25
zhangbolily 发表于 2015-12-15 10:413 ~( m1 q7 p6 V- c# f7 C5 _/ g+ Q
不需要配置中断也可以读写SD卡的啊,没有谁说一定要配置中断才可以的
0 ?+ m2 ]; M5 N2 t2 F1 |; o: L! l& C
没有中断的话,那就是查询法了啊,感觉查询法比较占用资源了啊
adlu 回答时间:2016-3-26 13:26:26
hpdell 发表于 2016-1-13 11:43
+ k  Q% H7 K- Z6 \) T没有中断的话,那就是查询法了啊,感觉查询法比较占用资源了啊

5 T* L% ]4 y- \/ n我也很想知道怎么样才能配置SDIO使用DMA方式。
power568 回答时间:2016-3-26 15:43:40
谢谢分享...
蕉阳_ven 回答时间:2016-4-16 16:42:25
hpdell 发表于 2016-1-13 11:43
% X! ^# a4 v& w. I没有中断的话,那就是查询法了啊,感觉查询法比较占用资源了啊

4 b3 e! ?5 s4 w不开DMA中断好像只是DMA传输完后没有中断而已,DMA一样会运作。HAL_SD_ReadBlocks_DMA()里有开DMA请求
12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版