求助 ,这个430定时器是怎么样进入中断函数的???
程序是TI给的官方代码 ,基于149的代码如下:
#include<msp430x14x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 50000;
TACTL = TASSEL_2 + MC_2; // SMCLK, contmode
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P1OUT ^= 0x01; // Toggle P1.0
CCR0 += 50000; // Add Offset to CCR0
}
问题是这个程序如何进入中断的???
程序中没有开启timer a 中断 开启了捕获比较寄存器的中断 这个有什么区别?、
另外采用的是连续计数模式 计数到65536,这样的话,CCR0给它一个值为什么能够 产生作用呢?
求大神 !!!拜大神!@!!! 楼主说的定时器A的中断没有开启 值得是哪个?是TAIE么 那个是定时器溢出中断是定时器计数溢出时置位,而CCIEx是比较捕获中断 程序中给CCR0一个初值TAR计数到这个值时 产生中断两个中断不是一个概念
连续计数模式下TAR计数到0xffff时就会自动置零此时TAIFG置位
PS:偶也是刚开始学习430不知道说的对不对…… CCR0 += 50000;加了以后CCR0会溢出,下次TAR就与新的CCR0值比较了,因此CCIE比较中断产生的间隔就是50000
页:
[1]