我看到了很多关于 MMC/SD 卡的信息,我试图创建一个库来阅读这个(修改Procyon AVRlib)。
但是我这里有一些问题。我没有更改原始代码并在这里尝试。我的问题是关于 SD 卡的初始化。我这里有两个,一个 256 MB,另一个 1 GB。
我按以下顺序发送初始化命令:CMD0、CMD55、ACMD41 和 CMD1。
但是 256 MB SD 卡只为每个命令返回一个 0x01 响应。我多次发送 CMD1,256 MB SD 卡总是只返回 0x01,从不返回 0x00。
1 GB SD 更疯狂... CMD0 返回 0x01。很好,但是 CMD55 命令以 0x05 响应。有时它会以 0xC1 响应,有时也会在下一次交互中以 0xF0 响应 0x5F...
网上有资料和例子,但有点混乱。在我的项目中,我必须使用 1 GB 卡,并且我正在尝试使用带有 SD 适配器的 microSD 卡(我认为这不是问题)。
我该如何解决这个问题?
PS:我的问题类似于 Stack Overflow question Initializing SD card in SPI issues 中的问题,但解决方案并没有解决我的问题。1 GB SD 卡永远只返回 0x01... :cry: