OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 14425|回复: 13

SDIO的GPIO

[复制链接]

76

主题

355

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2012-9-19
在线时间
5 小时
发表于 2014-6-12 16:11:32 | 显示全部楼层 |阅读模式
5金钱
我知道SDIO是stm32芯片里面的一个固件外设,就和DMA或者SPI这样的固件,我的问题是SDIo初始化了GPIO 比如4bit 的这种传输方式。我把GPIO的PC1 2 3 4都初始化成推完输出。然后呢?GPIO怎么传数据啊。我就没看到STM32的单片机还有固定口是SDIO口了。。。这怎么联系起来呢?我就不知道我初始化了这4个脚后。。。ST的SDIO怎么用我初始化的GPIO;;;;SPI吧。我肯定直接初始化的GPIO是SPI对应脚。但这个SDIO怎么回事儿

最佳答案

查看完整内容[请看2#楼]

不是一样嘛... SDIO是哪几个IO,你初始化这几个IO为复用功能输出,就可以了. 然后再配置你的SDIO寄存器(此时的配置和IO配置无关了)就是了.
具有资深STM32点灯技术,
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-12 16:11:33 | 显示全部楼层
不是一样嘛...
SDIO是哪几个IO,你初始化这几个IO为复用功能输出,就可以了.
然后再配置你的SDIO寄存器(此时的配置和IO配置无关了)就是了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

76

主题

355

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2012-9-19
在线时间
5 小时
 楼主| 发表于 2014-6-13 08:45:21 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
可是STM32的引脚定义里 就没定义SDIO叫是那几个啊。。。。根本没写啊只是说大封装的STM32有1个SDio
具有资深STM32点灯技术,
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-13 23:17:13 | 显示全部楼层
 回复【3楼】 敌害 :
---------------------------------
说明你没有认真看数据手册.
或者看看我们原理图,你也应该知道了

有SDIO_XX标志的,就表示是SDIO的复用输出引脚.
别告诉我在我们原理图上,没看到??


我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2014-6-22
在线时间
4 小时
发表于 2014-7-28 09:25:56 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,我想问你一个有关STM32的SDIO接多张卡的电路问题,就是在不增加其他硬件(如锁存器等)的情况下,如何驱动多张卡?我看STM32的SDIO对卡的识别过程中是有这么一段:
“对于SD卡而言,卡识别过程以时钟频率Fod开始,所有SDIO_CMD输出为推挽驱动而不是开路
驱动,识别过程如下:
1.  总线被激活
2. SDIO卡主机广播发送SEND_APP_OP_COND(ACMD41)命令
3.  得到的响应是所有卡的操作条件寄存器的内容
4.  不兼容的卡会被置于非激活状态
5. SDIO卡主机广播发送ALL_SEND_CID(CMD2)至所有激活的卡
6.  所有激活的卡发送回他们唯一卡识别号(CID)并进入识别状态。
7. SDIO卡主机发送SET_RELATIVE_ADDR(CMD3)命令和一个地址到一个激活的卡,这个
新的地址被称为相对卡地址(RCA),它比CID短,用于对卡寻址。至此,这个卡转入待机
状态。SDIO卡主机可以再次发送该命令更改RCA,卡的RCA将是最后一次的赋值。
8. SDIO卡主机对所有激活的卡重复上述步骤5至7。”
这段话意思是可以通过寻址来驱动多张SD卡的,但对于基电路上怎么接则很少相关的资料,特向你请教一下
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-29 00:44:54 | 显示全部楼层
回复【5楼】lyh320218:
---------------------------------
这我不太清楚了,我一般都是用一张卡的情况。
难道你要同时插很多张卡???
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2014-6-22
在线时间
4 小时
发表于 2014-7-29 09:57:42 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
嗯,也可以说是如何用一个SDIO接口(不增加其他硬件)驱动2个或2个以上从设备(可能是WIFI、SD卡等)
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-29 10:52:54 | 显示全部楼层
回复【7楼】lyh320218:
---------------------------------
额,这个没试过,得你自己研究下了
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2014-6-22
在线时间
4 小时
发表于 2014-7-29 11:28:38 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
好的,还是要谢谢原子哥
回复

使用道具 举报

16

主题

52

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
309
金钱
309
注册时间
2013-6-22
在线时间
7 小时
发表于 2014-8-1 15:54:38 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子哥,战舰开发板上的原理图上的stm32f103ZE确实有sdio,我用的是stm32f103VCT6 找了一下数据手册没有呢,也是PC8,PC9,PC10那几个管教吗,可是手册上显示是空的,方便告诉我一下是那几个管教吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-2 00:00:26 | 显示全部楼层
VCT6应该有SDIO才对,你看看数据手册吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

9

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
164
金钱
164
注册时间
2015-8-27
在线时间
22 小时
发表于 2015-11-30 09:53:45 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
if(SDIO_GetFlagStatus(SDIO_FLAG_RXFIFOHF) != RESET) //接收区半满,表示至少存了8个字
{
for(count=0;count<8;count++) //循环读取数据
{
*(tempbuff+count)=SDIO->FIFO;
}
tempbuff+=8;  
timeout=0X7FFFFF;  //读数据溢出时间
}
请问原子:在您的战舰开发板SDIO驱动SD卡的例程sdio.sdcard.c文件中的SD_ReadBlock()函数中的这段代码是什么回事?我在STM32的手册和SD卡2.0协议中没有找到关于FIFO半满的相关资料啊?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-11-30 23:01:56 | 显示全部楼层
回复【12楼】wangyueming:
---------------------------------
FIFO这些,是ST加入的东西,不属于SD卡标准协议...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

28

主题

218

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
498
金钱
498
注册时间
2013-11-19
在线时间
92 小时
发表于 2017-6-15 13:29:29 | 显示全部楼层
lyh320218 发表于 2014-7-28 09:25
回复【2楼】正点原子:
---------------------------------
原子哥,我想问你一个有关STM32的SDIO接多张卡的 ...

您做的SDIO现在做得怎么样了?
SDIO接口的WiFi等做过吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 03:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表