STM32
直播中

李欢

8年用户 1144经验值
私信 关注
[问答]

STM32L4 SDIO4线制不能初始化成功的原因?

STM32L4,用CUBEMX生成代码,用了FREERTOS,SDIO DMA,FATFS,SDIO 4线制,FATFS,MSC
BOOTLOADER:裸机,未用DMA,SDIO 用的4线制,用了FATFS,用了USB DEVICE MSC,功能正常,能正常跳转到APP1,库版本为STM32Cube_FW_L4_V1.15.1
APP1:用了FREERTOS,EMWIN,SDIO DMA,FATFS,SDIO 4线制,USB做了主从一体功能,USB DEVICE MSC,USB HOST MSC,功能正常,电脑上也出盘符,能正常跳转到APP2,库版本为STM32Cube_FW_L4_V1.15.1
APP2:用了FREERTOS,,EMWIN,SDIO DMA,FATFS,SDIO 4线制不能初始化成功,1线制能初始化成功,USB DEVICE MSC,功能正常,库版本为STM32Cube_FW_L4_V1.15.1
如果用库版本STM32Cube_FW_L4_V1.17.2,三个程序都用1线制才行,而且APP1的USB DEVICE MSC不正常,电脑上不出盘符。
跳转时,所以外设都重置了的。



回帖(1)

剑寒九州

2024-3-15 15:22:07
有几种可能导致SDIO 4线制无法成功初始化:

1. 电路连接错误:请确保SDIO接口的引脚连接正确,包括时钟线、命令线、数据线和电源线。

2. 时钟设置错误: SDIO需要一个稳定的时钟源来进行数据传输。请确保SDIO的时钟源设置正确,例如使用正确的PLL时钟。

3. SDIO时序设置错误: SDIO接口的时序设置非常重要。请确保SDIO的时序参数(例如时钟频率、数据传输速率、等待时间)设置正确,以便兼容SD卡的要求。

4. DMA设置错误: 如果使用了SDIO DMA功能,请确保DMA设置正确,包括DMA通道选择、传输方向和数据对齐等。

5. SDIO驱动程序问题: 有些情况下,驱动程序可能存在问题。请确保使用的是最新版本的驱动程序,并尝试重新生成代码以更新驱动程序。

6. SD卡问题:有时,SD卡本身可能存在问题,例如损坏或不兼容。请尝试使用另一个SD卡来验证问题是否与SD卡相关。

如果以上方法仍然无法解决问题,请尽量提供更具体的错误信息或调试信息,以便能够更准确地定位问题所在。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分