智能车制作

标题: SD卡的学习心得【原创,欢迎交流】 [打印本页]

作者: turf456    时间: 2011-2-21 12:44
标题: SD卡的学习心得【原创,欢迎交流】
本帖最后由 turf456 于 2012-1-23 16:40 编辑

我最初学习SD卡和相关只是不是为了做小车。纯属业余爱好。

学习SD卡要什么东西?
1是一张SD卡(和SDHC不同),2是和单片机相连的sd卡座(注意电压),3是WINHEX软件。

先说硬件电路:一般单片机是5V供电,而SD卡是3.3V。供电部分一般用1117-3.3之类的变压就行了。通信接口接限流电阻,是否需要上啦电阻看实际需要。剩下的按照SD卡的引脚说明接到spi接口上就行了。

需要的知识?
1,SD卡的时序和各种指令。2,FAT32文件系统,否则无法直接在电脑上读取图片,学起来比较费脑细胞。3,BMP文件的结构,比较容易。

当然大家希望找一些速成的视频教材,我没有 ,我学习SD卡和FAT32的时候就是参考时序图,相关资料和别人的范例。天天从早到晚忙了半个假期学会的。有捷径就走,别学我。

关于SD卡,如何成功初始化,如何写扇区,读扇区,网上的例子很多很详细。不过要说的是不同的SD卡的spi模式可能有点不兼容,所以有时候网上的范例是不一定好使的,一定要学会尝试自己完善它。

关于FAT32文件系统,是windows中很常用的文件系统。任何数据都要按照一定的要求写在存储器中,这样在windows中才能通过简单的双击正确读取出来。
FAT32(或者FAT)的文件结构网上也有很多资料。boot区,fat1表,fat2表,根目录,数据存储区什么的,各在哪个地址上,初始化后先读出这些地址,然后是读是写就参考SD的时序了。

比如读一个文件,可以先在根目录里找到文件名等信息,最关键的信息数据是文件从哪个簇开始和文件大小,然后进入fat表,像链表一样几个串一个。从fat表中找到相应的簇,把里面所有扇区的数据读出来,然后返回fat表看看下一组数据链接到哪个簇了,根据文件大小和簇号的标记读完整个文件。

比如写一个文件,先在fat表中找个空地方,写入一簇数据,然后接着找空地方,创建和上一簇的链接,再写入一簇数据。。。。最后在根目录里创建文件信息,比如文件名,文件时间,大小,簇号,属性等等。当然这种方法很弱智,无法覆盖已删除的文件,最好是识别已删除文件,然后覆盖掉,最大效率利用资源。其实windows的“删除文件”就是给文件加个标记而其,而文件数据并没有消失。
fat32研究明白了这些就都懂了。

最后就是bmp的文件结构了,不难,看看就会了。

当然最好的学习方法就是实践啦。就是用到上面提到的winhex软件,可以直接读取文件或者存储器的hex数据。先弄个SD卡,格式化(不要快速),然后创建或者保存几个不同的文件,在winhex中打开SD卡,看看哪类数据在什么地方,试着改改文件的数据。这样理解起来就更容易了。
对于bmp图片也如此。

最后提醒大家写整套程序要层次分明。例如:底层接口——》读写扇区——》读写fat32——》读写文件。


这是当时学习sd卡的时候做的作品:读SD卡的电子相册。
[attach]5029[/attach]
作者: _huyou    时间: 2011-2-26 16:55
谢谢分享
作者: anxingle    时间: 2011-2-26 18:28
好啊。
作者: wangzhe330    时间: 2011-2-28 22:13
顶 ! 哈哈
作者: turf456    时间: 2011-2-28 22:13
顶顶更健康
作者: wangzhe330    时间: 2011-2-28 22:14
再顶一下  学习SD卡的顶起来
作者: billchian    时间: 2011-3-3 22:33
楼主好强啊
作者: ailsacqx    时间: 2011-3-4 10:54
强!谢谢分享哈
作者: 玄铁重剑    时间: 2011-3-4 11:14
给力啊!谢谢!
作者: lingriyan    时间: 2011-3-12 13:55
ding, You are the best!
作者: 骗你是小狗    时间: 2011-3-17 19:59
楼主感觉你说的,和做的都很给力啊(包括头像,更让我记忆深刻啊!)
作者: LEUNG    时间: 2011-3-18 19:12
学习学习。。。
作者: 一叶锦    时间: 2011-3-19 20:16

作者: sssyyylllll    时间: 2011-3-31 12:09
最近深入学习这方面,加楼主QQ请教请教,hehe
作者: larry    时间: 2011-4-8 21:23
顶,谢谢,刚想学SD卡采集数据的路过
作者: dengjinyong    时间: 2011-4-10 16:30
谢咯
作者: allown    时间: 2011-4-21 15:32
顶顶
作者: 4819142    时间: 2011-4-23 14:32
谢谢楼主 学习 了
作者: 鬼打墙    时间: 2011-4-23 14:35
给力~~~~
作者: laoniuxxj    时间: 2011-4-23 20:11
犀利
作者: 1091424    时间: 2011-5-16 08:55
谢谢
作者: th152210    时间: 2011-5-16 11:14
收藏收藏
作者: 王其奇    时间: 2011-9-23 23:34
楼主很大方也很好,相比在下就有点那个了,不过还是顶起!!!!
作者: 达文西    时间: 2011-9-25 15:26
好强啊
作者: songqiang    时间: 2011-10-1 10:23
果断给力
作者: 可爱三猪    时间: 2011-10-2 21:23
好东西啊
作者: xujinpeng110    时间: 2011-10-2 22:34
最近调车正好做了这个  直接用了一个CH376的模块 它自带FAT文件系统 使用简单些  就是储存花费的时间太长了
作者: wangzm    时间: 2011-10-3 21:08
果断顶凤姐啊
作者: 赛车新手    时间: 2011-10-6 18:49
回复 1# turf456


    哦  貌似这张图我在ourdev上看到过
作者: turf456    时间: 2011-10-6 19:37
回复  turf456


    哦  貌似这张图我在ourdev上看到过
赛车新手 发表于 2011-10-6 18:49



    那个也是我发的。
作者: 阳光里的孩子    时间: 2011-10-10 14:44
顶,经常顶!
作者: fskezncsxzh    时间: 2011-10-10 15:49
觉得你好厉害哦
作者: 萃取    时间: 2011-10-12 18:50
不错
作者: 马合店村    时间: 2012-2-7 14:14

作者: xiaolianglc    时间: 2012-2-23 19:02
强人
作者: christian    时间: 2012-2-24 21:34
顶!楼主好强啊!
作者: jyh728    时间: 2012-3-20 23:22
“不过要说的是不同的SD卡的spi模式可能有点不兼容,所以有时候网上的范例是不一定好使的,一定要学会尝试自己完善它。“

怎么理解  改改振南的SD卡程序可以用吗  用的是手机的的TFT加卡槽、、、
有没有SD卡,XS128的程序啊   我用了龙丘的程序  居然跑不起来  这时应该注意点什么哈 ???


作者: longmaner    时间: 2012-4-5 11:17

作者: 嫒泺僦嫒泺    时间: 2012-4-5 13:12
  不错哦!
  受益匪浅
作者: zhudong3068    时间: 2012-4-14 20:15
我也在弄sd的文件系统,搞的稀烂的,啥也不懂。。。顶下。。。
作者: yyyyyy1224    时间: 2012-4-16 19:58
老师让我2天写出来   能不能帮帮忙啊
作者: DOUBLE-L-    时间: 2012-5-7 15:54
凤姐,好强!现在想用sd卡,可是现在什么都不懂……
作者: xue2207    时间: 2012-5-9 22:03
谢楼主
作者: 644822830    时间: 2012-5-19 01:28

作者: 小时    时间: 2012-5-28 21:47
谢谢热心的分享!
作者: dongyunlong    时间: 2012-8-6 08:17


作者: Move123456    时间: 2012-9-26 22:16
凤姐,给力啊。学习的榜样啊
作者: sdlibin007@qq.c    时间: 2012-9-27 20:24
一头雾水啊~~~~~~~~~~~~~~
作者: 电气4王海兵    时间: 2012-10-17 08:54

作者: 0726silence    时间: 2012-10-27 17:24
凤姐。我sd卡搞得好无奈啊,出不来
作者: yangbw4978    时间: 2012-10-29 13:14
强大啊。。
作者: 周杰伦    时间: 2012-11-1 09:10
turf456 发表于 2011-2-28 22:13
顶顶更健康

凤姐来我们学校为什么不来实验室看看 呢

作者: turf456    时间: 2012-11-1 09:40
周杰伦 发表于 2012-11-1 09:10
凤姐来我们学校为什么不来实验室看看 呢

有时间一定去。
作者: 心静0189    时间: 2012-11-11 21:23
sd卡和51的差不多,可以看看镇南的视频。
作者: 早安,徐威    时间: 2012-12-15 19:19
SD卡学半学期 那小车怎么办。。汗颜了
作者: 早安,徐威    时间: 2012-12-15 19:19
不过楼主还是很强大 我稀饭
作者: 彩色的黑    时间: 2012-12-17 17:26
SD卡如果应用在智能小车上主要是发挥它什么功能
作者: 简单点…    时间: 2013-1-5 23:46
楼主真强啊
作者: xuanxuan170    时间: 2013-1-7 21:39
顶一个  不错哦
作者: 一叶扁舟111    时间: 2013-1-26 09:38

作者: 846375642    时间: 2013-3-3 14:04
受益
作者: 雨^-^依★~    时间: 2013-3-16 10:52
写得好啊
作者: 小米粽子    时间: 2013-3-24 21:30

作者: ブ凌夜秋枫ぐ    时间: 2013-4-18 15:56
好牛
作者: 猎鹰2013    时间: 2013-5-24 22:10
新手开始接触SD  顶
作者: clan    时间: 2013-5-28 00:22
凤姐好厉害
作者: chuyuanqiang    时间: 2015-10-24 23:30
楼主,我做了个k60的板子带sd卡模块,3.3v上拉10k电阻,并且画成了等长,但是就是不能读不能写,引脚没断路没短路,而且供电时候就不能下载调试,能给些建议吗?!谢谢啦!!!




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2