菜鸟投降了,怎么通过串口获得数据!我用的是YbCommDevice
我有一台数据采集器,我需要通过串口编程获得它采集到的数据,我得知道仪器的那些参数?我是菜鸟,请大虾指点,万分感谢!——毕业设计急需!
下边是我的源程序,这样不行,获得不了数据。
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "YbCommDevice"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn_endClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::rgpClick(TObject *Sender)
{
switch(rgp->ItemIndex)
{
case 0:
{
try
{
ybcom->PortNo = 1;
ybcom->Active = true;
}
catch(Exception &e)
{
ShowMessage("ybcom:"+e.Message );
}
break;
}
case 1:
{
try
{
ybcom->PortNo = 2;
ybcom->Active = true;
}
catch(Exception &e)
{
ShowMessage("ybcom:"+e.Message );
}
break;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn_setClick(TObject *Sender)
{
ybcom->SettingsDialog(this,true);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Memo1->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn_getClick(TObject *Sender)
{
unsigned char Buf[8192]; //定义缓冲
int n = ybcom->Read(Buf,8192);//读出的字节数
AnsiString s;
for(int i=0; i<n; i++)
{
s += Buf[i];
}
if(!s.IsEmpty())
Memo1->Text = Memo1->Text + s + '\r';
}
//---------------------------------------------------------------------------