各位:我刚提出的问题就有朋友回复了,谢谢!但是,我得到一个 TI 的程序如下,也不能中断。
#include "msp430x21x2.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
TACTL = TASSEL_2 + MC_3 + TAIE; // ACLK, contmode, interrupt
__bis_SR_register(GIE); // Enter LPM3 w/ interrupt
while(1);
}
// Timer0_A1 Interrupt Vector (TA0IV) handler
#pragma vector=TIMER0_A1_VECTOR
__interrupt void Timer0_A1(void)
{
switch (__even_in_range(TAIV, 10)) // Efficient switch-implementation
{
case 2: break; // TACCR1 not used
case 4: break; // TACCR2 not used
case 10: P1OUT ^= 0x01; // overflow
break;
}
}
我的问题是:我的IAR是在simulator模式,是不是在simulator模式就不能响应中断?这和keil是不同的!
Young Hu:
zhi chen,
您好,
你没有硬件开发板?我没有用过simulator模式。个人认为在simulator模式,没有硬件支撑,对于TimerA这种外设不会支持的。
Peter_Zheng:
simulator模式下是不能响应中断。这个代码已经在实验班上测过可用。