8e3eadeaAdd on May 24, 2025History
#include <msp430.h> 

unsigned receive[20];
unsigned char count=0;
/**
 * main.c
 */
void UART_Init()
{
    //P1OUT&=~(BIT1+BIT2);
    P1SEL|=BIT1+BIT2;
    P1SEL2|=BIT1+BIT2;
    UCA0CTL1|=UCSWRST;
    UCA0CTL1|=(UCSSEL_2);
    UCA0BR0 =104;
    UCA0BR1 =0;
    UCA0CTL1&=~UCSWRST;
    IE2 |= UCA0RXIE;
    _EINT();
}
void SendByte(unsigned char dat)
{
    UCA0TXBUF=dat;
    while((IFG2&UCA0TXIFG)==0);
}
void SendString(unsigned char *string)
{
    unsigned char i=0;
    while(string[i]!='\0')
    {
        SendByte(string[i++]);
    }
}
int main(void)
{
	WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer
	BCSCTL1 = CALBC1_1MHZ;   // 设置 DCO 范围为 1MHz(需从芯片信息段加载校准值)
	DCOCTL = CALDCO_1MHZ;     // 设置 DCO 频率为 1MHz
	UART_Init();
	SendString("hello world");
	while(1);
	return 0;
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void UART_Service()
{
    unsigned char RX=UCA0RXBUF;
    SendByte(RX+1);
}