[STM32C0] 如何从standby或者shutdown中唤醒

[复制链接]
1963|20
 楼主| lulugl 发表于 2023-4-5 20:50 | 显示全部楼层 |阅读模式
本帖最后由 lulugl 于 2023-4-6 06:40 编辑

在文档 RM0490  Reference manual 《STM32C0x1 advanced Arm®-based 32-bit MCUs》手册中22.5中手册描述RTC 中断是不能唤醒 standby或者shutdown的: 71981642d6977567b0.png
早上又阅读了文档UM3029《 Description of STM32C0 HAL and low-layer drivers》其中第274页有说明:
  1. Standby mode
  2. • Entry:
  3. – The Standby mode is entered through HAL_PWR_EnterSTANDBYMode() API, by setting SLEEPDEEP
  4. in Cortex control register.
  5. • Exit:
  6. – WKUP pin edge detection, RTC event (alarm, timestamp), LSE CSS detection, reset on NRST pin,
  7. IWDG reset & BOR reset.
  8. Exiting Standby generates a power reset: Cortex is reset and execute Reset handler vector, all registers in the
  9. Vcore domain are set to their reset value. Registers outside the VCORE domain (RTC, WKUP, IWDG, and
  10. Standby/Shutdown modes control) are not impacted.
  11. Shutdown mode
  12. In Shutdown mode, voltage regulator is disabled, all clocks are off except LSE, RRS bit is cleared. SRAM and
  13. registers contents are lost except for backup domain registers.
  14. • Entry:
  15. – The Shutdown mode is entered through HAL_PWREx_EnterSHUTDOWNMode() API, by setting
  16. SLEEPDEEP in Cortex control register.
  17. • Exit:
  18. – WKUP pin edge detection, RTC event (alarm, timestamp), LSE CSS detection, reset on NRST pin.
  19. Exiting Shutdown generates a brown out reset: Cortex is reset and execute Reset handler vector, all registers are
  20. set to their reset value but ones in backup domain.
两个模式都注明了RTC event是可以退出的。是不是两个文档有冲突呀。
MessageRing 发表于 2023-4-5 22:29 | 显示全部楼层
只知道用外部中断唤醒
 楼主| lulugl 发表于 2023-4-5 22:59 | 显示全部楼层
MessageRing 发表于 2023-4-5 22:29
只知道用外部中断唤醒

用RTC可以自唤醒,可是功耗降不下来。
forgot 发表于 2023-4-6 10:49 | 显示全部楼层
待机模式唤醒只有4种:外部复位、IWDG复位、WKUP引脚上的上升沿或RTC闹钟事件的上升沿。

---------------------

作者:forgot

链接:https://bbs.21ic.com/icview-3282280-1-1.html

来源:21ic.com

此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。
forgot 发表于 2023-4-6 10:50 | 显示全部楼层
楼主可以参考一下,不过是F系列的,RTC是可以唤醒的,我实际用过的
 楼主| lulugl 发表于 2023-4-6 14:03 | 显示全部楼层
forgot 发表于 2023-4-6 10:49
待机模式唤醒只有4种:外部复位、IWDG复位、WKUP引脚上的上升沿或RTC闹钟事件的上升沿。

---------------- ...

非常感谢,我试试看看。
 楼主| lulugl 发表于 2023-4-6 14:04 | 显示全部楼层
forgot 发表于 2023-4-6 10:50
楼主可以参考一下,不过是F系列的,RTC是可以唤醒的,我实际用过的

我看了两个文档,描述各不相同。
Dick Hou 发表于 2023-4-6 15:16 | 显示全部楼层
肯定以手册为准,手册没有错,分析一下就知道原因了。

C0的RTC根本不在VBAT区域,它没有VBAT,是和内部CORE电压一样,STANDBY/SHUTOFF模式内部LDO都关了,哪还有RTC?
Dick Hou 发表于 2023-4-6 15:17 | 显示全部楼层
forgot 发表于 2023-4-6 10:50
楼主可以参考一下,不过是F系列的,RTC是可以唤醒的,我实际用过的

想当然了。
xch 发表于 2023-4-6 15:33 | 显示全部楼层
没冲突。ST 的 STM32C 系列没出齐。 有支持低功耗唤醒的mcu ,快出来了。
 楼主| lulugl 发表于 2023-4-6 15:56 | 显示全部楼层
Dick Hou 发表于 2023-4-6 15:16
肯定以手册为准,手册没有错,分析一下就知道原因了。

C0的RTC根本不在VBAT区域,它没有VBAT,是和内部COR ...

那就可以放弃从RTC唤醒了,看来还得从外部中断想办法。这没有RTC唤醒,有点小麻烦了。
xxrs 发表于 2023-7-4 20:29 | 显示全部楼层

只知道用外部中断唤醒
dengdc 发表于 2023-7-4 20:31 | 显示全部楼层
待机模式唤醒只有4种:外部复位、IWDG复位、WKUP引脚上的上升沿或RTC闹钟事件的上升沿。
heweibig 发表于 2023-7-4 20:33 | 显示全部楼层
楼主可以参考一下,不过是F系列的,RTC是可以唤醒的,我实际用过的
wuhany 发表于 2023-7-4 20:34 | 显示全部楼层
两个文档,描述各不相同。
huangchui 发表于 2023-7-4 20:36 | 显示全部楼层
肯定以手册为准,手册没有错,分析一下就知道原因了。
jiajs 发表于 2023-7-4 20:37 | 显示全部楼层
C0的RTC根本不在VBAT区域,它没有VBAT,是和内部CORE电压一样,STANDBY/SHUTOFF模式内部LDO都关了,哪还有RTC?
zhanghqi 发表于 2023-7-4 20:38 | 显示全部楼层
heweibig 发表于 2023-7-4 20:33
楼主可以参考一下,不过是F系列的,RTC是可以唤醒的,我实际用过的

想当然了。
zhenykun 发表于 2023-7-4 20:40 | 显示全部楼层
没冲突。ST 的 STM32C 系列没出齐。 有支持低功耗唤醒的mcu
AloneKaven 发表于 2023-7-5 19:41 | 显示全部楼层
RTC应该是可以唤醒的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

188

主题

844

帖子

12

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