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

关于定时器TA1CCR0初值设置问题

Other Parts Discussed in Thread:MSP430F6779

芯片型号:MSP430F6779

我在TI官网下载的官方例程,在调试定时器时,发现对TA1CCR0初值发生改变时程序就无法运行。这里50000是官方的设置

但是当我改成10000时就无法实现LED闪烁。

Susan Yang:

我会在测试后给您回复

,

user6380774:

好嘞,多谢您啦

,

Susan Yang:

我的测试代码如下,可以闪烁

#include <msp430.h>int main(void)
{WDTCTL = WDTPW + WDTHOLD;// Stop WDTP1DIR |= 0x01;// P1.0 outputTA1CCTL0 = CCIE;// CCR0 interrupt enabledTA1CCR0 = 10000;TA1CTL = TASSEL_2 + MC_2 + TACLR;// SMCLK, contmode, clear TAR__bis_SR_register(LPM0_bits + GIE);// Enter LPM0, enable interrupts__no_operation();// For debugger
}// Timer1 interrupt service routine
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=TIMER1_A0_VECTOR
__interrupt void TIMER1_A0_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(TIMER1_A0_VECTOR))) TIMER1_A0_ISR (void)
#else
#error Compiler not supported!
#endif
{P1OUT ^= 0x01;// Toggle P1.0//TA1CCR0 += 50000;// Add Offset to CCR0
}

,

user6380774:

您好,按照TA1CTL = TASSEL_2 + MC_2 + TACLR; 确实可以闪烁,但我现在是增计数模式,不应该设置为TA1CTL = TASSEL_2 + MC_1 + TACLR; 吗?

,

Susan Yang:

增计数模式,设置为TA1CTL = TASSEL_2 + MC_1 + TACLR;

“当我改成10000时就无法实现LED闪烁。”

其实这时候LED也是在闪烁的,但是由于人体的视觉残留,所以感觉是常亮的。您可以将其设置为20000,而后设置为15000来感受一下

,

user6380774:

您好,我刚刚试验了一下,确实是这样效果,非常感谢您的帮助!

,

Susan Yang:

很高兴能帮到您

赞(0)
未经允许不得转载:TI中文支持网 » 关于定时器TA1CCR0初值设置问题
分享到: 更多 (0)