查看: 5092|回复: 12

[其他] 16位单片机SPI模块读取SD卡问题

[复制链接]

该用户从未签到

2

主题

9

帖子

0

新手上路

Rank: 1

积分
36
最后登录
2016-4-10
发表于 2015-12-10 09:24:36 | 显示全部楼层 |阅读模式
最近在研究用飞思卡尔MC9S12XEP100单片机研究SPI读取SD卡,在SD卡初始化时,程序卡在接收不到SD卡的信息,程序如下:
byte SPI_Byte(byte value)
{
        while (!SPI0SR_SPTEF); //等待发送
        SPI0DR = value;
        while(!(SPI0SR_SPIF)); //等待接收
        return SPI0DR;
}
程序一直停在“while(!(SPI0SR_SPIF)); //等待接收”这一步,跳不出来;SD卡是好使的,是Kingston的2G SD卡;目前还未找到原因
是这款SD卡不匹配吗?




我知道答案 目前已有12人回答
回复

使用道具 举报

  • TA的每日心情
    奋斗
    昨天 20:55
  • 签到天数: 2449 天

    连续签到: 5 天

    [LV.Master]伴坛终老

    17

    主题

    5322

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    11252
    最后登录
    2025-7-17
    发表于 2015-12-10 14:47:55 | 显示全部楼层
    先看看。。。
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    9

    帖子

    0

    新手上路

    Rank: 1

    积分
    36
    最后登录
    2016-4-10
     楼主| 发表于 2015-12-10 15:36:51 | 显示全部楼层
    网上也有不少人遇过类似问题,但还没找到想要的答案
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    9

    帖子

    0

    新手上路

    Rank: 1

    积分
    36
    最后登录
    2016-4-10
     楼主| 发表于 2015-12-14 11:43:22 | 显示全部楼层
    我现在解决了此问题,把问题的过程总结给大家,希望有帮助:
    之前分别怀疑SD卡和飞思卡尔(现在叫恩智浦)XEP100单片机SPI的问题,我首先利用万用表测试XEP100开发板的SD卡硬件电路,没有发现问题,再使用SPI1模块替代SPI0模块,结果还是出现“一直卡在while(!(SPI0SR_SPIF)); //等待接收”的问题,怀疑是SPI的问题,后使用XS128的开发板,并借用XEP100开发板的SD卡硬件模块,调试后能正常读写SD卡;最后将XS128的SPI初始化移植给XEP100,也能够实现正常读写SD卡。
    比较2种单片机SPI初始化程序,问题出在“SPI0CR2 = 0x10;”之前一直是“SPI0CR2 = 0x00;”所以其中MODFEN位要置1,SSOE也要置1。此外,此处用单步调试不行,会导致程序一直卡在“while(!(SPI0SR_SPIF)); //等待接收”处,至于为什么还不是很清楚。
    最后,谢谢大家给我的建议和讨论。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    239

    帖子

    0

    高级会员

    Rank: 4

    积分
    673
    最后登录
    2018-6-8
    发表于 2016-1-19 10:30:01 | 显示全部楼层
    你好笑熬浆糊 发表于 2015-12-14 11:43
    我现在解决了此问题,把问题的过程总结给大家,希望有帮助:
    之前分别怀疑SD卡和飞思卡尔(现在叫恩智浦)X ...

    SD卡电路可以分享下吗
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    41

    帖子

    0

    注册会员

    Rank: 2

    积分
    135
    最后登录
    1970-1-1
    发表于 2016-8-23 10:30:59 | 显示全部楼层
    这种结题方式最好了,把问题说明了,把解决办法也说了,非常好谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-17 08:07
  • 签到天数: 273 天

    连续签到: 1 天

    [LV.8]以坛为家I

    74

    主题

    2338

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7508
    最后登录
    2021-8-30
    发表于 2016-8-30 18:20:26 | 显示全部楼层
    非常好的结题方式,建议在标题上标明已解决
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    49

    帖子

    0

    注册会员

    Rank: 2

    积分
    173
    最后登录
    2024-10-10
    发表于 2016-9-29 16:03:47 | 显示全部楼层
    上初始化的程序  
    光一个发送字节 有啥用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-12-26 12:04
  • 签到天数: 43 天

    连续签到: 1 天

    [LV.5]常住居民I

    4

    主题

    253

    帖子

    0

    高级会员

    Rank: 4

    积分
    620
    最后登录
    2018-7-6
    发表于 2016-11-28 12:18:44 | 显示全部楼层
    只看这一点,看不出问题
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16697
    最后登录
    1970-1-1
    发表于 2016-12-3 20:41:09 | 显示全部楼层
    你好笑熬浆糊 发表于 2015-12-14 11:43
    我现在解决了此问题,把问题的过程总结给大家,希望有帮助:
    之前分别怀疑SD卡和飞思卡尔(现在叫恩智浦)X ...

    多谢分享
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-18 14:01 , Processed in 0.178360 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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