sd-card - SPI SD 卡 32GB 从不通过 CMD55、ACMD41 初始化步骤
问题描述
我正在使用 Elm-chan FatFs 模块。我正确移植了它,因为它在使用 16GB SD 卡时可以正常工作。但是当使用 32GB 卡时,代码卡在 CMD55、ACMD41 设置循环中。
贝娄是我正在经历的命令和响应的打印
cmd0, resp = 0x01
cmd8, resp = 0x01
cmd55, resp = 0x01
cmd41, resp = 0x01
cmd55, resp = 0x7F
cmd55, resp = 0x7F
cmd55, resp = 0x7F
cmd55, resp = 0x7F
cmd55, resp = 0x7F
cmd55, resp = 0x7F
cmd55, resp = 0x7F
cmd55, resp = 0x7F
cmd55, resp = 0xFF
cmd55, resp = 0xFF
然后从那里, cmd55 总是无限期地得到 0xFF 的响应。我查看了其他问题、spi SDC 指南和其他 ff.c 实现,我大部分时间都在关注它,因为代码确实适用于 16GB 卡,就在我切换到 32GB 卡并重新启动时代码,32GB卡没有初始化。
对品牌有影响吗?32GB 卡是 samsung evo select micro sdhc。16GB 是 Lexar micro sdhc
解决方案
您的问题不清楚哪些字节被发送和哪些被接收。您还可以在问题标题中列出不在问题正文中的不同字节。也许如果您对其进行编辑,那么有人将能够为您提供更好的答案。
对 CMD55 的响应为 0x80 表示卡尚未准备好执行下一个命令。发送 CMD55 后,您必须在循环中重复读取字节,直到最高有效位被清除。只有在那之后,您才能发送 ACMD。
推荐阅读
- python - 如何使用 Dash、pandas、mysql 和 python 填充下拉列表
- java - 如何在添加另一个数字之前检查列表中的重复项?
- javascript - 如何在 Lodash 的 isEqualWith 中将缺失和未定义的属性视为等效
- reactjs - GraphQL 返回数据但在代码中未定义
- amazon-web-services - 如何从 jenkins 在 AWS EC2 上安排 jenkins 作业
- idris - 对同一表达式中的不同 Nat 变量调用 (-) 两次需要显式证明注释
- django - 自定义重定向到 /admin/app/model/?q='search_criteria'
- javascript - React如何从父组件获取函数
- reactjs - 如何正确构建使用 React 的全栈项目?
- javascript - 如何使用javascript检查HTMLCollection是否包含具有给定类名的元素?