发表于:2007/8/18 14:45:00
#0楼
通信格式: 9600,停止位1位,偶校检,
数据格式:STX data1 data2.......datan EXT sumH sumL (ASCII码)
软件握手:收到05 回复06
setinit()
{
T100MS=0;
T5MS=0;
SCON=0x50; //8位可变波特率,无奇偶校验
TMOD=0x21;
TL1=RECBUOD;
TH1=RECBUOD;
TR1=1; //开定时器1
ES=1;
EA = 1; //开总中断
}
void uart() interrupt 4 using 2
{ES=0;
if(RI)
{RI=0;
dr1=SBUF&0x7f;
if(dr1==2){v[0]=2;point=1;}
if(dr1==5){send(6);}
if(dr1!=2)if(dr1!=5)if(v[0]==2)
{
v[point]=dr1;
dr3=point-2;
point++;
if(v[dr3]==3)
{
v[0]=0;
com();
}
}
}
if(TI) TI=0;
ES=1;
}
数据格式:STX data1 data2.......datan EXT sumH sumL (ASCII码)
软件握手:收到05 回复06
setinit()
{
T100MS=0;
T5MS=0;
SCON=0x50; //8位可变波特率,无奇偶校验
TMOD=0x21;
TL1=RECBUOD;
TH1=RECBUOD;
TR1=1; //开定时器1
ES=1;
EA = 1; //开总中断
}
void uart() interrupt 4 using 2
{ES=0;
if(RI)
{RI=0;
dr1=SBUF&0x7f;
if(dr1==2){v[0]=2;point=1;}
if(dr1==5){send(6);}
if(dr1!=2)if(dr1!=5)if(v[0]==2)
{
v[point]=dr1;
dr3=point-2;
point++;
if(v[dr3]==3)
{
v[0]=0;
com();
}
}
}
if(TI) TI=0;
ES=1;
}