[示例代码] 如何使用RTC运行在低功耗停止模式和待机模式

[复制链接]
1466|0
 楼主| hudi008 发表于 2022-10-26 22:08 | 显示全部楼层 |阅读模式
KF32L/LS 提供多种模式供用户在不同工作场景下使用。包含两种运行模式、两
种休眠模式及三种低功耗模式。
KF32L/LS 提供用户实时时间以及日历信息的高精度实时时钟。
本应用笔记将以 KF32L530 为例介绍如何配置进入低功耗停止模式和待机模式。
本应用笔记使用的 KF32 IDE 与 KF32Lxxx 外设固件库及代码例程可以从 ChipON
官方网站 www.chipon-ic.com 下载。
Github:https://github.com/ChipON-FAE-AE
Gitee:https://gitee.com/Cucoo/BSP



  1. /* MCU运行所需头文件 */
  2. #include "system_init.h"
  3. /* 功耗管理所需头文件 */
  4. #include "PowerManger.h"

  5. /* 调用外部函数 */
  6. extern void startup();

  7. void main()
  8. {       
  9. /* 备份域使能 */
  10. SystemBKPEnable();       
  11. if (Query_System_PowerOn_State() == TRUE)
  12. {
  13. /* 系统时钟配置 */
  14. SystemInit();
  15. /* RAM初始化 */
  16. startup();
  17. /* 写入上电标志 */
  18. Write_SystemPowerOn_State();
  19. /* standby模式配置,使能节拍中断 */
  20. System_Standby_Configuration();
  21. System_GotoSleep();
  22. }
  23. else
  24. {
  25. INT_All_Enable(FALSE);        //关闭系统总中断
  26. INT_Interrupt_Enable(INT_EINT19TO17, FALSE); //关闭RTC节拍中断
  27. SFR_CLR_BIT_ASM(PM_CTL2, PM_CTL2_RTCTPEN_POS);
  28. SFR_CLR_BIT_ASM(PM_CTL2, PM_CTL2_RTCTWEN_POS);
  29. /* 系统时钟配置 */
  30. SystemInit();
  31. /* RAM初始化 */
  32. startup();
  33. }       
  34. while(1)
  35. {
  36. /* do something...
  37. ...
  38. */
  39. System_GotoSleep();
  40. }       
  41. }


您需要登录后才可以回帖 登录 | 注册

本版积分规则

253

主题

9898

帖子

11

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