打印

GD的SDIO和ST的完全一样吗

[复制链接]
1924|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电子信使|  楼主 | 2015-11-27 14:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
sd, IO
GD的SDIO和ST的完全一样吗
沙发
飞翔的控制器| | 2015-11-27 14:53 | 只看该作者
SDIO我没有用过,我用过SPI的,几乎可以互换

使用特权

评论回复
板凳
上山砍老虎| | 2015-11-27 15:05 | 只看该作者
没有搞过,应该不完全一样吧

使用特权

评论回复
地板
给力芯片| | 2015-11-30 16:02 | 只看该作者
有所区别的

使用特权

评论回复
5
电子信使|  楼主 | 2015-11-30 16:03 | 只看该作者
SDIO DAT 3 pin 的在 1 bit bus mode 和4 bit bus mode下的配置
1、 SDIO 在  1 bit bus mode 下,DAT 3 pin 是低电平,这样会导致  SD Card 进入SPI 模式。原因:初始化失败的原因主要是因为GD32的芯片SDIO的DAT3口存在BUG。
2、 在4位模式下,通过上面的方法,程序能正常初始化,但不能正常读写SD卡。
原因:因为DAT3口在前面已经配置成推挽输出,所以在4位模式下,不能正常读下。在调用4位模式前,把DAT3的端口配置成复用推挽输入即可解决问题。

使用特权

评论回复
6
没有六一了| | 2015-11-30 16:04 | 只看该作者
1、 1 bit bus mode的解决方法:建议在SDIO使能之前,先把 SDIO DAT 3 pin 配置成推挽输出,并且要置成高电平,使 SDIO DAT 3 pin 保持高电平即可
2、 4 bit bus mode的解决方法:在调用4位模式前,把DAT3的端口配置成复用输出即可解决问题。

使用特权

评论回复
7
zb0830| | 2015-11-30 16:05 | 只看该作者
程序在刚烧完后能正常读写SD卡,断电再上电后,SD卡初始化失败,需要手动复位一次后才正常

使用特权

评论回复
8
给力芯片| | 2015-11-30 16:21 | 只看该作者
在某些SD卡中,GD32断电再上电,会引起SD卡上的时钟信号不正常,导致SD卡发送命令失败。

使用特权

评论回复
9
电子信使|  楼主 | 2015-11-30 16:21 | 只看该作者
在程序中,打开SD卡时钟后,增加一小段延时,以保证SD卡时钟信号稳定。
这个延时添加的地方:在sdcard.c(即SDIO的配置文件中),然后在SD_Error
SD_Init(void)这个函数中找到SDIO_DeInit();就在这个后面加个延时。
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA2, ENABLE);
SDIO_DeInit();
{
int i = 0xffff;
while(i --);
}

使用特权

评论回复
10
xufei66884300| | 2015-12-1 14:46 | 只看该作者
遇到了在108Mhz下,4线SDIO无**常读写的问题,求助,应如何进行初始化D3?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

388

帖子

0

粉丝