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

关于MSP430F425的定时器问题

时钟采用4M晶振,程序如下:

WDTCTL = WDTPW + WDTHOLD;
FLL_CTL0 |= XTS_FLL; 
FLL_CTL0 |= XCAP0PF;

BTCTL = BTDIV + BT_fCLK2_DIV8;

IE2|=BTIE;

_EINT();  

#pragma vector = BASICTIMER_VECTOR
__interrupt void basic_tiemer_ISR()
{
P2OUT ^= BIT3;
P2OUT ^= BIT4;
}

第一个问题:在P2.3和P2.4上可以测到976HZ左右的方波。按照计算,每个定时器时钟到来,产生一次跳变,而不是将定时器计数计满产生一次中断?

第二个问题:采用了定时器A,设置如下:

CCTL0=CCIE; 
CCR0=500; 
TACTL = TASSEL_2 + MC_1+TAIE; //定时器A的设置,选择SMCLK,定时上升模式,

#pragma vector = TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
P2OUT ^= BIT0;
P2OUT ^= BIT1;
P5OUT ^= BIT2;
P5OUT ^= BIT3;
}

可是相应的波形不是方波,而是

在高电平时有个下陷的过程,是什么原因?还有,这个波形在仿真器全速运行时能测到,而去掉仿真器,单片机单独运行却没有了,是为什么?基础定时器的波形在仿真和单独运行都存在。

灰小子:

 BASICTIMER是一个16位定时器,它结构比较简单,只是对系统时钟进行分频。

ke luo:

回复 灰小子:

定时器A出来的这个波形是什么原因?

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