線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3042
推到 Plurk!
推到 Facebook!

RS232如何自動傳輸?

答題得分者是:暗黑破壞神
joiskares
一般會員


發表:2
回覆:2
積分:0
註冊:2007-04-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-15 13:13:44 IP:218.162.xxx.xxx 訂閱
請問各位大大!!
我把要傳出去的資料,寫成幾個按鍵,單按鍵傳輸的時候沒有問題!!
但是要做成一按 按鍵連續傳送資料時,卻不行。
例:
按鍵一 :按下的時候 資料傳送 0x01, 0x02, 0xff, 0xa5...
按鍵二 :按下的時候 資料傳送 0x34 , 0x47 ,0x48......
按鍵三 :按下的時候 資料傳送 按鍵一 按鍵二 的資料 自動連續的傳輸

請問依下有什麼方法可以做到呢?
BUTTON 元件的事件 有按下去就一直連續執行程式 ,放開就不執行程式的嗎?
麻煩各位大大幫忙一下!!謝謝!!


暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-15 15:35:15 IP:218.170.xxx.xxx 未訂閱
說說為何不行?
卡在那裏?
joiskares
一般會員


發表:2
回覆:2
積分:0
註冊:2007-04-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-05-15 17:32:27 IP:218.162.xxx.xxx 訂閱

===================引 用 暗黑破壞神 文 章===================
說說為何不行?
卡在那裏?

暗黑大大你好~~
小弟把要傳輸的資訊寫成一個個函式:
做一個BUTTON 去執行程式:
能傳出RUNON的資料
RUNOFF的資料就傳不出去
小弟剛學不久...
請教大大
是否有什麼辦法可以把button元件按著就連續傳輸資訊,放開就停止傳送?

<textarea class="cpp" rows="10" cols="60" name="code">void __fastcall TForm1::RUNON(void) { DynamicArray ByteSend; ByteSend.Length =11; ByteSend[0] = 0x12; ByteSend[1] = 0x17; ByteSend[2] = 0x00; ByteSend[3] = 0xF2; ByteSend[4] = 0x86; ByteSend[5] = 0x00; ByteSend[6] = 0x01; ByteSend[7] = 0x11; ByteSend[8] = 0x00; ByteSend[9] = 0xF8; ByteSend[10] = 0xF2; T_RS232.RS232_Open(); Form1->blRS232Open=1; T_RS232.OutputByte(ByteSend); } void __fastcall TForm1::RUNOFF(void) { DynamicArray ByteSend; ByteSend.Length =11; ByteSend[0] = 0x12; ByteSend[1] = 0x17; ByteSend[2] = 0xA3; ByteSend[3] = 0xF2; ByteSend[4] = 0xF6; ByteSend[5] = 0x00; ByteSend[6] = 0x01; ByteSend[7] = 0x31; ByteSend[8] = 0x00; ByteSend[9] = 0xF8; ByteSend[10] = 0xFF; T_RS232.RS232_Open(); Form1->blRS232Open=1; T_RS232.OutputByte(ByteSend); } void __fastcall TForm1::RUNONButtonClick(TObject *Sender) { Form1->RUNON();//傳送出去 可以接收到 Form1->RUNOFF();//不會傳出去不知道為什麼? } //RS232.cpp bool __fastcall TRS232::OutputByte(const DynamicArray& ByteData) { DWORD lrc,SendNum; int i; byte ch; if(hComm==0) { ShowMessage("COM Port is not yet!"); return(false); } for(i=ByteData.Low;i<=ByteData.High;i ) { ch=ByteData[i]; WriteFile(hComm,&ch,1,&lrc,NULL); } return(true); } </textarea>
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-05-15 20:07:37 IP:218.170.xxx.xxx 未訂閱
你先搞清楚 button 這個元件有沒有提供這樣的功能。

===================引 用 joiskares 文 章===================
是否有什麼辦法可以把button元件按著就連續傳輸資訊,放開就停止傳送?

系統時間:2024-03-29 17:36:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!