OpenEdv-开源电子网

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

SD卡问题

[复制链接]

26

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
182
金钱
182
注册时间
2013-3-22
在线时间
0 小时
发表于 2013-4-13 14:55:02 | 显示全部楼层 |阅读模式

void SD_SPI_Init(void)
{
     //设置硬件上与SD卡相关联的控制引脚输出
 //避免NRF24L01/W25X16等的影响
 RCC->APB2ENR|=1<<2;       //PORTA时钟使能
 GPIOA->CRL&=0XFFF000FF;
 GPIOA->CRL|=0X00033300;//PA2.3.4 推挽     
 GPIOA->ODR|=0X7<<2;    //PA2.3.4上拉
 SPIx_Init();
  SD_SPI_SpeedLow();//设置到低速模式 
 SD_CS=1;
}


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);//启动传输  
}





为啥这里需要配置的管脚一共有6个(PA2 ,PA3,PA4,PA5,PA6,PA7),SD卡上的对应的管脚也没那么多啊,除掉VCC和GND 也就用到4个管脚(Din Dout CS SCK )这里为什么要配置那么多的IO口

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2386
金钱
2386
注册时间
2012-11-22
在线时间
403 小时
发表于 2013-4-13 15:03:23 | 显示全部楼层
//避免NRF24L01/W25X16等的影响
上面不是写着吗
态度决定一切
回复 支持 反对

使用道具 举报

26

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
182
金钱
182
注册时间
2013-3-22
在线时间
0 小时
 楼主| 发表于 2013-4-13 17:00:40 | 显示全部楼层
回复【2楼】冰封嗜魔:
---------------------------------
请问一下实际上SD卡用到IO口是哪几个?
回复 支持 反对

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2386
金钱
2386
注册时间
2012-11-22
在线时间
403 小时
发表于 2013-4-13 17:08:52 | 显示全部楼层
如果是用spi的话,就是SD_CS,SPIx_SCK,SPIx_MISO,SPIx_MOSI这几个就行了。
态度决定一切
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-21 05:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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