智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 19957|回复: 66
打印 上一主题 下一主题

SD卡的学习心得【原创,欢迎交流】

  [复制链接]

49

主题

3751

帖子

1

精华

顶级版主

Rank: 11Rank: 11Rank: 11Rank: 11

积分
27953

资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章技术大牛奖章

威望
10635
贡献
10966
兑换币
4566
注册时间
2010-11-23
在线时间
3176 小时
跳转到指定楼层
1#
发表于 2011-2-21 12:44:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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卡的电子相册。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

3

主题

124

帖子

0

精华

高级会员

Rank: 4

积分
602
QQ
威望
431
贡献
65
兑换币
24
注册时间
2009-12-17
在线时间
53 小时
2#
发表于 2011-2-26 16:55:28 | 只看该作者
谢谢分享
回复 支持 反对

使用道具 举报

1

主题

133

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
威望
359
贡献
100
兑换币
0
注册时间
2010-10-20
在线时间
6 小时
3#
发表于 2011-2-26 18:28:17 | 只看该作者
好啊。
回复 支持 反对

使用道具 举报

0

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
771
QQ
威望
429
贡献
94
兑换币
10
注册时间
2010-11-7
在线时间
124 小时
4#
发表于 2011-2-28 22:13:44 | 只看该作者
顶 ! 哈哈
回复 支持 反对

使用道具 举报

49

主题

3751

帖子

1

精华

顶级版主

Rank: 11Rank: 11Rank: 11Rank: 11

积分
27953

资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章技术大牛奖章

威望
10635
贡献
10966
兑换币
4566
注册时间
2010-11-23
在线时间
3176 小时
5#
 楼主| 发表于 2011-2-28 22:13:54 | 只看该作者
顶顶更健康
回复 支持 反对

使用道具 举报

0

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
771
QQ
威望
429
贡献
94
兑换币
10
注册时间
2010-11-7
在线时间
124 小时
6#
发表于 2011-2-28 22:14:06 | 只看该作者
再顶一下  学习SD卡的顶起来
回复 支持 反对

使用道具 举报

5

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
416
威望
245
贡献
45
兑换币
14
注册时间
2010-12-28
在线时间
63 小时
7#
发表于 2011-3-3 22:33:45 | 只看该作者
楼主好强啊
回复 支持 反对

使用道具 举报

2

主题

76

帖子

0

精华

高级会员

Rank: 4

积分
901
威望
398
贡献
35
兑换币
8
注册时间
2011-2-20
在线时间
234 小时
8#
发表于 2011-3-4 10:54:36 | 只看该作者
强!谢谢分享哈
回复 支持 反对

使用道具 举报

1

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
415
QQ
威望
291
贡献
92
兑换币
0
注册时间
2010-12-29
在线时间
16 小时
9#
发表于 2011-3-4 11:14:58 | 只看该作者
给力啊!谢谢!
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
威望
238
贡献
39
兑换币
0
注册时间
2011-2-23
在线时间
3 小时
10#
发表于 2011-3-12 13:55:19 | 只看该作者
ding, You are the best!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-28 09:45 , Processed in 0.115698 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表