OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4980|回复: 12

关于 SD 卡的问题

[复制链接]

5

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
240
金钱
240
注册时间
2016-6-5
在线时间
44 小时
发表于 2016-6-13 22:44:28 | 显示全部楼层 |阅读模式
3金钱
我现在想实现 STM32 自动识别是否插入了 SD 卡,SD 卡是使用 SPI 的方式连接到 STM32 的,使用 ucos ,实现插上卡之后自动初始化,拔下来再插上重新初始化,要监测什么才能做到??

最佳答案

查看完整内容[请看2#楼]

隔一段时间查询一次SD卡状态(读状态寄存器),如果返回OK,说明SD卡在位,正常。如果返回错误,说明SD卡被拔出了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2016-6-13 22:44:29 | 显示全部楼层
隔一段时间查询一次SD卡状态(读状态寄存器),如果返回OK,说明SD卡在位,正常。如果返回错误,说明SD卡被拔出了。  
回复

使用道具 举报

3

主题

347

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
2078
金钱
2078
注册时间
2014-12-19
在线时间
710 小时
发表于 2016-6-13 23:04:36 | 显示全部楼层
SD卡座一般有个CD卡检测引脚,低电平表示检测到SD卡,高电平表示没有插卡。可以在检测到由高电平跳变到低电平之后50ms(也可以是其他时间,主要是等待SD卡稳定)自动初始化SD卡。
回复

使用道具 举报

5

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
240
金钱
240
注册时间
2016-6-5
在线时间
44 小时
 楼主| 发表于 2016-6-13 23:17:27 | 显示全部楼层
lvehe 发表于 2016-6-13 23:04
SD卡座一般有个CD卡检测引脚,低电平表示检测到SD卡,高电平表示没有插卡。可以在检测到由高电平跳变到低电 ...

QQ截图20160613231657.png
完蛋了,是不是??
回复

使用道具 举报

2

主题

1436

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2209
金钱
2209
注册时间
2010-12-16
在线时间
190 小时
发表于 2016-6-14 22:19:26 | 显示全部楼层
定时读卡属性 , 或者读分区属性 , 如果读不到就说明掉线 。 如果 CD 掉了可以直接认为掉线 , 但 CD 没掉不能说明没掉线 。
回复

使用道具 举报

5

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
240
金钱
240
注册时间
2016-6-5
在线时间
44 小时
 楼主| 发表于 2016-6-14 22:42:16 | 显示全部楼层
shihantu 发表于 2016-6-14 22:19
定时读卡属性 , 或者读分区属性 , 如果读不到就说明掉线 。 如果 CD 掉了可以直接认为掉线 , 但 CD 没掉 ...

定期读取卡属性,就是读 CSD的值?暂且不说占用资源,浪费时间,有的时候还会读错,最关键的问题是,移除SD 卡之后,再插上需要重新初始化才可以使用,因为是 SPI 模式,要经过模式变化才能使用函数读取 CSD 的值,怎么确定卡已经插上了呢???
回复

使用道具 举报

20

主题

297

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1830
金钱
1830
注册时间
2013-7-29
在线时间
276 小时
发表于 2016-6-15 08:44:43 | 显示全部楼层

SD卡座一般有个CD卡检测引脚,低电平表示检测到SD卡,高电平表示没有插卡。可以在检测到由高电平跳变到低电平之后50ms(也可以是其他时间,主要是等待SD卡稳定)自动初始化SD卡。同楼上!!!
回复

使用道具 举报

5

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
240
金钱
240
注册时间
2016-6-5
在线时间
44 小时
 楼主| 发表于 2016-6-15 09:10:28 | 显示全部楼层
xuyan021 发表于 2016-6-15 08:44
SD卡座一般有个CD卡检测引脚,低电平表示检测到SD卡,高电平表示没有插卡。可以在检测到由高电平跳变到低 ...

看电路图,那个卡座是不是被直接连到地了??而且没有线连到单片机上,这条路堵死了。。。莫非我要割线??
回复

使用道具 举报

2

主题

1436

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2209
金钱
2209
注册时间
2010-12-16
在线时间
190 小时
发表于 2016-6-15 14:47:45 | 显示全部楼层
kykxo 发表于 2016-6-14 22:42
定期读取卡属性,就是读 CSD的值?暂且不说占用资源,浪费时间,有的时候还会读错,最关键的问题是,移除 ...

你的逻辑很混乱 。

读取不到 , 或者初始化不了 , 不就是卡没有插上吗 ? 读错了 , 不就是卡松了吗 ? 移除了不初始化 , 还能用吗 ? 卡座接触不良 , 卡在那里又有何用 ?

如果要检查物理空间上是否插上 , 读 CD 脚 。图做错了还这么理直气壮 。
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

2

主题

1436

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2209
金钱
2209
注册时间
2010-12-16
在线时间
190 小时
发表于 2016-6-15 15:14:53 | 显示全部楼层
其实也没有这么麻烦 , 访问卡的时候 , 如果回应不合法 , 就认为断线好了 ,所谓占用资源浪费时间一说也是扯 。难道卡就插进去不动 ?
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

5

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
240
金钱
240
注册时间
2016-6-5
在线时间
44 小时
 楼主| 发表于 2016-6-15 16:06:37 | 显示全部楼层
shihantu 发表于 2016-6-15 15:14
其实也没有这么麻烦 , 访问卡的时候 , 如果回应不合法 , 就认为断线好了 ,所谓占用资源浪费时间一说也 ...

首先,图不是我画的,我只是在尝试在已有的图上解决问题
其次,我得问题一直都不是卡移除的问题,而是卡重新插回来的问题,在已有的硬件上能否实现,总不能在卡移除后一直重复调用初始化函数吧。。。。
另外,我已经解决了卡不稳定,读到数据错误的问题,现在卡很稳定
回复

使用道具 举报

5

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
240
金钱
240
注册时间
2016-6-5
在线时间
44 小时
 楼主| 发表于 2016-6-15 21:09:20 | 显示全部楼层
正点原子 发表于 2016-6-13 22:44
隔一段时间查询一次SD卡状态(读状态寄存器),如果返回OK,说明SD卡在位,正常。如果返回错误,说明SD卡被 ...

这也是没谁了,没答到点上
回复

使用道具 举报

2

主题

1436

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2209
金钱
2209
注册时间
2010-12-16
在线时间
190 小时
发表于 2016-6-15 21:56:04 | 显示全部楼层
kykxo 发表于 2016-6-15 16:06
首先,图不是我画的,我只是在尝试在已有的图上解决问题
其次,我得问题一直都不是卡移除的问题,而是卡 ...

随便 , 物理上检查 CD , 电气上检查不靠谱的引脚电平 , 协议上 6 个 SPI 操作就知道结果 , 爱怎样怎样 , 喜欢的话也不是没见过加摄像头检测的 .
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 13:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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