全部学习汇总: https:///GreyZhang/SdFatFs

         前面已经测试了Card Command的功能正常,接下来使用相应的功能尝试判断SD卡的类型。主要的测试流程在文档中有一个描述:

398_Arduino上实现SD卡类型判断_经验分享

         这里需要注意的是,有些命令比如ACMD41属于Application CMD。发送的方式跟CMD有一定相似,但是多一部分信息。尝试做CMD的发送的时候,我顺便把这个命令实现了,这次正好测试一下。

         ACMD的发送实现:

398_Arduino上实现SD卡类型判断_经验分享_02

         而SD的类型判断如下:

398_Arduino上实现SD卡类型判断_经验分享_03

         首先判断是version1还是version2,如果是1,那么结果唯一。如果是2,那么还有高容量的可能。

398_Arduino上实现SD卡类型判断_经验分享_04

         如果是version2,可以查看是否是高容量卡。这个判断需要注意的是有一部分信息在此被丢弃了。

         测试结果:

398_Arduino上实现SD卡类型判断_经验分享_05

         成功判断出来了是高容量卡。这样,这个测试到此结束。这部分功能其实可以固化到这个初始化的过程中,因为初始化之后,相应的信息全都可以变量化、状态化,或者修改成访问静态量的函数。这样,可以避免后期需要时候的大量信息交互。