|
刚入手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 ////////////
}
还有下面手册也不理解
(原文件名:QQ截图未命名.jpg)
在一个0---FFFF内,怎么出现了二个TCCR0呢 如果按上面程序理解,要改变TCCR0也得在 计满FFFF后进入中断才能再改吧 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|