你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
每日签到
STM32团队2
论坛吐槽优化专区
升级测试
SPI操作SD卡,CMD0无响应
[复制链接]
QianFan
提问时间:2015-3-28 15:31 /
问答
是否解决:
使用STM32的SPI模式0操作SD卡,但是发送CMD0没有响应,一直回应0XFF。有人遇到过这种情况吗?
操作过程:
1. 设置SPI时钟分频256.
2.CS引脚置1.
3.发送10个0xFF。
4.CS引脚拉低。
5.发送0X40, 0X00,0X00,0X00,0X00, 0X95
6.读取MISO引脚数值,发现一直是0XFF。
7.CS置1.
<
赞
0
收藏
0
评论
13
分享
发布时间:2015-3-28 15:31
举报
请先
登录
后回复
13个回答
QianFan
回答时间:2015-3-28 17:06:31
a0a.1 32b0c
本帖最后由 QianFan 于 2015-3-28 17:07 编辑
折腾了一天,终于明白是怎么回事了。之前玩arduino的时候,买了一个网口的扩展版,上面自带一个SD小卡的卡槽,看板子上写着兼容MEGE,一开始没怎么注意,后来发现这些没注意的细节浪费了整整一下午的时间。
以为是时序的问题,但是用逻辑分析仪分析确实没有什么问题,但是CMD0一直没有应答。无心插柳,访问Arduino官网,看到了mege的引脚之后才恍然大悟。请看图。图是我从淘宝上扒的,把图片上商家的广告擦去了,有点难看,大家就将就吧。
这一张是正面图,Arduino一般来说13,12,11是SPI的引脚,我想当然的以为SD卡也是使用了这三个引脚。当插入Nucleo之后也是使用13,12,11三个引脚来操作。万恶的bug正是从这里出来的。其实SD SPI的接口并不是这三个,而是下图那奇葩的地方。
下面这一张是背面图。
图中圈出的地方是SD卡的接口部分,也是mege2560 SPI的默认引脚。当然,这个引脚在Nucleo上面是没有的。所以不管时序对还是不对,肯定是没有结果的。
虽然Nucleo兼容了Arduino的硬件接口,但是希望大家之后再为Nucleo挑选Arduino扩展版的时候注意一下,不要像我这样劳民伤财。
好了,不说了,我先去哭会。。。
赞
0
评论
回复
支持
反对
nocoyou
回答时间:2015-3-28 19:22:44
a1024a.1 32b0c
................
赞
0
评论
回复
支持
反对
wambob
回答时间:2015-3-28 20:05:52
a0a.1 32b0c
哭吧,泪干了 ,还得继续
赞
0
评论
回复
支持
反对
拼命三郎
回答时间:2015-3-28 21:51:35
a0a.1 32b0c
赞
0
评论
回复
支持
反对
zfz0122
回答时间:2015-3-29 10:42:24
a0a.1 32b0c
学习了啊
赞
0
评论
回复
支持
反对
QianFan
回答时间:2015-3-29 10:42:28
a0a.1 32b0c
wambob 发表于 2015-3-28 20:05
哭吧,泪干了 ,还得继续
人生总是这么精彩。。。
赞
0
评论
回复
支持
反对
MouseCat
回答时间:2015-3-30 08:49:25
a0a.1 32b0c
贱人就是矫情
赞
0
评论
回复
支持
反对
xieyixieyi81093
回答时间:2015-3-30 09:00:07
a0a.1 32b0c
男人哭吧哭吧,不是罪。
赞
0
评论
回复
支持
反对
chaplin1999-262
回答时间:2015-3-30 09:59:47
a0a.1 32b0c
有时候就是大意了!
赞
0
评论
回复
支持
反对
1
2
/ 2 页
下一页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
折腾了一天,终于明白是怎么回事了。之前玩arduino的时候,买了一个网口的扩展版,上面自带一个SD小卡的卡槽,看板子上写着兼容MEGE,一开始没怎么注意,后来发现这些没注意的细节浪费了整整一下午的时间。
以为是时序的问题,但是用逻辑分析仪分析确实没有什么问题,但是CMD0一直没有应答。无心插柳,访问Arduino官网,看到了mege的引脚之后才恍然大悟。请看图。图是我从淘宝上扒的,把图片上商家的广告擦去了,有点难看,大家就将就吧。
这一张是正面图,Arduino一般来说13,12,11是SPI的引脚,我想当然的以为SD卡也是使用了这三个引脚。当插入Nucleo之后也是使用13,12,11三个引脚来操作。万恶的bug正是从这里出来的。其实SD SPI的接口并不是这三个,而是下图那奇葩的地方。
下面这一张是背面图。
图中圈出的地方是SD卡的接口部分,也是mege2560 SPI的默认引脚。当然,这个引脚在Nucleo上面是没有的。所以不管时序对还是不对,肯定是没有结果的。
虽然Nucleo兼容了Arduino的硬件接口,但是希望大家之后再为Nucleo挑选Arduino扩展版的时候注意一下,不要像我这样劳民伤财。
好了,不说了,我先去哭会。。。
人生总是这么精彩。。。