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

要如何用com port來傳送命令的主要程式....

尚未結案
ding741216
一般會員


發表:2
回覆:5
積分:1
註冊:2005-07-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-05 14:05:19 IP:218.169.xxx.xxx 未訂閱
目前...我也找到了有關RS232的支援元件... 但是我看了又看...實在是不知何種才是他的主要程式. 我想要將他可以給他一個如"Select"的值... 而他就有辦法將這個傳輸進去... 之後再傳出結果... 我覺得起初應該是開啟ComPort吧.. m_CommPort.Open(m_ModemPort, 115200, 8, Rs232.DataParity.Parity_None, _ Rs232.DataStopBit.StopBit_1, 4096) 之後我想Send一個command的給他... 但我一直不知該如何去Send 而Send完command後..我想要取的Buffer中的資料... 我也不知該如何來取得... 有誰可以幫助我嗎...
OsX
版主


發表:6
回覆:151
積分:111
註冊:2003-05-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-09 10:15:07 IP:60.248.xxx.xxx 未訂閱
這樣的問題不知如何回答起, 把使用的開發工具, 語言, 使用的元件列出, 可以的話順便 列出部份有問題的程式, 這樣其它版上人員也比較容易了解問題是什, 解答或指引妳解決問題的機率就高出許多.
ding741216
一般會員


發表:2
回覆:5
積分:1
註冊:2005-07-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-09 13:45:40 IP:218.161.xxx.xxx 未訂閱
我所使用的開發工具語言是VB.NET 但因為要使用RS232的Com port 我有找到的RS232 的程式在 Com port 控制上應該是屬於單獨的 *.vb檔 之後我也使用 new 使其元件活化 在VB 6.0 中是可以使用 M_CommPort.ouput="Select" 但是在VB.NET中並沒有此屬性... 我不知該如何去說明... 只能說..目前我是在做一個有關Reader的撰寫程式... 但是因為使用它所給我的.dll檔我無法做出.. 有人建議我可以使用它裡面的Command 但目前就是出在我根本不知該如何去Send此Command 上次你給我的建議...我也去找了... 我利用了Using the COM Port 的這個程式來改.. 但是在他的Send UserCommand的那個程式中.. 我不了解那是什麼的意思.. 也不了解Send ATCommand又和上方那個有何差別... 也許我這樣說還是不夠明確吧... 要是沒有人了解的話...我只好在另尋方法了...
OsX
版主


發表:6
回覆:151
積分:111
註冊:2003-05-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-12 13:53:15 IP:60.248.xxx.xxx 未訂閱
這個範例裏重點是 Rs232.vb, 它把底層使用 Win32API 包裝成 VB.NET 可以使用的類別, 就只差沒把它再進一步包裝好安裝到 元件盤上。 範例裏的主畫面有2個按鈕, 1 個是【Send AT Command】, 另 一個是【Send User Command】。 【Send AT Command】這個按鈕主要是送指令去控制 Modem ( 現在很少人用了吧 ? ), 因為幾乎絕大多數的 Modem 是接 在 ComPort 上, 而控制 Modem 的指令通稱 AT 指令集, 所以 範例上這個按鈕就是透過 ComPort 送指令到 Modem 上, 如果 你妳測試這個範例是有接上 Modem 的話, 那妳可以按下個按鈕 去跟 Modem 溝通。 但是 ComPort 不只可以接 Modem, 像人事用考勤刷卡鐘有部份 還是接在 ComPort 上接收刷卡資料, 而刷卡鐘的控制指令大部 份是每間廠商都不一樣, 這時候送下去的控制指令就必須跟廠商 拿介面手冊或是提供的元件或 Library 來使用, 沒有介面指令 的話, 就算妳接上 ComPort 也沒辦法控制, 這時候使用這個範例 時, 妳可以按 【Send User Command】 這個按鈕, 它會把妳打在 上方 txtSelectedModem 內容透過 ComPort 送到接上去的裝置, 如果指令對的話, 回傳回來的資料會顯示在右方的 txtStatus 內。 範例中是透過一個 Timer 元件, 定時去 Pooling ComPort 是否 有資料進來, 而送指令出去就是剛剛所講的那 2 個按鈕, 只不 過一個是送標準的 AT 指令 ( 控制 Modem 用 ), 一個是把妳打 的字送出去。 1. 先 Open ComPort , 使用 Open 方法, 如果沒有錯誤發生, 代表開啟 ComPort 正常。 2. 送指令出去, 使用 Write 的方法。 3. 接收資料的, 先用 Read 方法把資料從 ComPort 讀出,用 InputStream 或 InputStreamString 這 2 個方法把資料 從元件內的 Buffer 取出。 4. 最後用 Close 方法, 關閉開啟的 ComPort。
ding741216
一般會員


發表:2
回覆:5
積分:1
註冊:2005-07-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-13 13:21:59 IP:218.161.xxx.xxx 未訂閱
謝謝你的回應... 真的幫了我不少忙... 至少我現在知道是用InputStreamString或InputStream 取出Buffer的資料 真是感激... 但是若我不需要[Send AT Command]可以直接刪掉他嗎... 我可以就不要他嗎... 可是我看了看..覺得似乎他們都息息相關... 似乎刪除了一個就會有錯誤.... 我先做做看好了...有問題再問你...真是感謝... 對了..那我還想請問一下 在那個範例中有一個frmAbout.vb這個FORM... 在這個程式中又表示著什麼意思呢... 我可以只拿[Send User Command]這個鈕的程式以及RS232.VB的這個文件來嗎 還是其實在這個程式中...整個都是有關聯的呢... 我的確有Reader 的Library ... 原本是要用那個來直接寫... 但是太多的問題要解決...所以有人建議我... 直接用Comport來傳輸較快速..也較不容易出錯....
ding741216
一般會員


發表:2
回覆:5
積分:1
註冊:2005-07-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-08-13 13:27:50 IP:218.161.xxx.xxx 未訂閱
抱歉我在問一個問題我寫了個程式他說 m_CommPort.InputStreamString = buffer 屬性InputStream是ReadOnly是啥麼意思呀
OsX
版主


發表:6
回覆:151
積分:111
註冊:2003-05-03

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-08-14 22:29:40 IP:219.84.xxx.xxx 未訂閱
引言: 抱歉我在問一個問題我寫了個程式他說 m_CommPort.InputStreamString = buffer 屬性InputStream是ReadOnly是啥麼意思呀
唯讀的屬性, 只能透過這個屬性讀取值, 不能指定值給這個屬性。 Ex: string aRecv = m_CommPort.InputStreamString();
ding741216
一般會員


發表:2
回覆:5
積分:1
註冊:2005-07-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-08-16 14:17:27 IP:218.169.xxx.xxx 未訂閱
其實我是在研究一個有關RFID Reader的讀與寫的程式~~ 這是我們的專題研究的部分~~ 目前我想要先將讀的程式寫出來 第一就是要OpenCommand(Open Communication device) 第二就是要OpenReader 第三就是要SendCommand  第四就是要GetData 第五就是要CloseReader(close a reader) 最後是就要CloseComm(Close a communication device) 原本是要用他所給我的Dll檔來寫~~ 但是太多的問題~~所以我改成了以Comport傳命令的方式來寫~~ 可是在這部分我沒有學過~~ 不知如何用RS232的元件來開啟一個Command以及OpenReader 在SendCommand的部分應該是在我的Reader上本身就有一些的指令了吧 所以只要我給他一個Commands如同:"Select"或"Attenna on" 他應該就可以去執行了吧~~ 在這個程式我已經是了快2個月... 但是怎麼試都試不成~~已經快急破頭了~~希望有人可以教教我該怎麼辦~~ 但是我撰寫程式的功力很差~~所以可能要多麻煩各位可以為我多做解釋~~ 我大多都出在語法不知該如何使用~~以及該如何去寫~~ 原本使用它所給我的Dll檔做~至少可以做出個讀到第一筆的資料~ 但之後放入第二張卡後~~就完全錯了~~ 因為找不到錯誤~~所以有人告訴我改成Comport來做的話~~ 比較沒錯誤~~但是就是我本身也不了解~~所以到目前為止~~ 還是處在一個零的狀態下~~ 希望有人可以理解我的問題幫我解決一下~~ 我在這還是會一直試其他的方法~~
系統時間:2024-05-11 16:58:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!