主页C++ Builder 资料C++ Builder 串口控件
C++ Builder 串口控件
Victor 串口控件使用说明
Victor 串口控件示例程序
C++ Builder 编程技巧
C++ Builder 操作指南
C++ Builder 参考手册
网友留言/技术支持
Victor 串口控件 VCL/FMX - C++ Builder 串口控件

Victor 串口控件简介:

Victor 串口控件使用非常简单, 保你拿来就会!!!
完全的 VCL/FMX 风格, 双击控件可设置常用参数。

设置串口参数:

YbCommDevice1->PortParams = _T("COM5,56000,N,8,1");

打开串口:

try
{
  YbCommDevice1->Active = true;
}
catch(Exception &e)
{
  ShowMessage(e.Message);
}

写数据

YbCommDevice1->Write(任意数据的地址,字节数);

例如

int i = 5;
char a[10];
YbCommDevice1->Write(&i,sizeof(int));
YbCommDevice1->Write(a, 10);
YbCommDevice1->Write(Memo2->Text.c_str(), Memo2->Text.Length());

读数据

实际读出字节数 = YbCommDevice1->Read(任意缓存地址,缓存容量);

例如

unsigned char Buf[1000];
int n = YbCommDevice1->Read(Buf,1000);

 

串口控件新功能简介:

与单片机或仪表通讯, 使用 PackageType = cptFrameTimeout; 方式, 将接收到完整的每帧单片机数据!
本程序是在 OnPackage 事件里接收数据, 也可以在定时器, 或者其他任何想接收数据的地方接收, 包括线程。

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
  YbCommDevice1->PortParams = "COM2,9600,N,8,1";
  YbCommDevice1->Active = true; //打开串口
  YbCommDevice1->PackageType = cptFrameTimeout; //使用超时的方法识别每帧数据
  YbCommDevice1->UsePackage = true; //启动 Package
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  char Buf[3];
  Buf[0] = 0x99;
  Buf[1] = 0x1b;
  Buf[2] = 0x0d;
  YbCommDevice1->WritePackage(Buf,3); //发送3个字节: 99 1B 0D
}
//---------------------------------------------------------------------------
void __fastcall TForm1::YbCommDevice1Package(TObject *Sender, int NotifyType)
{
  unsigned char Buf[1000]; //接收缓存
  int n = YbCommDevice1->ReadPackage(Buf,1000);

  if(n>0) //收到数据的字节数
  {
    AnsiString s;
    for(int i=0; i<n; i++)
    s += IntToHex(Buf[i],2) + " ";
    Memo1->Lines->Add(s); //在 Memo1 里显示出收到的数据, 将会是完整的一帧数据
  }
}
//---------------------------------------------------------------------------

Victor 串口控件常见问题及解决方法

Victor 串口控件下载

文档更新列表

• 2017-05-21 最初版本

文档索引

Victor 串口控件使用说明
• TYbCommDevice• TVictorComm• TCommQueue
• EVictorCommError• TComm32• EComm32Error
• TVictorSerialPortInfo• TVictorSerialPortList• TCommSerialPortInfo
• TVictorFSM• TVictorFsmStateT  www.cppfans.com
Victor 串口控件示例程序
• 文本收发演示程序• 二进制数据收发演示程序• 数据包收发演示程序


C++ 爱好者 -- Victor Chen 的个人网站 www.cppfans.com 辽ICP备11016859号