Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341836
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:03:54

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) |
给主人留下些什么吧!~~