全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1142
推到 Plurk!
推到 Facebook!

請問一下利用51傳輸一個連續的8bit資料該如何利用TComm元件去接收

尚未結案
aaron8738352
一般會員


發表:13
回覆:7
積分:4
註冊:2003-12-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-08 20:25:33 IP:140.134.xxx.xxx 未訂閱
如題這是我所寫的程式:希望各位先進能指教一下 開啟TComm
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 //檢查通訊埠是否已被開啟
  if (Comm1->PortOpen)
  {
   ShowMessage("Port have been opened!");
   return;
  }
  //指定通訊埠
  if (rdCOM->ItemIndex==0)
  Comm1->CommPort=pnCOM1;
  else
  Comm1->CommPort=pnCOM2;
  Comm1->PortOpen = true; //開啟通訊埠
  Timer1->Enabled=true;
  }
利用Timer1在memo接收
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
 DynamicArray ByteReceive;
 long i;
 Delay(100);
 ByteReceive=Comm1->ReadInputByte();
 for(i=0;iText=mReceive->Text IntToStr(ByteReceive[i]) '\x0d' '\x0a';
}
請各位大大指教一下 發表人 - taishyang 於 2004/01/08 20:38:42
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-08 20:43:37 IP:140.135.xxx.xxx 未訂閱
aaron8738352您好: 您可以先將您所使用COM Port的第2 Pin與第3 Pin短路做傳送與接收測試 看是軟體的問題還是硬體(8051)的問題    順心
aaron8738352
一般會員


發表:13
回覆:7
積分:4
註冊:2003-12-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-09 09:18:45 IP:140.134.xxx.xxx 未訂閱
版主先進您好:我的硬體已經確定過可以正確收發出連續不段8bit的data,我想我程式部分應該是在顯示上有點小trouble,因為我不知該如何做到正確的顯示,動態陣列那裡我不是很懂,因為我的資料是不斷的發射的,請先進指教一下
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-09 14:12:00 IP:140.135.xxx.xxx 未訂閱
aaron8738352您好: 後來我仔細看了您的程式發現有一些問題 不需用Timer連續接收資料,只需在
Comm1ReceiveData事件中
加入接收資料的code即可,至於若要自動接收的話要做一些屬性的設定 在p4-60中4-3-4 元件事件測試-自動讀取資料(含範例) 中有詳細說明 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
系統時間:2024-04-23 16:00:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!