MSP430定时器A的疑问?
看TI的C例子,用MSP430的定时器Timer_A来定时/计数时,为什么是往TA1CCR0中写入相应的计数值?MSP430内部不是有一个定时/计数寄存器TAR吗,为什么要定时时不是往这个寄存器写入相应的计数值呢? 是哪个芯片呀....完整的程序?......TAR是主计数器的计数寄存器吧,另外还有几个比较模块的,一般中断、端口控制都是靠比较模块实现的,TA1CCR0是比较器0的比较寄存器吧......不过最好把源程序放上来啦 BBC 发表于 2012-10-5 18:15 static/image/common/back.gif是哪个芯片呀....完整的程序?......TAR是主计数器的计数寄存器吧,另外还有几个比较模块的,一般中断、端 ...
MSP430F5438。不够哪个芯片都差不多一样。如果要定时可以用TAR来定时吗?程序一(TI 的C代码例子)如下:
//******************************************************************************
//MSP430F54x Demo - Timer_A3, Toggle P1.0, CCR0 Up Mode ISR, DCO SMCLK
//
//Description: Toggle P1.0 using software and TA_1 ISR. Timer1_A is
//configured for up mode, thus the timer overflows when TAR counts
//to CCR0. In this example, CCR0 is loaded with 50000.
//ACLK = n/a, MCLK = SMCLK = TACLK = default DCO ~1.045MHz
//
// MSP430F5438
// ---------------
// /|\| |
// | | |
// --|RST |
// | |
// | P1.0|-->LED
//
// M Smertneck / W. Goh
// Texas Instruments Inc.
// September 2008
// Built with CCE Version: 3.2.2 and IAR Embedded Workbench Version: 4.11B
//******************************************************************************
#include "msp430x54x.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
TA1CCTL0 = CCIE; // CCR0 interrupt enabled
TA1CCR0 = 50000;
TA1CTL = TASSEL_2 + MC_1 + TACLR; // SMCLK, upmode, clear TAR
__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, enable interrupts
__no_operation(); // For debugger
}
// Timer A0 interrupt service routine
#pragma vector=TIMER1_A0_VECTOR
__interrupt void TIMER1_A0_ISR(void)
{
P1OUT ^= 0x01; // Toggle P1.0
}
kandy286 发表于 2012-10-5 22:22 static/image/common/back.gif
MSP430F5438。不够哪个芯片都差不多一样。如果要定时可以用TAR来定时吗?程序一(TI 的C代码例子)如下: ...
其实从下面这图就看得挺清楚了:
我只能解答你在楼主位提出的问题,其他得靠你自己看datasheet咯...
430的定时器有点特别,主计数器是受CCR0这个捕获/比较器控制的,从图中TAXR右边的count mode是受EQU0触发的便可以看出。
因此,当TAR == TACCR0时,便会触发事件,根据count mode的设定来对TAR寄存器做相应操作。而在本例中,计数模式是upmode,即TAR的计数范围是0~TACCR0,所以设置的是CCR0,而不是TAR......
{:3_57:} 我自己都晕了,不知道自己说了啥......
你这是51单片机的思想。非要那么用也可以,就是浪费了。 EQU0是什么,有什么作用,可以设置相关寄存器吗?
页:
[1]