#include <msp430.h>
void chuankou();
void shizhong();
unsigned char chuan;
volatile unsigned int j;
volatile unsigned int i;
void main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
P4DIR |= BIT7;
//anjian();
chuankou();
shizhong();
chuan = 0x3fd;
__bis_SR_register(LPM0_bits+GIE);
while(1);
}
void chuankou()
{
P3SEL |=BIT3+BIT4;
UCA0CTL1 |=UCSWRST;
UCA0CTL1 |=UCSSEL_2;
UCA0BR0 = 6;
UCA0BR1 = 0;
UCA0MCTL =UCBRS_0 + UCBRF_13 + UCOS16;
UCA0CTL1 &= ~UCSWRST;
UCA0IE |= UCTXIE;
}
void shizhong()
{
P2DIR |=BIT2;
P2SEL |=BIT2;
UCSCTL4 |= SELA_2;
}
#pragma vector=USIC_A0_VECTOR
__interrupt void USCI_A0_ISR()
{
switch(__even_in_range(UCA0IV,4))
{
case 0:break;
case 2:break;
case 4:
while(!(UCA0IFG&UCTXIFG));
UCA0TXBUF = 0x3fd;
P4OUT |= BIT7;
break;
default:break;
}
UCA0IV = 0;
return;
}