OpenEdv-开源电子网

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

【求助】f103c8t6用重映射spi操作sd卡初始化卡在com0(返回ff)

[复制链接]

8

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2017-12-4
在线时间
86 小时
发表于 2018-4-8 23:05:38 | 显示全部楼层 |阅读模式
3金钱
我在同一条总线上还有一个spi的tft液晶,用的重映射的spi1(已添加 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);),之前没有重映射都可以正常读写。。。
程序:

u8 SD_Initialize(void)
{
    u8 r1;      // 存放SD卡的返回值
    u16 retry;  // 用来进行超时计数
    u8 buf[4];  // 缓存
        u16 i;

        SD_SPI_Init();                //初始化IO
        SD_SPI_SpeedLow();        //设置到低速模式
        delayms(10);
        SD_CS=1;             //这里我也是没办法才加的
        for(i=0;i<10;i++)SD_SPI_ReadWriteByte(0XFF);//发送最少74个脉冲
        retry=100;
        SD_CS=0;             //这里我也是没办法才加的
        do
        {
                r1=SD_SendCmd(CMD0,0,0x95);//就卡这里,返回值一直是0xff
        }while((r1!=0X01) && retry--);
        SD_Type=0;//默认无卡
        。。。。。。。。。。。。。。(以下省略)



最佳答案

查看完整内容[请看2#楼]

找到问题了,确实是spi速度太快,跟rcc_configuration没啥关系。。。我之前spi用的是div2,现在改成div4就能正常运行了。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2017-12-4
在线时间
86 小时
 楼主| 发表于 2018-4-8 23:05:39 | 显示全部楼层
找到问题了,确实是spi速度太快,跟rcc_configuration没啥关系。。。我之前spi用的是div2,现在改成div4就能正常运行了。。。
回复

使用道具 举报

8

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2017-12-4
在线时间
86 小时
 楼主| 发表于 2018-4-8 23:07:56 | 显示全部楼层
SPI方面只是改了一个重映射就卡这里了XD(我需要加一个摄像头,只好重映射了)
回复

使用道具 举报

8

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2017-12-4
在线时间
86 小时
 楼主| 发表于 2018-4-8 23:28:32 | 显示全部楼层
刚刚我尝试了一个。。。迷之操作。。。我把rcc_configuration去掉了。。。然后就好了。。。什么迷之原理,,,求解。。。。。。害得我浪费了好多次片内flash擦写次数。。。
回复

使用道具 举报

8

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2017-12-4
在线时间
86 小时
 楼主| 发表于 2018-4-8 23:58:54 来自手机 | 显示全部楼层
现在似乎彻底崩盘了。。。又变成卡fatfs了。。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-4-9 02:02:05 | 显示全部楼层
帮顶
回复

使用道具 举报

8

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2017-12-4
在线时间
86 小时
 楼主| 发表于 2018-4-9 09:23:41 | 显示全部楼层
问题似乎是解决了,大概是我用的sd卡太过上古、速度太慢所致,我记得这张卡从我很小的时候就在了哈哈。。

可是我发现:光是降低spi的速度还不行,必须在没有 RCC_Configuration的时候才不报错。我也尝试了降低APB2的速度,可是似乎不管用。。。
求个大神解答一下
回复

使用道具 举报

8

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2017-12-4
在线时间
86 小时
 楼主| 发表于 2018-4-9 09:35:45 | 显示全部楼层
现在问题能确定是速度问题了。。。
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2018-4-9
在线时间
4 小时
发表于 2018-4-9 13:07:56 | 显示全部楼层
LZ我遇到的也是相同的问题 你解决的方法是降低SPI速率+删除RCC_Configuration吗
回复

使用道具 举报

8

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2017-12-4
在线时间
86 小时
 楼主| 发表于 2018-4-9 18:37:00 | 显示全部楼层
wsm1996 发表于 2018-4-9 13:07
LZ我遇到的也是相同的问题 你解决的方法是降低SPI速率+删除RCC_Configuration吗

我没有删除rcc_configuration,我只是降低了spi的速度,大概18mhz,就是4分频
回复

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-3-6
在线时间
13 小时
发表于 2018-4-25 20:03:01 | 显示全部楼层
楼主,这个4分频是值APB2时钟总线4分频即72M/4
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 17:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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