电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
SD卡命令响应超时
已解决
73482
个问题
已帮助
5993
位优秀工程师
SD卡命令响应超时
xbk_261273
2021-06-06
浏览量:1747
自己做的PCB板,芯片用的STM32F407ZGT6,用SDIO连接SD卡后,烧入程序一直显示超时,SD卡的初始化无法成功,在向SD卡发送CMD8指令后,状态寄存器的值为0x00000004,按数据手册看是命令响应超时,
命令超时周期为固定值
64
个
SDIO_CK
时钟周期。芯片用的引脚是PC8.9.10.11.12以及PD2,请问这种情况怎么解决啊?
显示全部
其他
单片机
其他
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答
数量:
3
yhj416606438
最好把程序贴出来搞定位,你用示波器测量一下波形看看
发布于
2021-06-06
举报
评论 2
0
0
发布
xbk_261273
回复了 yhj416606438:static SD_Error CmdResp7Error(void) { SD_Error errorstatus = SD_OK; uint32_t status; uint32_t timeout = SDIO_CMD0TIMEOUT; status = SDIO->STA; while (!(status & (SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CMDREND | SDIO_FLAG_CTIMEOUT)) && (timeout > 0)) { timeout--; status = SDIO->STA; } if ((timeout == 0) || (status & SDIO_FLAG_CTIMEOUT)) { /@@*!< Card is not V2.0 complient or card does not support the set voltage range */ errorstatus = SD_CMD_RSP_TIMEOUT; SDIO_ClearFlag(SDIO_FLAG_CTIMEOUT); return(errorstatus); } if (status & SDIO_FLAG_CMDREND) { /@@*!< Card is SD V2.0 compliant */ errorstatus = SD_OK; SDIO_ClearFlag(SDIO_FLAG_CMDREND); return(errorstatus); } return(errorstatus); }
回复
xbk_261273
回复了 yhj416606438:示波器显示CLK和CMD都是有信号的,程序时使用的野火的SD卡例程, errorstatus = CmdResp7Error();初始化时这个检测出错,响应命令超时
回复
一笔之名也
先把速度降下来再试吧,有时速度太快,布线不好会这样的
外设引脚的配置再检查一下,看正确么
发布于
2021-06-09
举报
评论 1
0
0
发布
xbk_261273
回复了 一笔之名也:速度降下来也不行,布线上检查了,线路是通的,示波器也显示有信号的
回复
莱克迷KW
烧入程序,用什么烧入的?烧入与SD卡没有关系吧,而且你烧入超时,怎么确定的初始化失败的呢
发布于
2021-06-11
举报
评论 1
0
0
发布
xbk_261273
回复了 莱克迷KW:烧入程序是用仿真器往芯片里下载的野火的例程,然后调试SD卡,看可不可以用,发现SD卡初始化失败
回复
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
SD卡命令响应超时
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: