#include"msp430x24x.h"
int addr;
char RXBUF_TEMP;
void DELAY(void)
{
int i;
for(i=1000;i>0;i--);
}
void Init(void)
{
P3SEL|=0XC0;
P3DIR=0XFF;
P3OUT=0;
P3REN=0XFF;
//UCA1CTL1=0x10;
UCA1CTL1|=UCSWRST;
UCA1CTL1 |= UCSSEL1;
UCA1CTL0=0;
UCA1BR0=0X03;
UCA1BR1=0X00;
UCA1MCTL=0X4A;
//UCA1TCTL=0X10;
// ME2|=0X30;
UCA1STAT =0x00;
UCA1CTL1&=~UCSWRST;
UC1IE|=UCA1TXIE+UCA1RXIE;
//UC1IE|=UCA1RXIE;
}
//发送一字节的数据
void UART1_PUTCHAR(int addr)
{
UCA1TXBUF=addr;
while((UCA1CTL1&0X01)==0);//等待该字节发送完
}
//接收一字节数据
char UART1_GETCHAR (void)
{
while((UC1IFG&UCA1RXIFG)==0);
return(UCA1RXBUF);
}
void main (void)
{
//关闭看门狗
WDTCTL=WDTPW+WDTHOLD;
Init();
_EINT();
addr=1;
while(1)
{
UART1_PUTCHAR( addr);
UART1_GETCHAR();
RXBUF_TEMP=UCA1RXBUF;
if(RXBUF_TEMP!=0)
{
switch(RXBUF_TEMP)
{
case1:
// normal();
addr++;
break;
case2:
// error();
addr++;
break;
case3:
// alarm();
addr++;
break;
default:break;
}
}
}
}
这是部分程序,求指导