cancel
Showing results for 
Search instead for 
Did you mean: 

Write sd timeout,the restart code does not take effect

丶Kaitou
Associate

原因是 HAL 库的更新导致了 SD 卡问题,重启后导致 bus_hault。只有当出现读/写问题时,才会重启 SD 卡,reset 是 deinit 然后 init。

Kaitou_0-1744599504943.png

后来发现 DPSM 是无法解释的设置,导致驱动认为 fifo 中有数据直接读取,但数据程序被写入 DPSM 配合SDMMC_CK。

然后我更改了驱动程序代码以似乎解决了该问题,并且重新启动代码在 deinit 和 init 之前添加了 abort

Kaitou_1-1744599607951.pngKaitou_2-1744599618846.png

1、为什么SD卡经常出错,是不是时钟波形引起的?DPSM是这个波形设置错误吗?

我把频率调到 4M,但是 Voltage 过冲很大

Kaitou_3-1744599724968.png

黄色为 CK,粉红色为 3.3V 电压

Kaitou_4-1744599823229.png

2、重启代码不生效,有没有办法不重启MCU就软重启SD卡?

1 REPLY 1
Saket_Om
ST Employee

Hello @丶Kaitou 

Please re-write your post in English.

If your question is answered, please close this topic by clicking "Accept as Solution".

Thanks
Omar