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

Timer問題

我最近在研究 CC430F6137的Timer的功能

抓了網路上的範例

我發現到 當程式進入了中斷副程式之後

程式不會再跑回主程式

請問到底是哪裡出了錯誤?

感謝 懇請賜教 

#include "cc430x613x.h"

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
TA1CCTL0 = CCIE; // CCR0 interrupt enabled
TA1CCR0 = 50000;
TA1CTL = TASSEL_2 + MC_2 + TACLR; // SMCLK, contmode, clear TAR

__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, enable interrupts
__no_operation(); // For debugger

}

// Timer A0 interrupt service routine
#pragma vector=TIMER1_A0_VECTOR
__interrupt void TIMER1_A0_ISR(void)
{
P1OUT ^= 0x01; // Toggle P1.0

}

deliang zhang:

中断服务程序中没有退出LMP0;再就是主程序中没有循环

CHUN CHANG:

回复 deliang zhang:

請問要如何退出中斷LMP0?

user47326:

回复 CHUN CHANG:

如果看到P1.0的LED灯会闪烁就表明退出中断。也可以用示波器测量P1.0 端口的电平变化。那个程序在仿真器调试时可能确实看不出光标停留在那个位置。

CHUN CHANG:

回复 Bruce Wei:

感謝Billy的幫忙 解決了我的問題 謝謝 

CHUN CHANG:

回复 user47326:

好 我們會試試看 謝謝

赞(0)
未经允许不得转载:TI中文支持网 » Timer問題
分享到: 更多 (0)