⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 counter.cpp

📁 串口调试程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Counter.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "MSCommLib_OCX"
#pragma link "DBUILib_OCX"
#pragma resource "*.dfm"
TForm1 *Form1;
int a=0;
int b=0;
int c=0;
int d=0;
int e=0;
int f=0;
int g=0;
int h=0;
int m=1;
int n=1;
int i;
int scr1,scr2;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
if(MSComm1->PortOpen)
   Shape1->Brush->Color=clGreen;
   //DBoolean1->Value=1;
else
   Shape1->Brush->Color=clRed;
   //DBoolean1->Value=0;
   //DSlide1->Value=OleVariant(a);   可用程序

   //Timer1->Interval=DKnob1->Value;
   //Timer4->Interval=DKnob2->Value;
   //Timer1->Interval=DKnob1->Pointer1->Value.date;
   MSComm1->RThreshold=1;
   MSComm1->InputLen=1;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if(m==1)                        //实现四位数递增显示
{
a=a+1;
if(a>9)
{
a=0;
b=b+1;
if(b>9)
{
b=0;
c=c+1;
if(c>9)
{
c=0;
d=d+1;
if(d>9)
{
d=0;
}
}
}
}
Form1->Edit1->Text=IntToStr(a);    //将整形数据转换为字符串输出
Form1->Edit2->Text=IntToStr(b);
Form1->Edit3->Text=IntToStr(c);
Form1->Edit4->Text=IntToStr(d);
}

else                               //实现四位数递减显示
{
  if(a>0)
     a=a-1;
  else if(a==0)
  {
   if(b>0)
    {
     b=b-1;
     a=9;
    }
    else if(b==0)
      {
        if(c>0)
         {
          c=c-1;
          b=9;
         }
         else if(c==0)
         {
          if(d>0)
           {
            d=d-1;
            c=9;
           }
           else if(d==0)
           a=b=c=d=9;
         }
      }
  }

Form1->Edit1->Text=IntToStr(a);     //将整形数据转换为字符串输出
Form1->Edit2->Text=IntToStr(b);
Form1->Edit3->Text=IntToStr(c);
Form1->Edit4->Text=IntToStr(d);
}

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(Timer1->Interval>0)
Timer1->Enabled=true;              //启动定时器1
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
Timer1->Enabled=false;             //关闭定时器1
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form1->Close();                    //关闭窗口
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)
{
if (MSComm1->PortOpen)            //打开串口程序
{
 if(Timer3->Enabled==true)
    ShowMessage("请先停止发送!");
 else
    MSComm1->PortOpen = false;
}

switch(RadioGroup1->ItemIndex)    //选择串口
{
case 0:
 {
   MSComm1->CommPort=1;
   ShowMessage("串口COM1已打开!");
   //MSComm1->PortOpen=true;
   break;
 }
case 1:
 {
   MSComm1->CommPort=2;
   ShowMessage("串口COM2已打开!");
   //MSComm1->PortOpen=true;
   break;
 }
case 2:
 {
   MSComm1->CommPort=3;
   ShowMessage("串口COM3已打开!");
   //MSComm1->PortOpen=true;
   break;
 }
case 3:
 {
   MSComm1->CommPort=4;
   ShowMessage("串口COM4已打开!");
   //MSComm1->PortOpen=true;
   break;
 }
}
//通讯参数设置
MSComm1->Settings=ComboBox1->Text+","+ComboBox4->Text+","+ComboBox2->Text+","+ComboBox3->Text;
MSComm1->InputMode=0;            //设置传入数据的格式,0表示文本形式
MSComm1->RThreshold=1;
MSComm1->InputLen=1;

MSComm1->PortOpen=true;          //打开串口

if(MSComm1->PortOpen)
Shape1->Brush->Color=clGreen;
//DBoolean1->Value=1;
return;
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
Form1->Label2->Caption=TimeToStr(Time());     //显示系统时间
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button6Click(TObject *Sender)
{
if(MSComm1->PortOpen==false)                  //关闭串口程序
ShowMessage("串口已经关闭!");
else if(Timer3->Enabled==true)
ShowMessage("请先停止计数器1发送数据!");
else if(Timer5->Enabled==true)
ShowMessage("请先停止计数器2发送数据!");
else if(Timer6->Enabled==true)
ShowMessage("请先停止计数器联合发送数据!");
else
{
MSComm1->PortOpen=false;
ShowMessage("串口已关闭!");

if(MSComm1->PortOpen==false)
Shape1->Brush->Color=clRed;
//DBoolean1->Value=0;
return;
}

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)
{
if(MSComm1->PortOpen==false)           //手动发送数据
ShowMessage("串口未打开!");
else
{
 //MSComm1->Settings=ComboBox1->Text+","+"M"+","+ComboBox2->Text+","+ComboBox3->Text;
 MSComm1->Output=StringToOleStr("a");
 //MSComm1->Settings=ComboBox1->Text+","+"S"+","+ComboBox2->Text+","+ComboBox3->Text;
 MSComm1->Output=StringToOleStr(Edit4->Text);
 MSComm1->Output=StringToOleStr(Edit3->Text);
 MSComm1->Output=StringToOleStr(Edit2->Text);
 MSComm1->Output=StringToOleStr(Edit1->Text);

 MSComm1->Output=StringToOleStr("a");            //定时器3自动发送程序
 MSComm1->Output=StringToOleStr(Edit4->Text);
 MSComm1->Output=StringToOleStr(Edit3->Text);
 MSComm1->Output=StringToOleStr(Edit2->Text);
 MSComm1->Output=StringToOleStr(Edit1->Text);

}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)
{
if(MSComm1->PortOpen==false)        //开启自动发送数据
ShowMessage("串口未打开!");
else if(Timer5->Enabled==true)
ShowMessage("请先停止计数器2发送数据!");
else if(Timer6->Enabled==true)
ShowMessage("请先停止计数器联合发送数据!");
else
Timer3->Enabled=true;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer3Timer(TObject *Sender)
{
MSComm1->Output=StringToOleStr("a");            //定时器3自动发送程序
MSComm1->Output=StringToOleStr(Edit4->Text);
MSComm1->Output=StringToOleStr(Edit3->Text);
MSComm1->Output=StringToOleStr(Edit2->Text);
MSComm1->Output=StringToOleStr(Edit1->Text);

MSComm1->Output=StringToOleStr("a");            //定时器3自动发送程序
MSComm1->Output=StringToOleStr(Edit4->Text);
MSComm1->Output=StringToOleStr(Edit3->Text);
MSComm1->Output=StringToOleStr(Edit2->Text);
MSComm1->Output=StringToOleStr(Edit1->Text);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button8Click(TObject *Sender)
{
Timer3->Enabled=false;                   //停止自动发送数据
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button9Click(TObject *Sender)
{
a=0;                                     //数据清零
b=0;
c=0;
d=0;
Form1->Edit1->Text=IntToStr(a);          //将整形数据转换为字符串输出
Form1->Edit2->Text=IntToStr(b);
Form1->Edit3->Text=IntToStr(c);
Form1->Edit4->Text=IntToStr(d);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -