
请问,通过上述代码进入shutdown模式,偶尔会出现进入失败的情况,现象是功耗没有降下去,并且IO口没有被重置,我在进入之前进行了systick关闭和全部中断的禁用,我确认PWR->BDCR1中的PWR_BDCR1_BREN位是0,并且清除了全部的唤醒标志,还给了一定的延时。 |
STM32U5 IWDG的提前唤醒中断无法在STOP模式下触发
CUEBIDE生成的APP程序,在写入FLASH之后无法正常跳转。
有关Cubeide IAP 问题
求助,移植touchgfx之后stm32不运行程序。
求助,移植touchgfx之后stm32不运行程序,keil进入debug倒是可以手动运行
Cubeide1.18.1在线调试改变"现场表达式"中的值提示找不到地址
STM32U5+8bit_8080 LCD ,怎么配置touchgfx。
STM32U5 QSPI
stm32cubeide中如何查看版本日志?
最新版STM32CubeIDE无法安装
确认一下唤醒引脚的电平是否发生变化;有没有收到外界干扰
我在猜想,会不会是程序偶尔跑飞导致进入Shutdown模式的代码没有被执行呢?
至于为什么跑飞----
使用未初始化的指针或者越界访问,导致非法内存访问?
堆栈溢出?
代码逻辑错误或未处理的异常情况,导致程序跑飞或卡死在某处?
硬件故障或电源不稳定,导致程序异常?
程序跑飞确实猜测过,不过我通过调试发现,仅在执行HAL_PWREx_EnterSHUTDOWNMode();接口函数时才可能出现问题,出现问题后CUBEIDE会提示Break at address "0xdeadbeee" with no callstack information available, or outside of program code. 目前我正在排查外部干扰等因素,也在尝试使用最小系统板进行测试。
好的,正在排查
[md]嗯 似乎提示程序运行进入了一个无效状态,更像是发生了非法访问。
可以尝试逐一停止外设,清除事件位,关闭外设,再进入低功耗模式看看
因为我是从LPBAM中中断退出,然后进行一些业务逻辑处理后再进入shutdown模式,会出现可能进入shutdown模式失败的情况,所以我着重看了LPBAM的相关内容,现已查明原因:LPBAM中我使用了两个定时器和由定时器触发的DAC,通过添加DAC关闭的代码,解决了此问题。