OpenEdv-开源电子网

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

用库函数版本的例程,请教下TF卡初始化问题

[复制链接]

6

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2011-11-29
在线时间
0 小时
发表于 2012-4-18 11:13:18 | 显示全部楼层 |阅读模式
 ALIENTEK MiniSTM32开发板例程-库函数版本
图片显示实验中的SD卡驱动

初始化函数不成功
u8 SD_Initialize(void)
{
    u8 r1;      // 存放SD卡的返回值
    u16 retry;  // 用来进行超时计数
    u8 buf[4]; 
 u16 i;
 SD_SPI_Init();  //初始化IO
  SD_SPI_SpeedLow(); //设置到低速模式
 for(i=0;i<80;i++)SD_SPI_ReadWriteByte(0XFF);//发送最少74个脉冲
 retry=20;
 do
 {
  r1=SD_SendCmd(CMD0,0,0x95);//进入IDLE状态
 }while((r1!=0X01) && retry--);
  SD_Type=0;//默认无卡
 Usart1SendStr((const char *)"idle\r\n"); //调试打印,走不到这里。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-4-18 11:55:08 | 显示全部楼层
说明你的TF卡不被支持...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2011-11-29
在线时间
0 小时
 楼主| 发表于 2012-4-18 15:51:01 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
应该不是卡不支持的原因,这个2G卡放到电脑和我另外一个设备(lpc的板子,spi接口,fatfs文件系统)里都可以用。
u8 SD_Select(void)
{
SD_CS=0;
if(SD_WaitReady()==0)return 0;//等待成功
初始化死在这里,也就是说SD_SPI_ReadWriteByte(0XFF),这个基本的SPI通信都没成功?问下可能什么原因?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-4-18 16:17:27 | 显示全部楼层
那你刷寄存器版本的代码,最新的.试试看.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2013-7-10
在线时间
0 小时
发表于 2013-7-10 13:14:41 | 显示全部楼层
回复【3楼】zzyongchao:
---------------------------------
1、硬件角度上,四条线均加47K或10K上拉电阻,并保证电路连接可靠。
2、驱动软件上,SPI配置要正确,如上升沿输入输出数据,且要配置SPI总线空闲时,SD卡的SDI线保持高电平
3、死在那里,说明没有读到0xFF,正常情况空闲时SD卡的SDO线会保持高电平
回复 支持 反对

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2013-7-10
在线时间
0 小时
发表于 2013-7-10 13:18:16 | 显示全部楼层
回复【楼主位】zzyongchao:
-------------------------------
我测试时发现,如果已经烧写过代码,ARM运行过初始化SD卡,并对SD卡进行了读写操作(没有成功),有可能导致SD卡内部逻辑乱掉。我就让ARM进入ISP模式启动,然后JTAG连上后下载仿真,基本都能初始化成功,但是后边读容量操作有问题,还在调试
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-18 00:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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