專屬BCB用Serial Port的VCL套件 |
|
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
最近在找原有舊的SERIAL VCL的升級套件,無意間在對岸看到了這個功能強大且簡單的VCL套件,將原來複雜的設定給簡單化了,提供給各位同好參考一下
================================ Victor Chen的家 www.cppfans.com/vclcontrol.asp ================================ 以下為簡介 ======================================================================= Victor 串口 VCL 控件,使用簡介 使用非常簡單, 保你拿來就會!!! 完全的 VCL 風格, 雙擊控件可設置常用參數。 本頁內容: ①新功能演示, ②簡單的使用串口, 更詳細的內容請參考控件用法詳細說明。 所有演示程序和幫助文檔都包含在控件包裡面了, 不需要單獨下載了。 ①新功能演示: 與單片機或儀表通訊, 使用 PackageType = cptFrameTimeout; 方式, 將接收到完整的每幀單片機數據! 本程序是在 OnPackage 事件裡接收數據, 也可以在定時器, 或者其他任何想接收數據的地方接收, 包括線程。 //--------------------------------------------------------------------------- __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 Memo1->Lines->Add(s); //在 Memo1 裡顯示出收到的數據, 將會是完整的一幀數據 } } //--------------------------------------------------------------------------- ②簡單的使用串口: 打開串口: 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(任意緩存地址,緩存容量); ======================================================================= 順便代為提供檔案,造福不能連到對岸同胞網站的同好,若有不妥,還煩請站長刪除,謝謝。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |