·上一文章:FM1208非接触CPU卡读写系统的研制
·下一文章:PA1688双核处理嚣的 电视播放故障监控系统设计
3.3 SD卡的通用写命令
由于SD卡的命令具有统一的格式,因此可以用一个通用的写命令函数来实现所有命令的发送。另外,考虑到多数命令的响应类型都是R1,这里的通用写命令函数所接收的响应类型默认为R1。函数代码如下:
3.4 SD卡的初始化
SD卡的初始化要遵循一定的步骤。首先将SPI时钟降低到400 kHz,等待至少74个时钟周期。接着拉低片选信号,并发送CMD0命令,对SD卡进行复位并使其进入SPI模式,这里需要正确的CRC校验,校验字节为0x95。若SD卡进入空闲状态(即接收响应为0x01时),则发送CMD1命令,激活卡的初始化过程,此时响应为0x00。然后设置块的长度,一般为512字节。最后将片选拉高并将SPI时钟设为最大值,以保证最大的读写速度。SD卡初始化过程如图3所示。
SD卡初始化代码如下: