请问,通过上述代码进入shutdown模式,偶尔会出现进入失败的情况,现象是功耗没有降下去,并且IO口没有被重置,我在进入之前进行了systick关闭和全部中断的禁用,我确认PWR->BDCR1中的PWR_BDCR1_BREN位是0,并且清除了全部的唤醒标志,还给了一定的延时。 |
update STM32cubeide 到2.0.0版本,找不到pinout view了!? 哪里出错了??
STM32CubeIDE release v2.0.0更新了
cubeide的代码怎么编译到内部+外部FLASH里面去
CubeIDE2.0.0更新无法打开.ioc文件
有没有大佬更新了CubeIDE2.0.0,在软件内更新后体积大了一倍
有人用过正式版的STM32CubeIDE for Visual Studio Code了吗?
STM32CUBE调试中出现没有 “uwTickPrio() at 0x20000004” 对应的源文件
在STM32CUBEIDE中配置完以后直接编译然后再运行出现《没有 “_end() at 0x20000108” 对应的源文件》
在STM32CUBEIDE中配置完以后直接编译出现《没有 “huart2() at 0x20000108” 对应的源文件》
关于加密环境下使用STM32CubeIDE for VSCode的问题
微信公众号
手机版
确认一下唤醒引脚的电平是否发生变化;有没有收到外界干扰
我在猜想,会不会是程序偶尔跑飞导致进入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关闭的代码,解决了此问题。