智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3245|回复: 5
打印 上一主题 下一主题

[编程类] 求龙丘XS128板(112P集成SD模块)的SD卡驱动。。

[复制链接]

2

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
173
威望
147
贡献
26
兑换币
0
注册时间
2011-10-25
在线时间
0 小时
跳转到指定楼层
1#
发表于 2011-10-25 23:10:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5贡献
本帖最后由 keg13579 于 2011-10-25 23:13 编辑

自己写的都用不了。。。

用的是龙丘的集成SD模块的112针的XS128,
通过测试,SD对应的引脚应该是S4 S5 S6 S7
spi的初始化程序:

  1. void SPI_Init(void)
  2. {
  3.    MODRR_MODRR4=0; //使用s口
  4.    //DDRM = 0x31; //SCK0=1,MOSI=1,pm0为cs 0b00110001
  5.    DDRS_DDRS5 =1;
  6.    DDRS_DDRS5 =1;
  7.    DDRS_DDRS6 =1;
  8.    DDRS_DDRS7 =1;
  9.    SPI0CR1 = 0x5e; //CPOL=1,CPHA=1 0b01011110
  10.    SPI0CR2 = 0x10; //0b00010000
  11.    SPI0BR  = 0x07;  // 80M / 256 = 312.5k
  12. }
复制代码

但在sd的初始化阶段传送SPI数据就没有相应。
  1. while (!SPI0SR_SPTEF);
  2.     SPI0DRL = ch;
  3.     while (!SPI0SR_SPIF);
  4.     spi_tmp = SPI0DRL;
复制代码

一直卡在while (!SPI0SR_SPIF);里面。
网上的源码写的都是M口的,自己改成S口的,不知道有没有什么要注意的地方。
硬件是集成好的模块,供电什么的也没问题。
第一次写freescale,求指导,谢谢

2

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
76
QQ
威望
145
贡献
21
兑换币
0
注册时间
2011-10-17
在线时间
0 小时
2#
发表于 2011-11-7 10:17:52 | 只看该作者
同求
回复

使用道具 举报

80

主题

1045

帖子

0

精华

跨届大侠

北京龙邱智能科技有限公司

Rank: 10Rank: 10Rank: 10

积分
10332

论坛元老奖章

QQ
威望
2905
贡献
6151
兑换币
4515
注册时间
2008-6-7
在线时间
638 小时
3#
发表于 2011-11-7 10:40:52 | 只看该作者
本帖最后由 chiusir 于 2011-11-7 10:42 编辑

#define DDR_INI()  DDRS |= 0xE0         
#define SD_Sel()   PTS_PTS7=0        //低电平
#define SD_deSel() PTS_PTS7=1        //高电平
//sd卡初始化
void SD_Init(void)
{         
  /*
  MODRR_MODRR4 =1;   //使用M口
  DDRM    = 0x38;    //必须初始化IO方向  
  SPI0CR2 = 0x10;
  SPI0CR1 = 0x5e;    //
  SPI0BR  = 0x44;    //初始化用低速率
  SD_deSel();
*/
  MODRR_MODRR4 =0;   //使用S口
  DDRS    = 0xE0;    //SCK0=1,MOSI=1   
  SPI0CR2 = 0x10;
  SPI0CR1 = 0x5e;
  SPI0BR  = 0x44; //BR=busclk/((SPPR + 1)· 2^(SPR + 1))=16000/(5*32)=100k  
  SD_deSel();
}
回复

使用道具 举报

80

主题

1045

帖子

0

精华

跨届大侠

北京龙邱智能科技有限公司

Rank: 10Rank: 10Rank: 10

积分
10332

论坛元老奖章

QQ
威望
2905
贡献
6151
兑换币
4515
注册时间
2008-6-7
在线时间
638 小时
4#
发表于 2011-11-7 10:43:24 | 只看该作者
其他部分不用任何改动
回复

使用道具 举报

8

主题

57

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1073
威望
607
贡献
236
兑换币
103
注册时间
2012-1-31
在线时间
115 小时
5#
发表于 2012-10-11 10:38:43 | 只看该作者
请问  (void)SPI0SR;
        (void)SPI0DRL;

这两句读语句有什么用?延时?
回复

使用道具 举报

17

主题

346

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2686
威望
1368
贡献
610
兑换币
505
注册时间
2011-8-27
在线时间
354 小时
6#
发表于 2012-10-17 23:28:06 | 只看该作者
这个问题解决了吗?我们的也是这样。最近在做这个。可是都觉得不知道问题出现在哪里了?每次都跳不出循环。。。。每天睡不着觉。。要死了 。。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-18 01:20 , Processed in 0.051651 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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