接下来我要讲一下SD卡的初始化流程。
这样的资料网上有很多,当然我不是说我这里不准备介绍了。相反由于SD卡的通讯协议从最开始的V1.0到现在的V4.0,网上充斥着大量的相互矛盾的材料,为了让大家少走弯路。我为大家简单的讲解一下这个初始化的流程,等大家有一个基础的认识以后在去网上搜索一下相关的资料作为佐证。我这里仅仅是让你用最短的时间让你使用STC15系列的单片机读取SD卡。
在介绍流程之前,先给大家普及一下SD卡中的命令。SD卡中的命令长度为6个字节 也就是说要对SD卡连续发送6个字节。
以复位为例,需要在给SD卡发送75个时钟信号之后发送一个CMD0命令,这个命令用二进制表示为
0100 0000 0000 0000 0000 0000 0000 0000 0000 0000 1001 0101
这样写或许看着比较麻烦换成16进制为0x40,0x00,0x00,0x00,0x00,0x95,
从二进制中可以看出最高的两位为0 1,这个是所有命令中约定的起始方式,低位的字节为校验位,中间的为参数或者是地址位。
为了大家更快的调试出自己的程序,我在下面的楼层中将大家所要使用的所有基础命令都贴出来。大家直接调用就好,而不是反复的查阅说明文件找到所需要的指令。