写了一个串口接收字符串的程序 但在下完程序第一次的时候接收的数据会乱码 出现错误 以后就会正常 求各位大侠知道下原因?以及解决方案 代码如下
void main()
{
uchar i;
flag=0;
count=0;
SBUF=0x00;
init();
while(1)
{
if(flag==1)
{
ES=0;
for(i=0;i<count;i++)
{
SBUF=table[i];
while(!TI);
TI=0;
}
ES=1;
flag=0;
count=0;
}
}
}
void serial (void) interrupt 4 using 2//串口接收中断函数,接收字符串
{
uchar a;
ES = 0;
if(RI)
{
RI = 0;
a=SBUF;
table[count++]=a; //以字符9作为字符串发送结束的标志
if(a=='9')
{
flag=1;
}
}
ES = 1;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>