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

MSP430G2553寄存器配置方式,ACLK作为定时器Timer0的时钟源

各位工程师,你们好~

我现在使用MSP430G2553型号的单片机,外接32768hz。选择ACLK作为定时器Timer0的时钟源,发现无法使用,向您咨询一下使用方法和寄存器配置方式。

我的配置如下:

(1)IO口配置

P2DIR = 0xc2;

P2SEL = 0xc0;

P2SEL = 0xc0;

(2)定时器配置

TA0CTL = TASSEL_1 + ID_3 + MC_2; 

(3)时钟配置

BCSCTL3 |= LFXT1S_0;

之后我根据TI Resource Explorer例程,配置了io口,但仍然无法使用,请问是否需要配置BCSCTL3?

希望收到回复,谢谢~

Susan Yang:

建议您参考一下
dev.ti.com/…/

Susan Yang:

/* --COPYRIGHT--,BSD_EX* Copyright (c) 2012, Texas Instruments Incorporated* All rights reserved.** Redistribution and use in source and binary forms, with or without* modification, are permitted provided that the following conditions* are met:** *Redistributions of source code must retain the above copyright*notice, this list of conditions and the following disclaimer.** *Redistributions in binary form must reproduce the above copyright*notice, this list of conditions and the following disclaimer in the*documentation and/or other materials provided with the distribution.** *Neither the name of Texas Instruments Incorporated nor the names of*its contributors may be used to endorse or promote products derived*from this software without specific prior written permission.** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.**********************************************************************************MSP430 CODE EXAMPLE DISCLAIMER** MSP430 code examples are self-contained low-level programs that typically* demonstrate a single peripheral function or device feature in a highly* concise manner. For this the code may rely on the device's power-on default* register values and settings such as the clock configuration and care must* be taken when combining code from several examples to avoid potential side* effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware* for an API functional library-approach to peripheral configuration.** --/COPYRIGHT--*/
//******************************************************************************
//MSP430G2xx3 Demo - Timer_A, Toggle P1.0, Overflow ISR, 32kHz ACLK
//
//Description: Toggle P1.0 using software and the Timer_A overflow ISR.
//In this example an ISR triggers when TA overflows. Inside the ISR P1.0
//is toggled. Toggle rate is exactly 0.5Hz. Proper use of the TA0IV interrupt
//vector generator is demonstrated.
//ACLK = TACLK = 32768Hz, MCLK = SMCLK = default DCO
////* An external watch crystal on XIN XOUT is required for ACLK *////
//MSP430G2xx3
//---------------
///|\|XIN|-
//| || 32kHz
//--|RSTXOUT|-
//||
//|P1.0|-->LED
//
//D. Dang
//Texas Instruments Inc.
//December 2010
//Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10
//******************************************************************************#include <msp430.h>int main(void)
{WDTCTL = WDTPW + WDTHOLD;// Stop WDTP1DIR |= 0x01;// P1.0 outputTACTL = TASSEL_1 + MC_2 + TAIE;// ACLK, contmode, interrupt__bis_SR_register(LPM3_bits + GIE);// Enter LPM3 w/ interrupt
}// Timer_A3 Interrupt Vector (TA0IV) handler
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=TIMER0_A1_VECTOR
__interrupt void Timer_A(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(TIMER0_A1_VECTOR))) Timer_A (void)
#else
#error Compiler not supported!
#endif
{switch( TA0IV ){case2:break;// CCR1 not usedcase4:break;// CCR2 not usedcase 10:P1OUT ^= 0x01;// overflowbreak;}
}

灰小子:

遇到这类问题,最常见的方法就是先找官网例程运行一下,如果运行例程没问题硬件基本就没有问题了,然后再对比自己写的代码和例程,看是哪里配置不合适。

赞(0)
未经允许不得转载:TI中文支持网 » MSP430G2553寄存器配置方式,ACLK作为定时器Timer0的时钟源
分享到: 更多 (0)