[STM32L4] 低功耗模式唤醒后SPI死机,只有重启能恢复

[复制链接]
118|19
Bblythe 发表于 2025-11-4 07:21 | 显示全部楼层 |阅读模式
进入STOP模式后再唤醒,SPI总线完全没反应。重新初始化也不行,只有复位芯片才恢复。像是SPI外设状态寄存器没清干净。查了手册没发现明显提示。
Clyde011 发表于 2025-11-4 07:25 | 显示全部楼层
L4的低功耗机制确实容易“卡外设”。
公羊子丹 发表于 2025-11-4 07:26 | 显示全部楼层
L4系列低功耗唤醒后SPI要重新enable一下。
周半梅 发表于 2025-11-4 07:26 | 显示全部楼层
可能是时钟域没重新连接上。
帛灿灿 发表于 2025-11-4 07:27 | 显示全部楼层
你用的是硬件NSS还是软件控制?
童雨竹 发表于 2025-11-4 07:28 | 显示全部楼层
我以前用STOP2遇到过一模一样的情况。
万图 发表于 2025-11-4 07:30 | 显示全部楼层
我怀疑是外设寄存器锁死在BUSY状态。
Wordsworth 发表于 2025-11-4 07:31 | 显示全部楼层
试试先disable SPI再重新init。
 楼主| Bblythe 发表于 2025-11-4 07:32 | 显示全部楼层
我感觉HAL库的恢复函数写得不太完善。
Pulitzer 发表于 2025-11-4 07:33 | 显示全部楼层
可以在STOP前手动关闭SPI模块。
Uriah 发表于 2025-11-4 07:33 | 显示全部楼层
也有可能是电源域D2没完全唤醒。
classroom 发表于 2025-11-4 16:40 | 显示全部楼层
唤醒后必须重新使能时钟并执行硬件复位。
elephant00 发表于 2025-11-4 16:42 | 显示全部楼层
SPI外设状态寄存器可能未正确恢复
cr315 发表于 2025-11-4 17:40 | 显示全部楼层
完全重新初始化 SPI 外设
duo点 发表于 2025-11-4 17:41 | 显示全部楼层
升级STM32L4的HAL库或固件包
flycamelaaa 发表于 2025-11-4 18:43 | 显示全部楼层
进入低功耗模式前,SPI引脚可能未被正确配置为模拟输入模式,导致唤醒后引脚状态异常。
jcky001 发表于 2025-11-4 19:44 | 显示全部楼层
进入低功耗模式时,可能未正确配置SPI的时钟源或时钟分频器,导致唤醒后SPI时钟异常。
onlycook 发表于 2025-11-4 19:44 | 显示全部楼层
进入低功耗模式前,将SPI引脚配置为模拟输入模式
powerantone 发表于 2025-11-4 20:50 | 显示全部楼层
检查重新配置时钟
probedog 发表于 2025-11-4 21:51 | 显示全部楼层
在唤醒后完全禁用SPI外设重新初始化
您需要登录后才可以回帖 登录 | 注册

本版积分规则

182

主题

6340

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部