TI中文支持网
TI专业的中文技术问题搜集分享网站

看门狗与定时器冲突

我采用msp430g2533,使用JTAG仿真,现在有个问题,我一直无法解决:定时器采用ACLK时钟,两个中断(2秒溢出中断和30ms的CCRO中断),当不打开看门狗(aclk时钟,1秒)时,中断正常,但是打开看门狗时,30ms的中断变成了2秒,(确定时这样的,我在中断内改变IO口的状态,检查出来的)不知为什么,以前同样的程序用在其它430芯片没发现这个问题

cly0324 cly0324:

void Delay(void) {         uint16 i;         for(i=0xffff;i>0;i–)         {             nop;               nop;               nop;         } }

uint16 i=0,j=0; void main( void ) {     InitPrag();    while(1)                       {                   P2OUT ^= 0X04;                 Delay();                 Delay();                // WDTCTL = WDT_ARST_1000;                  i++;                // _BIS_SR(LPM3_bits + GIE);           // Enter LPM3    }

} void InitPrag(void) {         _DINT();         //WDTCTL = WDT_ARST_1000;          P1DIR = 0Xfc;        P2DIR = 0Xcf;        P1OUT = 0x07;        P2OUT = 0x00;               P1SEL |= BIT1+BIT2;         P1SEL2 |= BIT1+BIT2;                P1IES =0X01;        P1IE = 0X01;         TACTL = TASSEL0+MC1+TAIE+TACLR;         CCTL0 = CCIE;         CCR0 = WorkValue;         _EINT();       //中断允许 } #pragma vector=TIMER0_A0_VECTOR

__interrupt void Timer_A0 (void) {            j++;          P2OUT ^= 0X08;           //_BIC_SR_IRQ(LPM3_bits);     }

#pragma vector=TIMER0_A1_VECTOR

__interrupt void Timer_A1 (void) {           switch( TAIV )         {               case 10:                    Message |= RTC_Flag;                    break;      // overflow               default:               break;         }  _BIC_SR_IRQ(LPM3_bits);  }

kqian0327:

你好,

你的ACLK是否外挂的32768的晶振?

建议你在程序跑起来的时候你在mian进入之后设置断点看是否是因为MCU复位了的原因。

赞(0)
未经允许不得转载:TI中文支持网 » 看门狗与定时器冲突
分享到: 更多 (0)