请大神看下是否能够通过串行口获得float x,y的值?
sbit k=PSW^1;
void SISR() interrupt 4
{
extern *X,*Y,j;
RI=0;
switch(j)
{case 0:*X=SBUF;break;
case 1:*(X+1)=SBUF;break;
case 2:*(X+2)=SBUF;break;
case 3:*(X+3)=SBUF;break;
case 4:*Y=SBUF;break;
case 5:*(Y+1)=SBUF;break;
case 6:*(Y+2)=SBUF;break;
case 7:*(Y+3)=SBUF;break;
}
if(j<7)
j++;
else
{j=0;k=1;}
return;
}
void main()
{ signed int data j=0;
float data x,y;
data char data *X;
data char data *Y;
X=&x;
Y=&y;
/*you xin hao shu ru de qing kuang*/
F0=0;
SCON=0x50;
PCON=0x80;
TH1=0xf4;
TL1=0xf4;
TMOD=0x20;/*BRT 4800bit/s */
TR1=1;
ES=1;
do
{
if (k==1)
{k=0;EA=0;SOLVE(x,y,A);goto TP;}
}
while(1);
}