|
449 mcu ,timer_a 工作在比较模式下. MCLK 设置为1M,,, SMCLK 也是1.04MHz.
ACLK 为.32.768khz. 当我将 CCR0=1 之后. TAR 从0 到1..然后中断.
在中断里面 翻转P1.2 端口的输出...发现 高电平 宽度为 14.3 uS ?? 奇怪.这不对啊.. 不是应该是1/smclk 宽么? 怎么会宽了这么多?
大概的程序如下:
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
FLL_CTL0 |=XCAP0PF;
TACTL = TASSEL_2 + TACLR; // SMCLK, clear TAR
CCTL0 = CCIE; // CCR0 interrupt ena××ed
CCR0 = 1;
P1DIR |= 0x34; // Set P1.2 to output direction
P1SEL |= 0x30; // output smclk and aclk
TACTL |= MC0; // Start Timer_a in upmode
_EINT(); // Ena××e interrupts
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P1OUT ^= 0x04; // Toggle P1.2 using exclusive-OR
}
哪位大侠看看是为什么?
|
|