退出低功耗后的操作

2019-07-19 13:10发布

FR572X系列
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
yszong
1楼-- · 2019-07-19 14:47
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
wyjie
2楼-- · 2019-07-19 17:30
我需要实现RTC唤醒进入LPM3.5的单片机,但是不知道该怎样写,退出后是复位从主程序的开始处执行吗?
#include "driverlib.h"
void main(void)
{
    WDT_A_hold(WDT_A_BASE);//停止看门狗    Gpio_Init();
    Systerm_Clock_Config();
    set_rtc_default();//
    rtc_alarm_set(CALENDAREVENT,defaultTime,RTC_B_CALENDAREVENT_MINUTECHANGE);//设置RTC每分钟的中断事件模式,并开启中断
   RTC_B_startClock(RTC_B_BASE);//开启RTC_B
  while(1)
  {
        Gpio_Init();//初始化I/O口到通用I/O            PMM_lockLPM5();
            PMM_regOff();//关闭核心电压供电模块
            __bis_SR_register(LPM4_bits + GIE);//进入LPM3.5休眠模式
      __no_operation();

  }

}
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=RTC_VECTOR
__interrupt
#elif defined(__GNUC__)
__attribute__((interrupt(RTC_VECTOR)))
#endif
void RTC_B_ISR(void)
{
        switch (__even_in_range(RTCIV, 16)) {
        case 0: break;  //No interrupts
        case 2://RTCRDYIFG
                   //__no_operation();
                   //PMM_regOn();//
                   //__bic_SR_register_on_exit(LPM4_bits);
                   //__bic_SR_register_on_exit(LPM0_bits);
                   break;
        case 4:    //RTCEVIFG
               __bic_SR_register_on_exit(LPM4_bits);//退出LPM4,退出后程序跳到哪里呢?????????我的原来意思是跳到
                break;
        case 6:break;//RTCAIFG
        case 8: break;  //RT0PSIFG
        case 10: break; //RT1PSIFG
        case 12: break; //Reserved
        case 14: break; //Reserved
        case 16: break; //Reserved
        default: break;
        }
}
退出LPM4,退出后程序跳到哪里呢?我的理解是跳到while(1)循环里面的“__bis_SR_register(LPM4_bits + GIE);//进入LPM3.5休眠模式”之后继续执行,是这样吗?
wuhany
3楼-- · 2019-07-19 22:59
 精彩回答 2  元偷偷看……
wyjie
4楼-- · 2019-07-20 02:39
可是我看手册上面说是会引起BOR复位啊?
shimx
5楼-- · 2019-07-20 05:16
:L哪里说得?能否截个图。
shimx
6楼-- · 2019-07-20 07:12
低功耗有多种模式,下一条指令的执行由退出低功耗的方式决定。如果是复位方式,那么程序自然是从起始处开始执行。如果是中断唤醒,那么进入的是中断服务程序,在退出中断后跳转到进入低功耗模式指令的下一条指令处继续运行,除非你的中断程序有特别指定。

一周热门 更多>