Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 3634

请问MSP430F5529,LPM3睡眠后,RTC中断里未唤醒前的代码是由谁执行的?

$
0
0

代码示例:(环境是IAR,红色部分代码是由谁执行的?CPU吗?(好像只能是CPU)时钟用的是ACLK?)现在的测试情况是:P2^1每秒反转一次,整个系统每4秒唤醒一次

//RTC中断
#pragma vector = RTC_VECTOR
__interrupt void RTC_ISR(void)
{
switch (__even_in_range(RTCIV, RTC_RT1PSIFG))
{
// Vector RTC_NONE: No Interrupt pending
case RTC_NONE:
break;

// Vector RTC_RTCRDYIFG: RTC ready
case RTC_RTCRDYIFG://1秒钟一个中断,可读中断

P2OUT ^= BIT1;

if(RTCSEC%4 == 2)//间隔4秒钟条件成立一次,退出LPM3

{
para.U4SFlag = 1;
__bic_SR_register_on_exit(LPM3_bits);
}
break;

// Vector RTC_RTCTEVIFG: RTC interval timer
case RTC_RTCTEVIFG://00——1分钟一个中断或者01——1个小时或02——Every day at midnight (00:00)或03——Every day at noon (12:00)
para.timeflag = 1;
__bic_SR_register_on_exit(LPM3_bits);
break;

// Vector RTC_RTCAIFG: RTC user alarm
case RTC_RTCAIFG://闹钟中断,可设
break;

// Vector RTC_RT0PSIFG: RTC prescaler 0
case RTC_RT0PSIFG://7.8ms一个中断128Hz,可设,改变分频RT0IP_0...7,基于32768Hz
break;

// Vector RTC_RT1PSIFG: RTC prescaler 1
case RTC_RT1PSIFG: //0.5秒一个中断,可设,改变分频RT1IP_0...7,基于RT0
break;
default:

break;
}
}


Viewing all articles
Browse latest Browse all 3634

Trending Articles