专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
美光emmc初始化失败
2019-07-20 00:50
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
13315
5
1422
各位好,
这两天正在调试美光的emmc(MTFC4GACAAAM-4M);发现一直驱动不起来,以前没使用过emmc,对emmc的初始化流程也不甚了解,在网上找了些资料,但是很少又很零碎;哪位有相关资料能分享下吗?多谢
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
yanzhongsan
1楼-- · 2019-07-20 04:52
本帖最后由 yanzhongsan 于 2016-12-17 16:45 编辑
刚发的不见了,不知道是触犯了规则被管理员删了还是怎么回事
do {
sdio_cmdinitstructure.Argument = 0;
sdio_cmdinitstructure.CmdIndex = SD_CMD_SEND_OP_COND;
sdio_cmdinitstructure.Response = SDIO_RESPONSE_SHORT;
sdio_cmdinitstructure.WaitForInterrupt = SDIO_WAIT_NO;
sdio_cmdinitstructure.CPSM = SDIO_CPSM_ENABLE;
SDIO_SendCommand(hsd->Instance, &sdio_cmdinitstructure);
errorstate = SD_CmdResp3Error(hsd);
count++;
if (SD_OK == errorstate) {
response = SDIO_GetResponse(SDIO_RESP1);
}
HAL_Delay(1);
} while ((count < SD_MAX_VOLT_TRIAL) && (0 == (response & 0x80000000)));
程序会陷在这里执行直到cout超出最大值,而response 的值始终为0x00ff8080;参考网上的一份代码将sdio_cmdinitstructure.Argument改为0x40FF8080,也是一样的效果,改成0xC0FF8080也一样,哪位高手能指点下为什么吗?是哪里有问题,从数据手册看应该返回0xC0FF8080才对,最高位为0表示未完成power up
加载中...
正点原子
2楼-- · 2019-07-20 10:45
精彩回答 2 元偷偷看……
加载中...
hbyue
3楼-- · 2019-07-20 13:24
楼主,镁光emmc调通了吗?
加载中...
hbyue
4楼-- · 2019-07-20 14:35
这个调通了,只是参数寄存器设置0x40FF8080或0xC0FF8080都可以
加载中...
LinXi6
5楼-- · 2019-07-20 18:20
精彩回答 2 元偷偷看……
加载中...
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
刚发的不见了,不知道是触犯了规则被管理员删了还是怎么回事
do {
sdio_cmdinitstructure.Argument = 0;
sdio_cmdinitstructure.CmdIndex = SD_CMD_SEND_OP_COND;
sdio_cmdinitstructure.Response = SDIO_RESPONSE_SHORT;
sdio_cmdinitstructure.WaitForInterrupt = SDIO_WAIT_NO;
sdio_cmdinitstructure.CPSM = SDIO_CPSM_ENABLE;
SDIO_SendCommand(hsd->Instance, &sdio_cmdinitstructure);
errorstate = SD_CmdResp3Error(hsd);
count++;
if (SD_OK == errorstate) {
response = SDIO_GetResponse(SDIO_RESP1);
}
HAL_Delay(1);
} while ((count < SD_MAX_VOLT_TRIAL) && (0 == (response & 0x80000000)));
程序会陷在这里执行直到cout超出最大值,而response 的值始终为0x00ff8080;参考网上的一份代码将sdio_cmdinitstructure.Argument改为0x40FF8080,也是一样的效果,改成0xC0FF8080也一样,哪位高手能指点下为什么吗?是哪里有问题,从数据手册看应该返回0xC0FF8080才对,最高位为0表示未完成power up
一周热门 更多>