📄 example_lpm3_aclk_1_sec.c
字号:
//******************************************************************************
// MSP430x11x1 Demo - Timer_A, Ultra-Low Pwr UART 4800 Echo, 32kHz ACLK
// Description: TX is called in ISR, ACLK drives Timer_A and remains on in LPM3
// TACCR0 generates 1 second interrupt.
//
// L. Westlund / A. Dannenberg
// Texas Instruments Inc.
// August 2007
// Built with Code Composer Essentials 2.0
//*****************************************************************************
#include "ta_uart.h"
#include <msp430x11x1.h>
int callBack( unsigned char c );
void main (void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
TI_initTimer(callBack, _32Khz_ACLK_04800_Bitime, TASSEL_1);
P1DIR |= 0x01;
TACTL |= TACLR;
TACCTL0 = CCIE; // TACCR0 interrupt enabled
TACCR0 = 32768-1;
_EINT();
LPM3;
}
int callBack( unsigned char c )
{
TI_TA_UART_StatusFlags &= ~TI_TA_RX_RECEIVED; // allows for RX during TX (will not effect TXed byte)
TI_TX_Byte( c ); // echo byte
return TA_UART_STAY_LPM; // return to LPM3
}
// Timer A0 interrupt service routine
__interrupt void Timer_A (void);
TIMERA0_ISR(Timer_A)
__interrupt void Timer_A (void)
{
P1OUT ^= 0x01; // Toggle P1.0
TACCR0 += 32768; // Add Offset to TACCR0
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -