打印
[APM32F1]

采用RTC闹钟中断的方式对F103的StandBy模式进行唤醒

[复制链接]
681|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#申请原创# 本次测试使用的APM32F103VC_MINI板子,该款芯片支持睡眠、停止和待机三种低功耗模式。下面以 StandBy 模式也就是待机模式为例进行组件的使用分析,唤醒方式采用 RTC闹钟中断的方式进行唤醒。

APM32F103 待机模式介绍:
  APM32F103待机模式的各种特性如下所示。在待机模式下除了关闭所有的时钟,还把 1.2V 区域的电源区也完全关闭了,也就是说,从待机模式唤醒后,由于没有之前代码的运行备份,相当于对芯片复位,重新检测 boot 条件,从头开始执行程序。唤醒方式有WKUP 引脚的上升
沿、RTC 闹钟事件、NRST 引脚上的外部复位,IWDT复位,下面来看下RTC闹钟事件是如何唤醒的。


实验设计:
MCU启动后让LED2闪烁,然后延时4s后时钟闹钟唤醒时间,发生唤醒时间后唤醒MCU并点亮LED3。

1、相关时钟的初始化,以及LED的初始化。
 int i =0;
    RCM_EnableAPB1PeriphClock((RCM_APB1_PERIPH_T)(RCM_APB1_PERIPH_PMU | RCM_APB1_PERIPH_BAKR));

    APM_MINI_LEDInit(LED2);
    APM_MINI_LEDInit(LED3);
    APM_MINI_LEDOff(LED2);
    APM_MINI_LEDOff(LED3);
    SysTick_Init();   //LED2闪烁
void SysTick_Handler(void)
{
    APM_MINI_LEDToggle(LED2);
}

2、RTC初始化
    PMU_EnableBackupAccess();
    RTC_Init();
3、 通过SB**判断是上电复位还是RTC闹钟事件,如果是中STAND_BY唤醒则点亮LED3
void RTC_Init(void)
{
          
    if(PMU_ReadStatusFlag(PMU_FLAG_SB) == SET) //从standby模式唤醒
    {
        APM_MINI_LEDOn(LED3);

        PMU_ClearStatusFlag(PMU_FLAG_SB);

        RTC_WaitForSynchro();
    }
    else                               //上电复位
    {
        BAKPR_Reset();

        RCM_ConfigLSE(RCM_LSE_OPEN);
        while(RCM_ReadStatusFlag(RCM_FLAG_LSERDY) == RESET);
        RCM_ConfigRTCCLK(RCM_RTCCLK_LSE);
        RCM_EnableRTCCLK();

        RTC_WaitForSynchro();
        RTC_ConfigPrescaler(32767);
        RTC_WaitForLastTask();
    }
}
4、延时4s,然后进入STAND_BY模式
    for(i=0;i<=0x1ffffff;i++); //延时4s

                RTC_ConfigAlarm(RTC_ReadCounter()+ 3);
                RTC_WaitForLastTask();

                PMU_EnterSTANDBYMode();

有兴趣的小伙伴,也来测试一下吧~

PMU_Standby.rar

2.68 MB

使用特权

评论回复
沙发
pl202| | 2022-12-1 17:04 | 只看该作者
RTC的可以进入哪个模式的低功耗呢?

使用特权

评论回复
板凳
kkzz| | 2022-12-1 18:07 | 只看该作者
rtc唤醒可以网络唤醒吗                 

使用特权

评论回复
地板
wilhelmina2| | 2022-12-1 18:27 | 只看该作者
待机模式是功耗最低的一种模式。RTC的精度怎么样?

使用特权

评论回复
5
1988020566| | 2022-12-1 19:13 | 只看该作者
这个串口怎么唤醒单片机呢?              

使用特权

评论回复
6
10299823| | 2022-12-1 20:34 | 只看该作者
中断唤醒和rtc唤醒什么区别?   

使用特权

评论回复
7
bestwell| | 2022-12-1 21:15 | 只看该作者
RTC能产生毫秒级的中断吗               

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

14

帖子

1

粉丝