我有一个32 GB的金士顿SDHC microSD卡,它必须通过SPI与MSP430F2618通信.我无法使用CMD55 + ACMD41(bit30设置为1)对其进行初始化,如SD规范文件中所述.这个顺序是有效的:
CMD0, arg: 0 , CRC: 0x95 (response:0x01)
CMD8, arg: 0x1AA , CRC: 0x87 (response:0x01)
CMD1, arg: 0x40000000, CRC: 0xFF (response:0x00)
Run Code Online (Sandbox Code Playgroud)
我也尝试使用8 GB SanDisk卡,也适用于此.所以实际上,我在这里使用CMD1,而不是ACMD41,HCS位设置为1.但是,它不稳定,有时它可以工作,有时却不行.这可能与硬件有关.
卡片用参数响应CMD1并不奇怪0x40000000吗?
spi ×1