对430 定时器不理解,求解?
刚入手430,对定时器诸多不解增计数模式好理解 计数到TCCR0,CCIFG置位,之后+1 回到0 TAIFG置位,进入
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A0 (void)
但是在边续模式下,不理解,,,计数从0----FFFF,然后+1 回到0 TAIFG置位,,,也这就是这只要时钟固定了,这个定时时间是不变的,,,,看示例程序为什么还要设置TCCR0,又有什么意义呢..0 计数到 TCCRO,只是产生一个比较中断,又不能进入定时中断,,,,不明白这个TCCR0是什么意思在这
#include <msp430x20x3.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,
_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 ////////////
}
还有下面手册也不理解
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_601524ZMR8F7.jpg
(原文件名:QQ截图未命名.jpg)
在一个0---FFFF内,怎么出现了二个TCCR0呢 如果按上面程序理解,要改变TCCR0也得在 计满FFFF后进入中断才能再改吧 脉宽调制用 TAR是不断加一计数的,到达0xFFFF溢出时产生TAV中断
当TAR == TCCRO时,产生CCR0中断
当TAR == TCCR1时,产生CCR1中断 我只当普通定时器用,是不是只有用模式1,增计数模式 用增计数就可以了,到CCRO产生中断一次 http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_602612OOMXH0.GIF
(原文件名:11.GIF)
我也不太理解这个的。用户手册中说TAxCCRn写入数值怎么在中断函数中写入的呢。tar和TAxCCRn有什么关系,我觉得如果只需要中断的话,tar就可以实现的了 mark
页:
[1]