我是靠谱客的博主 昏睡背包,最近开发中收集的这篇文章主要介绍c语言 sd卡检测,单片机读取SD卡CSD寄存器获取容量详解(V1.0&V2.0),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目前,SD卡CSD寄存器有V1.0和V2.0两个版本。

下面是V1.0和V2.0的CSD寄存器各位的定义表格。

f0515fd9537d6c9977f3040c2cbdcb05.png

34129026315894ec259d461624b3d626.png

1.单片机如何识别SD卡是V1.0还是V2.0的?

答:CSD寄存器为128个位,即16个字节。通过检测CSD寄存器的bit126是0还是1来判断。如果是0,即是V1.0版本的;如果是1,即是V2.0版本的。

单片机获取CSD数据流程(SPI方式):定义一个数组csd[16],CS引脚拉低,发送命令9,然后SPI发送命令0xff,同时观察SPI接收到的数据,如果数据不是0xfe,就再发送0xff,如此循环,直到接收到0xfe,就可以开始接收16个字节CSD寄存器数据了,这16个字节即CSD的128个位,接收完16个字节数据以后,然后再发送两个0xff,把CS拉高,再发送一个0xff,就完成了。

csd[0]是CSD寄存器的bit120~127,csd[15]是CSD寄存器的bit0~7。也就是说数据是从高位开始发送。

列个表格方便写

最后

以上就是昏睡背包为你收集整理的c语言 sd卡检测,单片机读取SD卡CSD寄存器获取容量详解(V1.0&V2.0)的全部内容,希望文章能够帮你解决c语言 sd卡检测,单片机读取SD卡CSD寄存器获取容量详解(V1.0&V2.0)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部