Victor 串口 VCL 控件,版本 1.3.3.5 for BCB 5 & BCB 6
C++爱好者: http://www.cppfans.com/
【软件简介】
简单实用, 功能强大的 C++ Builder 串口控件!
本控件是免费的, 不需要注册, 有关授权及许可协议详见 license.txt 文件。
1.支持二进制数据和文本数据的收发
2.支持任意格式的数据的收发
3.支持两种数据包协议(识别每帧数据首尾的方法):
①超时判断数据首尾, 适用于与单片机和仪表的通讯
②帧首尾和控制符, 适用于大量复杂的数据传输, 例如文件收发等
【控件特点】
1.完全由 C++ 代码写的, 支持简体中文, 繁体中文, 英文.
2.免费控件, 在主页上可提供示例程序和使用方法
3.免费升级, 如果控件版本升级, 在直接主页上下载新版本控件
使用简单:
用 控件->Active=true; 打开串口
控件->Read()读, 控件->Write()写.
可以处理控件的事件, 但不是必须的.
此版本包含2个控件:
1.TYbCommDevice 控件: 改进了设计界面, 使用更简单, 并且增加了很多功能.
2.TYBComm32 控件: 为了兼容以前版本而保留下来, 不建议新用户使用.
更新记录:
【版本 1.3.3.5 新增功能(2005-02-01)】
1.事件线程同步: 增加 SyncEvents 属性, 默认为 true 同步现成,
允许在事件里做任何事情了, 可以直接对 Memo 等操作;
如果 false, 和以前版本一样, 事件在线程里, 某些不能在线程里操作的控件
(Memo 等) 不能在事件里使用
2.数据包 FrameSettings 增加 DoubleFrameMark 可控制数据包首、尾是否发送两个
3.在启动数据包的状态, 仍然可以使用 Read 和 Write 属性收发数据,
不必要用 ReadPackage/WritePackage, 但这两个函数仍保留可用
4.增加 DTR、RTS、CTS、DSR、RING、RLSD/DCD 属性
5.开放汉字处理功能, 支持 BIG5、GB2312、GBK、UNICODE, 包括获取汉字的拼音、
注音(ㄅㄆㄇㄈ)、笔画数; 汉字字符串比较大小和排序,
按拼音、注音、笔画数比较; 汉字内码 BIG5/GBK/UNICODE 之间相互转换
【版本 1.3.3.4 开源版本(2004-05-21)】
1.在 TSharedMemory 类里面增加了一个 SetForegroundWindow 静态函数,
可以强行把与同名 API 函数不同的是,这个函数可强行把窗口提前到最前端。
2.修改 TAppLang 里面的 GBK→BIG5 码表,添加几个遗漏的字。
3.添加一个 TBASE64 类,处理 BASE64 编解码的类,可自定义编码表。
4.增加一个 ShutDownWindows 函数,可实现关机、重启、或注销的功能。
【版本 1.3.3.4 新增功能(2003-08-20)】
1.增加了 Space Parity 校验方式。
2.改正上个版本的 InitModem() 方法在 BCB6 下不能正常初始化 Modem 的错误。
【版本 1.3.3.3 新增功能(2003-06-29)】
1.针对与①单片机通讯②传递大量复杂数据, 加强了数据包功能:
增加了 PackageType 和 PackageInterval 两个属性。
PackageType 允许设置数据包的格式, 可设置包括与以前兼容、帧首尾和控制符、使用超时等三种类型的数据包格式。
PackageInterval 属性: 如果 PackageType 为超时判断数据首尾, 这个属性设置超时时间(毫秒)。
①使用超时的方法适用于与单片机和仪表通讯的大部分情况
②使用帧首尾和控制符的方法适用于大量复杂的数据传输, 例如文件收发等。
2.新版本的控件附带详细的帮助文档和六个完整的示例程序, 每个程序都包括 BCB5 和 BCB6 两个版本, 这六个例子演示了控件的各个功能。
【版本 1.3.3.3 修改BUG】
在 Windows 2003 下访问某些内置调制解调器的串口可能会运行不正常。
【版本 1.3.3.2 修改BUG】
①修改不能打开 COM9 以上的串口的错误, 现在可以使用所有系统支持的串口了。
②由于安装盘的制作问题没有解决, 这个版本不使用安装盘了, 自己手动添加控件。
【版本 1.3.3.1 修改BUG】
① 修改 1.3.3.0 版本的 bug: 在 BCB6 下编译生成的可执行文件需要 designide60.bpl
感谢网友小庭提供了 bug 信息!
这个 designide60.bpl 只有在设计的时候才需要的, 可执行文件根本就不应该需要这个文件, 无论是动态链接还是静态库。
【版本 1.3.3.0 新增功能】
① 设计时双击鼠标, 或按鼠标右键, 可弹出设置参数对话框.
② 新赠方法 SettingsDialog() 方法, 弹出设置参数对话框.
③ 增加 EscapeCommFunction() 方法, 实际上是通过传递 Handle 属性调用 API 函数 EscapeCommFunction()
④ 支持简单数据包通讯协议, 即可任意定义包头,尾,和控制符作为协议, 发送以数据包为单位
-> UsePackage 属性设置是否启动数据包协议, FrameSettings 属性确定头,尾,控制符.
⑤ 支持 MODEM
【控件安装方法 (这个方法适用于所有VCL控件)】
1.BCB 菜单: Project->Options->Packages->Add
如果是BCB6: 选择安装的文件夹 yb_base_c6.bpl 和 yb_comm_c6.bpl, 然后按“打开”按钮
如果是BCB5: 选择安装的文件夹 yb_base_c5.bpl 和 yb_comm_c5.bpl, 然后按“打开”按钮
2.BCB 菜单: Project->Options->Directories/Conditionals
Include Path 和 Library Path 都要添上安装路径(包含*.h和*.lib的文件夹)
①Include Path 右面的“…”按钮,添加包含 *.h 文件的文件夹
②Library Path 右面的“…”按钮,添加包含 *.lib 文件的文件夹
3.如果是 Windows 9x 需要在 C:\AUTOEXEC.BAT 文件里面的 PATH=后面添加包含 *.bpl 文件的文件夹
①如果是 Windows NT/2000/2003/XP 需要在:我的电脑->属性->高级->环境变量->系统变量:
②列表里面的“变量”为 Path 的“值”按:“编辑”按钮,添加包含 *.bpl 文件的文件夹
无论是①还是②,文件夹之间的间隔都是用分号隔开。
其中2.非常重要,直接影响编译
其中3.是用来保证使用动态库编译的程序运行找到动态库, 用静态库编译不使用。这个步骤需要重新启动电脑才可生效。
建议大家安装控件时1-3的步都要做。
有关VCL控件的安装和卸载等问题,在 http://www.cppfans.com/vclcontrol.asp 上有更详细的介绍。
【文件内容】
VCL\*.* 串口控件
Help\YbCommHelp.chm 帮助文档
Examples. 完整的示例程序,包括:
|- CommMcu 与单片机通讯:超时方法帧首尾识别的例子
|- ModemDial Modem 拨号的例子
|- SendBinary 二进制数据收发
|- SendPackage 数据包收发 (带首尾和控制符格式的)
|- SendPkgOld 与以前版本兼容的数据包收发 (带首尾和控制符的)
|- SendText 文本收发演示程序
|- Settings 自定义串口设置对话框,自己编 SettingsDialog 方法的对话框
|- SmpBinary 二进制数据收发,可以判断数据校验位是否正确
|- SmpSendFile 简单的文件收发演示程序
`- TestSendFile 文件收发演示程序
Source\*.* 控件源程序
readme.txt 您现在正在看的说明文件
license.txt 最终用户许可协议
【简单应用】
打开串口:
try
{
YbCommDevice1->Active = true;
}
catch(Exception &e)
{
Application->MessageBox(e.Message.c_str(),"错误信息",MB_OK|MB_ICONSTOP);
}
写数据
YbCommDevice1->Write(任意数据的地址,字节数);
例如
int i=5;
YbCommDevice1->Write(&i,sizeof(int));
YbCommDevice1->Write(Memo2->Text.c_str(), Memo2->Text.Length());
读数据
实际读出字节数 = YbCommDevice1->Read(任意缓存地址,缓存容量);
【新功能:识别完整的数据帧】
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
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 Chen
没有合适的资源?快使用搜索试试~ 我知道了~
非常方便的串口操作控件
共181个文件
cpp:53个
h:35个
dfm:25个
需积分: 9 8 下载量 31 浏览量
2008-10-11
06:58:10
上传
评论
收藏 1011KB RAR 举报
温馨提示
该控件将复杂的串口操作简单话,使串口通讯非常简单本人使用该控件,做了串口通讯程序。
资源推荐
资源详情
资源评论
收起资源包目录
非常方便的串口操作控件 (181个子文件)
Unit_YBComm32_About.bmp 630B
YBCommDevice.bmp 406B
yb_base_c6.bpi 25KB
yb_comm_c6.bpi 17KB
yb_comm_c6.bpk 7KB
yb_base_c6.bpk 4KB
yb_comm_c5.bpk 3KB
yb_base_c5.bpk 3KB
yb_base_c6.bpl 451KB
yb_comm_c6.bpl 158KB
Project1.bpr 6KB
Project1.bpr 6KB
Project1.bpr 5KB
Project1.bpr 5KB
TestSettings.bpr 5KB
TestSendFile.bpr 5KB
Project1.bpr 5KB
Project1.bpr 5KB
Project1.bpr 5KB
Project1.bpr 5KB
Project1.bpr 4KB
Project1.bpr 4KB
Project1.bpr 4KB
Project1.bpr 4KB
Project1.bpr 4KB
Project1.bpr 3KB
TestSettings.cfg 44B
YbCommHelp.chm 83KB
yb_chinese_data.cpp 1.95MB
yb_base_data.cpp 371KB
yb_base.cpp 129KB
TComm32.cpp 34KB
YbCommDevice.cpp 21KB
Unit_YbCommDevice_Settings.cpp 20KB
UnitCommSet.cpp 19KB
TCommPkg.cpp 15KB
UnitDial.cpp 14KB
Unit1.cpp 7KB
UnitSendFile.cpp 7KB
UnitOptions.cpp 7KB
TestSetData.cpp 6KB
Unit1.cpp 6KB
Unit1.cpp 6KB
Unit_YBComm32_About.cpp 6KB
Unit1.cpp 5KB
Unit1.cpp 5KB
UnitAbout.cpp 5KB
UnitMain.cpp 5KB
UnitHang.cpp 4KB
Unit1.cpp 4KB
Unit1.cpp 3KB
Unit1.cpp 2KB
Unit1.cpp 2KB
Unit1.cpp 2KB
Unit1.cpp 2KB
Unit1.cpp 2KB
YbCommDesignEditors.cpp 2KB
Unit1.cpp 2KB
Unit1.cpp 1KB
Project1.cpp 1KB
TestSettings.cpp 1KB
yb_comm_c5.cpp 1KB
TestSendFile.cpp 932B
Project1.cpp 925B
Project1.cpp 925B
Project1.cpp 925B
Project1.cpp 925B
Project1.cpp 925B
Project1.cpp 925B
Project1.cpp 925B
yb_comm_c6.cpp 733B
yb_base_c5.cpp 680B
Project1.cpp 678B
Project1.cpp 650B
Project1.cpp 650B
Project1.cpp 650B
Project1.cpp 650B
Project1.cpp 650B
yb_base_c6.cpp 524B
UnitTsData.cpp 344B
UnitTsData.cpp 344B
Unit1.ddp 51B
Unit1.ddp 51B
Unit1.ddp 51B
Unit1.ddp 51B
Unit1.ddp 51B
UnitSendFile.ddp 51B
UnitCommSet.ddp 51B
UnitDial.ddp 51B
UnitHang.ddp 51B
Unit1.ddp 51B
Unit1.ddp 51B
Unit1.ddp 51B
Unit_YBComm32_About.ddp 33B
Unit_YbCommDevice_Settings.ddp 33B
UnitDial.dfm 126KB
UnitOptions.dfm 10KB
Unit_YbCommDevice_Settings.dfm 8KB
Unit_YbCommDevice_Settings.dfm 8KB
UnitCommSet.dfm 7KB
共 181 条
- 1
- 2
资源评论
zhangzmcn
- 粉丝: 6
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功