请问,通过上述代码进入shutdown模式,偶尔会出现进入失败的情况,现象是功耗没有降下去,并且IO口没有被重置,我在进入之前进行了systick关闭和全部中断的禁用,我确认PWR->BDCR1中的PWR_BDCR1_BREN位是0,并且清除了全部的唤醒标志,还给了一定的延时。 |
关于加密环境下使用STM32CubeIDE for VSCode的问题
STM32U575VGT6在cubeMX中没有FATFS中间件,是不支持?还是待开发?现在这块板子使用FATFS只能自己手动移植吗?
怎么将keil工程更换为vscode工具链?
STM32CubeIDE for VS Code使用问题咨询?
感谢大佬的指点,问题解决
H7demo板下载点灯没反应
IDE下载程序问题
更新了一下VScode,ST最新版本是3.6.4
STM32CubeID V1.19.0 无法识别串口设备
cubeIDE编译后如何能把部分代码存放到内部Flash,剩下的存放在外部Flash?
微信公众号
手机版
确认一下唤醒引脚的电平是否发生变化;有没有收到外界干扰
我在猜想,会不会是程序偶尔跑飞导致进入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关闭的代码,解决了此问题。