设想的是比特率在9600和19200之间变化,能自动匹配。通电结果:9600改19200,可以匹配,19200改到9600时无法匹配。
下面是部分程序。
void InitUART(void)
{
SCON=0x50;
TMOD=0x20;
TH1=0xFD;
PCON=0X00;
TR1=1;
EA=1;
}
void Serial(void) interrupt 4
{
if(RI)
{
RI=0;
temp=SBUF;
switch(flag)
{
case 0:if( 。。。。。。。省略
else { flag1=!flag1;
if(flag1==0)PCON=0x00;
else PCON=0x80; }
break;
case 1:if 。。。。。。。省略
break;
case 2:
{ 。。。。。。。省略
}
break;
default:break;
}
}
if(TI)TI=0;
} |