ch32v307使用sdio例程驱动sd卡初始化卡死

测试用的sd卡类型应该是SDHC V2.0,不对例程改动的话程序在SD_Init函数中会卡在errorstatus = SD_EnableWideBusOperation( 1 )的位置,如果把该行注释掉的话能够正常识别卡,该函数注释掉是否会影响sd卡读写速度。而且注释掉这行后显示sd卡初始化成功,也能读出卡容量,但是读写测试失败。

您好,SD_EnableWideBusOperation(1)作用主要是将数据总线配置成4位,可以不用注释。若卡死在该位置,可进调试看一下具体是卡死在函数中的哪个位置。此外,SD卡可格式化一下再试试。若使用我们的评估板,注意评估板上的电阻R7要去掉。此外,SDIO引脚要注意接上拉。此外,可检查一下工程文件的配置是否都是正确。后面问题可邮箱(lzs@wch.cn)和我具体沟通一下


找到原因了,发现原理图上以太网PHY的TXP TXN是PC8 PC9,与SDIO引脚冲突,把PC8 PC9从网口变压器断开就可以成功初始化tf卡了。


只有登录才能回复,可以选择微信账号登录