我用一下程序做串口字符串接收,接收到的数据不知为什么第一个字符串的前2个字符有错,而以后的都没有出错
高手请帮我分析一下。我用单片机是STC12C5A60S2。voidUART_one_interrupt()interrupt4using1{uchardat,num,da...
高手请帮我分析一下。我用单片机是STC12C5A60S2。
void UART_one_interrupt() interrupt 4 using 1
{
uchar dat,num,dat_old;
if(RI==1)
{
dat=0;
num=0;
// if(Flag_rec==1) //接受更新数据
{
for(;;)
{
while(!RI);
dat_old=dat;
re_dat[hang][num]=SBUF;
dat=SBUF;
RI=0;
if(dat_old==0x0d&&dat==0x0a) //字符后只允许右一个回车
{
num=0;
break;
}
num++;
}
hang++;
}
}
else
{
TI=0;
}
} 展开
void UART_one_interrupt() interrupt 4 using 1
{
uchar dat,num,dat_old;
if(RI==1)
{
dat=0;
num=0;
// if(Flag_rec==1) //接受更新数据
{
for(;;)
{
while(!RI);
dat_old=dat;
re_dat[hang][num]=SBUF;
dat=SBUF;
RI=0;
if(dat_old==0x0d&&dat==0x0a) //字符后只允许右一个回车
{
num=0;
break;
}
num++;
}
hang++;
}
}
else
{
TI=0;
}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询