这个430的中断是怎么进行的?

2019-03-24 15:37发布

#include "msp430x14x.h"
void main( void )
{
WDTCTL = WDTPW + WDTHOLD;
P2DIR |=BIT0;
_EINT();
TACCTL0=CCIE;
CCR0=500;
TACTL=TASSEL_2 + MC_1;
LPM0;
}
#pragma vector=TIMERA0_VECTOR
__interrupt void TIMER_A(void)
{
P2OUT ^=BIT0;
CCR0+= 500; } 这是一个通过TIMERA来让 LED闪烁的程序 现在有些不明白中断是怎么进行的 TACTL=TASSEL_2 + MC_1; 这个是TIMERA的UP模式 当计数器记到CCR0时引发中断进入中断服务程序 但是返回时 是到哪?是继续执行 TACTL=TASSEL_2 + MC_1;? 还有为什么我删去 LPM0;这句 程序就跑不通了? 本人初学430 苦于没人交流有 希望大家帮一把

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
aahellaa
2019-03-24 21:05
LPM0是休眠状态,相当于while(1);
系统进入等待状态,一旦中断,进入工作状态,
如果取消的话,程序直接结束了。。所以。。

一周热门 更多>

相关问题

    相关文章