Victor

所属分类:通讯编程
开发工具:C++ Builder
文件大小:2682KB
下载次数:30
上传日期:2006-06-16 18:26:40
上 传 者wgcrown
说明:  启用数据帧识别功能可使收到的数据永远是完整的每帧数据! 单片机开发者再也不用为数据帧首尾识别而烦恼了! 1.支持二进制数据和文本数据的收发 2.支持任意格式的数据的收发 3.支持两种数据包协议(识别每帧数据首尾的方法): ①超时判断数据首尾, 适用于与单片机和仪表的通讯 ②帧首尾和控制符, 适用于大量复杂的数据传输, 例如文件收发等
( Begins using the data which the data frame recognition merit prefers to cause to receive forever is the complete each data! The monolithic integrated circuit development did not need for the data frame head and tail to distinguish but the worry again! 1. Support binary system data and text data receiving and dispatching 2. Support free form data receiving and dispatching 3. Supports two kind of data packets agreement (to distinguish each data head and tail method): (1) overtime judgement data head and tail, is suitable for with the monolithic integrated circuit and the measuring appliance communication (2) head and tail and the instruction character, is suitable to the massive complex data transmission, for example document receiving and dispatching and so on )

文件列表:
Victor\Source\yb_base.cpp (132064, 2004-11-23)
Victor\Source\yb_base.h (55858, 2004-11-23)
Victor\Source\yb_base_c5.bpk (3039, 2003-10-04)
Victor\Source\yb_base_c5.cpp (680, 2003-01-23)
Victor\Source\yb_base_c5.res (1728, 2003-10-04)
Victor\Source\yb_base_c6.bpk (4368, 2004-11-01)
Victor\Source\yb_base_c6.cpp (524, 2003-01-19)
Victor\Source\yb_base_c6.res (1692, 2004-11-01)
Victor\Source\TComm32.cpp (34912, 2004-09-14)
Victor\Source\TComm32.h (13177, 2004-09-14)
Victor\Source\TCommPkg.cpp (15721, 2004-09-05)
Victor\Source\TCommPkg.h (7121, 2004-09-05)
Victor\Source\Unit_YBComm32_About.bmp (630, 2003-01-20)
Victor\Source\Unit_YBComm32_About.cpp (5632, 2004-09-05)
Victor\Source\Unit_YBComm32_About.ddp (33, 2004-09-05)
Victor\Source\Unit_YBComm32_About.dfm (4723, 2003-01-20)
Victor\Source\Unit_YBComm32_About.h (2887, 2003-01-20)
Victor\Source\Unit_YbCommDevice_Settings.cpp (20483, 2003-09-27)
Victor\Source\Unit_YbCommDevice_Settings.ddp (33, 2003-09-27)
Victor\Source\Unit_YbCommDevice_Settings.dfm (8183, 2003-08-20)
Victor\Source\Unit_YbCommDevice_Settings.h (5812, 2003-08-20)
Victor\Source\yb_comm_c5.bpk (3575, 2003-10-04)
Victor\Source\yb_comm_c5.cpp (1050, 2003-03-23)
Victor\Source\yb_comm_c5.res (1700, 2003-10-04)
Victor\Source\yb_comm_c6.bpk (6971, 2004-11-01)
Victor\Source\yb_comm_c6.cpp (733, 2004-09-04)
Victor\Source\yb_comm_c6.res (1656, 2004-11-01)
Victor\Source\yb_comm_res.rc (78, 2004-09-04)
Victor\Source\YbCommDesignEditors.cpp (1998, 2004-09-04)
Victor\Source\YbCommDesignEditors.h (827, 2004-09-04)
Victor\Source\YBCommDevice.bmp (406, 2002-10-07)
Victor\Source\YbCommDevice.cpp (21131, 2004-09-14)
Victor\Source\YbCommDevice.h (13411, 2004-09-14)
Victor\Source\yb_base_data.cpp (379437, 2004-10-28)
Victor\Source\yb_chinese_data.cpp (2039944, 2005-02-01)
Victor\Source (0, 2005-02-01)
Victor\VCL\TComm32.h (13177, 2004-09-14)
Victor\VCL\TCommPkg.h (7121, 2004-09-05)
Victor\VCL\Unit_YBComm32_About.dfm (4723, 2003-01-20)
Victor\VCL\Unit_YbCommDevice_Settings.dfm (8183, 2003-08-20)
... ...

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.添加一个 TBASE*** 类,处理 BASE*** 编解码的类,可自定义编码表。 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; iLines->Add(s); //在 Memo1 里显示出收到的数据, 将会是完整的一帧数据 } } //--------------------------------------------------------------------------- 谢谢您对Victor串口控件的支持! 欢迎到我的网站上讨论串口控件的问题! ---- Victor Chen

近期下载者

相关文件


收藏者