void __fastcall TForm10::Timer1Timer(TObject *Sender)
{
// 对气体的压力进行接收,每隔一秒接收一次数据
//Sleep(100); //要不要等待时间?
AnsiString rgasStr,rgasStr8;
int rRet1;
int buffer0;
float prt1;
DWORD rnRead,Writen;
PurgeComm(hComm,PURGE_TXCLEAR|PURGE_RXCLEAR);//清除缓冲区
int rxNum=8;//接收8个数据
if(ErrorDetect()){
return;
}
ReadFile(hComm,rxBuff,rxNum,&rnRead,NULL);//用来显示要配气的成分的含量
buffer0=rxBuff[0];
switch(buffer0)
{
case 206: //如果收到206是指下个连续配气的开始
Shape1->Brush->Color=clWhite;
Shape2->Brush->Color=clWhite;
Shape3->Brush->Color=clWhite;
Label1->Caption="系统配气中......";
rgasStr="0x"+IntToHex(rxBuff[1],2)+IntToHex(rxBuff[2],2);
rRet1=StrToInt(rgasStr);
prt1=(float)rRet1/10.000000000; //输出气体p1的参数
rgasStr8=FloatToStrF(prt1,ffFixed,3,1);
Edit1->Text=rgasStr8;
break;
case 210: //如果收到的是210指接收压力数据
rgasStr="0x"+IntToHex(rxBuff[1],2)+IntToHex(rxBuff[2],2);
rRet1=StrToInt(rgasStr);
prt1=(float)rRet1/10.000000000; //输出气体p1的参数
rgasStr8=FloatToStrF(prt1,ffFixed,3,1);
Edit1->Text=rgasStr8;
break;
case 207: //如果收到的是207是指一气体接收完成
Shape1->Brush->Color=clBlue;
break;
case 208: //如果收到的是208是指二气体接收完成
Shape2->Brush->Color=clBlue;
break;
case 209: //如果收到的是209是指三气体接收完成
Label1->Caption="此次系统配气完成";
Shape3->Brush->Color=clBlue;
break;
}
}
--------------------next---------------------
阅读(992) | 评论(0) | 转发(0) |