驱动SD卡,在初始化函数SD_PowerON时,死在SD_CMD_RSP_TIMEOUT。

qq_24046809 2020-10-27 05:08:59
我是F103驱动TF卡。使用的是HAL库。通过cube生成工程后,进行调试发现,初始化不成功。
单步调试发现,在SD_PowerON函数中,先发送CMD0,再发送CMD8发送后,resp寄存器没有数据,导致判断R7响应为SD_CMD_RSP_TIMEOUT,从而初始化失败。
通过示波器发现,CMD8命令发送之后,在CMD信号线上再没有信号出现。但是在D0线上却有高低电平出现。
换了3个TF卡了,都是这里出问题。
所以各位大神们,为啥发送CMD命令后,D0线会有数据出现,而CDM信号线上没有。
我这是硬件电路问题还是软件那里不对呢?
...全文
25423 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Golden_Chen 2020-11-09
  • 打赏
  • 举报
回复
D0是响应CMD的结果,这是正常的,找个SD CMD时序图看下,https://www.cnblogs.com/LittleTiger/p/3941055.html 建议你查下,供电电压和时钟是否合适
qq_24046809 2020-11-09
  • 打赏
  • 举报
回复
是TF的卡座引起的,卡座坏了,导致D0和D1两个引脚电平不是3.3,而是个中间值。

21,619

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧