|
发表于 2021-1-19 00:08:30
|
显示全部楼层
由于今天手头没有USB-》TTL的模块,暂时没有测试版主说的“原版程序+串口1”的模式。自己认为只是改了液晶部分,所有在等串口转接板的过程中,手发痒,想自己尽量解决问题。在测试中发现实际由于我的学艺不精,对CMD55+CMD41,循环做了胡乱修改,导致没有实际检测到CMD41的“上电正常”的信息,就进入到了CMD2中。重新改回原始程序中“CMD55+CMD41”的0xFFFF循环中。发现CMD41后,接收到的一直是0xFF8000。仍然不得其门而入!在此过程中,对F499处理器SDIO部分有了更深的了解,不过在SDIO的寄存器描述上,感觉我自己理解的还是有些吃力。MMC_CARDSEL中的“位5:0”所提到的1MHz=Fpclk/((mmc_cardssel[5:0]+1)*2),究竟如何理解。看例程中,没有对[5:0]进行更改,默认时00000,套入“1MHz=Fpclk/((mmc_cardssel[5:0]+1)*2)”,究竟是多少?Fpclk,究竟是多少。还有,“MMC_CTRL”中的“位5:3”,SD/MMC/SDIO端口时钟CLK速率选择位,例程中,设置的是111,也就是1/16 base clock,那究竟base clock,是多少呢?
资料上说,SD卡初始化过程中,时钟要保持到400KHz以内。我属于有病乱投医,不知道目前卡死在CMD41,与所谓的400KHz有关吗? |
|