野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14469|回复: 19

F103驱动SD卡的时候时数据线D0 D1 D2 D3 修改成D0 D1 D6 D7 程序应该如何修改啊

[复制链接]
发表于 2016-8-12 09:56:43 | 显示全部楼层 |阅读模式
最近在做一个小东西 修改了SD的IO 请问火哥我应该如何移植原来的程序呢 只做IO引脚的修改吗

回复

使用道具 举报

 楼主| 发表于 2016-8-12 10:00:38 | 显示全部楼层
程序中只做了这样的修改
QQ截图20160812095822.png
QQ截图20160812095822.png
回复 支持 反对

使用道具 举报

发表于 2016-8-12 10:44:31 | 显示全部楼层
这个应该是改不了的吧,4bit模式只能按照顺序来的吧,而不是随意选四个IO吧
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-8-12 10:53:11 | 显示全部楼层
fire 发表于 2016-8-12 10:44
这个应该是改不了的吧,4bit模式只能按照顺序来的吧,而不是随意选四个IO吧

那剩下的这些功能是干什么的啊
回复 支持 反对

使用道具 举报

发表于 2016-8-12 11:10:04 | 显示全部楼层
sd卡的引脚是固定的,查数据手册,手册有说明哪些脚可用作SD卡的
回复 支持 反对

使用道具 举报

发表于 2016-8-12 12:22:14 | 显示全部楼层
是硬件定好了吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-12 15:53:21 | 显示全部楼层
flyleaf 发表于 2016-8-12 11:10
sd卡的引脚是固定的,查数据手册,手册有说明哪些脚可用作SD卡的

测试的时候出现这样的情况
SD.png
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-12 15:54:11 | 显示全部楼层
滨院小韩 发表于 2016-8-12 15:53
测试的时候出现这样的情况

错误的状态显示超时
回复 支持 反对

使用道具 举报

发表于 2016-8-12 16:01:22 | 显示全部楼层
滨院小韩 发表于 2016-8-12 10:53
那剩下的这些功能是干什么的啊

剩下?哪里有剩下

你是说D4 D5 D6 D7引脚嘛?
那些就是sdio接口的其它数据引脚,在MMC卡有的会用到8根数据线,而SD卡只用4根数据线,所以只用D0D1D2D3
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-12 16:04:32 | 显示全部楼层
flyleaf 发表于 2016-8-12 16:01
剩下?哪里有剩下

你是说D4 D5 D6 D7引脚嘛?

恩是的  我现在飞线引脚接的是正确的,但是出现读写超时 初始化失败的情况
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-12 16:05:54 | 显示全部楼层
flyleaf 发表于 2016-8-12 16:01
剩下?哪里有剩下

你是说D4 D5 D6 D7引脚嘛?

为什么会出现 初始化失败 但是能读出卡的信息这个问题呢 是卡的原因吗
回复 支持 反对

使用道具 举报

发表于 2016-8-12 16:20:16 | 显示全部楼层
滨院小韩 发表于 2016-8-12 16:05
为什么会出现 初始化失败 但是能读出卡的信息这个问题呢 是卡的原因吗

先用板载的插槽测一下卡
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-12 16:30:14 | 显示全部楼层
flyleaf 发表于 2016-8-12 16:20
先用板载的插槽测一下卡

板子不在身边,我放手机里存放东西也能用 然后我就格式化FAT32的格式,初始化失败 但是却能读出卡上的容量等信息,这是怎么回事呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-12 16:31:42 | 显示全部楼层
flyleaf 发表于 2016-8-12 16:20
先用板载的插槽测一下卡

我的原理图
1.png
回复 支持 反对

使用道具 举报

发表于 2016-8-12 16:35:58 | 显示全部楼层
滨院小韩 发表于 2016-8-12 16:30
板子不在身边,我放手机里存放东西也能用 然后我就格式化FAT32的格式,初始化失败 但是却能读出卡上的容 ...

说明可能是CMD线正常,DATA线不正常,检查下引脚有没有被复用
回复 支持 反对

使用道具 举报

发表于 2016-8-12 17:18:04 | 显示全部楼层
SD卡的引脚不是随便改的 。。。。建议你看看SD卡的数据手册
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-13 00:00:07 | 显示全部楼层
flyleaf 发表于 2016-8-12 16:35
说明可能是CMD线正常,DATA线不正常,检查下引脚有没有被复用

火哥 程序一直停在这里是为什么啊
1.png
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-13 00:19:59 | 显示全部楼层
flyleaf 发表于 2016-8-12 16:35
说明可能是CMD线正常,DATA线不正常,检查下引脚有没有被复用

停在while循环 中SD卡错误状态返回为SD_DATA_TIMEOUT  这是说明是数据线出了问题吗?
回复 支持 反对

使用道具 举报

发表于 2016-8-13 08:42:32 | 显示全部楼层
滨院小韩 发表于 2016-8-13 00:19
停在while循环 中SD卡错误状态返回为SD_DATA_TIMEOUT  这是说明是数据线出了问题吗?

是不是没有写中断服务函数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-21 23:15:56 | 显示全部楼层
fire 发表于 2016-8-12 10:44
这个应该是改不了的吧,4bit模式只能按照顺序来的吧,而不是随意选四个IO吧

火哥 帮我看一下EMWIN移植中的那个问题呗,刚才发了一个帖子
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 11:10 , Processed in 0.033110 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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