我现在是同时收发,想请教一下怎么把收和发分开(即收时不能发,发时不能收),收和发是没关系的。
程序如下
void UartSendByte(unsigned char i)//单片机向主机发送数据
{
ES=0;
TI=0;
SBUF=i;
while(TI==0);
TI=0;
ES=1;
}
void UartISR(void) interrupt 4 //主机接收单片机数据
{
if(RI) //收到数据
{
DATA1[Num]=SBUF;
if(DATA1[0]==0x55) Num++;
else Num=0;
if(Num>1)
{
................
}
RI=0; //清中断请求
}
}
void main()
{
UartSendByte(0x01);
UartSendByte(0x02);
UartSendByte(0x03);
delay(10);//延时10MS
} |