OpenEdv-开源电子网

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

求帮忙!SD卡SPI模式问题。

[复制链接]

16

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2012-10-22
在线时间
0 小时
发表于 2012-10-24 10:58:59 | 显示全部楼层 |阅读模式
    用了原子哥的SD卡实验的程序,但是我所用的开发板不是那样的,需要修改!
    我现在使用PA4 做片选信号CS
                   A5 做时钟信号CLK
                   A6 做MISO
                   A7 做MOSI
     原子哥你的GPIO设置的时候是:
     GPIOA->CRL&=0XFFF000FF;
     GPIOA->CRL|=0X00033300;//PA2.3.4 推挽 
     GPIOA->ODR|=0X7<<2;    //PA2.3.4上拉
     那我这里该怎么设置呢? 这样???
     GPIOA->CRL&=0XF000FFFF;
     GPIOA->CRL|=0X03330000;
     GPIOA->ODR|=0X7<<4;
     急求帮助,谢谢!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

46

主题

177

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
381
金钱
381
注册时间
2012-5-2
在线时间
0 小时
发表于 2012-10-24 11:24:25 | 显示全部楼层
我帮你顶下  顺便找找以前标记的帖子 
回复 支持 反对

使用道具 举报

12

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2012-3-28
在线时间
0 小时
发表于 2012-10-24 11:27:28 | 显示全部楼层
你这个是和原子哥的连接是一样的,只不过原子的板子没用NSS作为片选信号,因为上面好几个SPI接口设备
原子哥的GPIO设置是:////这里的设置是把其他SPI 设备的CS信号拉高,防止受其它SPI设备的干扰(PA2是flash的片选,PA3是SD卡的片选,PA4是无线模块的片选)
     GPIOA->CRL&=0XFFF000FF; 
        GPIOA->CRL|=0X00033300;//PA2.3.4 推挽 
     GPIOA->ODR|=0X7<<2;    //PA2.3.4上拉


你可以参考这块代码修改你的程序,把NSS管理处理好就行了,自己改改吧!!!


//以下是SPI模块的初始化代码,配置成主机模式,访问SD Card/W25X16/24L01/JF24C   
//SPI口初始化
//这里针是对SPI1的初始化
void SPIx_Init(void)
{  
RCC->APB2ENR|=1<<2;       //PORTA时钟使能   
RCC->APB2ENR|=1<<12;      //SPI1时钟使能 
   
//这里只针对SPI口初始化
GPIOA->CRL&=0X000FFFFF; 
GPIOA->CRL|=0XBBB00000;//PA5.6.7复用      
GPIOA->ODR|=0X7<<5;    //PA5.6.7上拉

SPI1->CR1|=0<<10;//全双工模式
SPI1->CR1|=1<<9; //软件nss管理
SPI1->CR1|=1<<8;  

SPI1->CR1|=1<<2; //SPI主机
SPI1->CR1|=0<<11;//8bit数据格式
SPI1->CR1|=1<<1; //空闲模式下SCK为1 CPOL=1
SPI1->CR1|=1<<0; //数据采样从第二个时间边沿开始,CPHA=1  
SPI1->CR1|=7<<3; //Fsck=Fcpu/256
SPI1->CR1|=0<<7; //MSBfirst   
SPI1->CR1|=1<<6; //SPI设备使能
SPIx_ReadWriteByte(0xff);//启动传输  
}   
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-10-24 11:29:11 | 显示全部楼层
回复【楼主位】huyang:
---------------------------------
先学会IO口使用,再学会SPI使用,再来做你这个题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

16

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2012-10-22
在线时间
0 小时
 楼主| 发表于 2012-10-24 13:41:05 | 显示全部楼层
感谢。。。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-28 16:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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