1.看了前面的博文,有些直接往文章里贴代码,感觉并不是特别好的方式。
2.本篇博文,想要实现的功能是:
**通过串口助手将数据发送给SD卡
**再根据SD卡中记录的内容点亮LED
3.问题分解(硬件部分)
**********串口**********
1)数据位:8位
2)停止位:1位
3)无校验位
4)波特率:115200 bit/s
5)下图为试用的开发板的串口通信原理图,有兴趣的同学可以看看CP2102-GM这个芯片的手册
6)看着并没有用到几个引脚,串口的收发信号,通信指示灯,usb的电源、差分信号
7)串口通信时,工程里面往往包含顶层模块、接收模块、发送模块;顶层模块完成对接收和发送的例化
8)解释一下什么是例化,见:https://blog.csdn.net/sy243772901/article/details/84892644
*********SD卡记录*******
1)SD卡主要分为四部分组成:外部引脚、内部寄存器、接口控制器和内部存储介质。
看一下SD卡的引脚和内部结构框图:
2)SD卡在正常读/写之前,必须先进行初始化(通过向SD卡写入命令初始化)
3)SD卡在正常读/写时,也需要首先发送读/写命令
4)SD卡的命令格式由48个bit组成,也就是6个字节
5)对上图的说明:48个bit中,
第1个字节:47-46为01、紧跟Command Number命令号;
第2、3、4、5个字节:命令参数
第6个字节:CRC+停止位1
6)注意在SPI模式下,只有两个命令需要用CRC,CMD0、CMD8,原因可以自己查一查;
你可能会发现和SD卡上电的时候默认的模式有关系(SD模式)
7)SD卡的命令分为标准命令和应用相关命令
注意:在发送应用相关命令之前,必须先发送CMD55命令,让SD卡知道将要接收到的命令为应用相关命令
8)下面看一下初始化流程:
看到下图的0x41命令了吗???
它是应用相关命令,所以在它之前有CMD55命令
9)SD卡收到命令之后会进行响应,响应的格式有R1,R2,R3;具体格式请自查。算了,我还是把我看到的让大家看看吧
10)这一部分先写到这里,对于读/写操作,在下一篇博文进行分享~~敬请期待
期不期待
期待不
不期待 想申请试用的朋友可以扫码在线报名