肯请高手解释msp430这段c语言的程序

来源:百度知道 编辑:UC知道 时间:2024/06/17 06:18:03
#include <msp430x44x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
TACTL = TASSEL0 + TACLR; // ACLK, clear TAR
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 16384;
P5DIR |= 0x02; // Set P5.1 to output direction
TACTL |= MC0; // Start Timer_a in upmode
_EINT(); // Enable interrupts

for (;;)
{
_BIS_SR(CPUOFF); // CPU off
_NOP(); // Required only for C-spy
}
}

// Timer A0 interrupt service routine
interrupt[TIMERA0_VECTOR] void Timer_A (void)
{
P5OUT ^= 0x02; // Toggle P5.1 using exclusive-OR
}

该程序为何运行后 Timer-a 计数器TAR 值始终为 0
就是说 TImer_A根本就没有开启在计数。。。?
为什么啊 我用的是例程啊

对的 你的程序是没有问题的 那就是硬件问题

ta用的是ACLK 看看你的32k晶振接了没 有没有起振

还有就是32k晶振的两个管脚是不允许接电容的 因为430的内部已经集成 还有要看看你的32k晶振的那两个管脚是否还接有其他的电路 如果实在还是不行 就换晶振试试 肯定可以解决问题的 祝你好运!