这个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-25 00:39
< :TI_MSP430_内容页_SA7 --> TACTL=TASSEL_2 + MC_1; 这个是TIMERA的UP模式 当计数器记到CCR0时引发中断进入中断服务程序,,,,这里理解错了,,这个是寄存器设置与程序运行过程无关。

一周热门 更多>

相关问题

    相关文章