[VB6 ] RS-232迴路測試問題

看板Visual_Basic作者 (布魯斯)時間15年前 (2010/07/19 22:32), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
小弟是VB新手中的新手 因工作上需要用VB撰寫一個利用RS-232通訊的控制功能 但發生一個問題 小弟的電腦是XP (原本的OS原本為VISTA,重新灌回XP,但VISTA好像有佔據硬碟某部份) 然後因為NB沒有COM PORT, 所以買了一個USB-RS232的轉接線 我試著照範例寫出一個簡易測試RS232通訊迴路程式 (把com接腳 2-3短接,然後自問 自收的方式) 測試發送接收功能. 但今天測試時,發現只要按send鈕,就會當機 就整個程式當在那邊無法動作 必須以ctrl +Alt+ del關閉才行 但今天換到另一台NB(XP系統,也是用USB轉RS232線),就不會有這樣情況產生 按send時,很順利 按input時,也順利收到資料 但有時候按input接收資料時,會停頓一陣子,然後才會顯示接收的資料. 看過系統/裝置管理員/連接埠的地方 ,com代號設定沒問題 小弟新手 想破頭,還是不清楚問題出在哪邊? 導致第一台NB執行程式時,會當機? 第二台電腦在讀取資料時很順利,但是為什麼有時候會停頓一陣子? 不是應該馬上就會接收資料? 希望能有高手幫忙指導小弟解決問題 感謝 程式如下 Option Explicit '''''''''''''''''''''''''''''''''''''' '使用命令按鈕控制項 '關閉通訊埠 '結束系統 ' '''''''''''''''''''''''''''''''''''''' Private Sub CmdExit_Click() Comm1.PortOpen = False End End Sub '''''''''''''''''''''''''''''''''''''' '使用命令按鈕控制項 '接收由通訊埠傳送過來的字串,並判斷之 ' '''''''''''''''''''''''''''''''''''''' Private Sub CmdReceive_Click() Dim buf$ buf = Trim(Comm1.Input) If Len(buf) = 0 Then txtReceive.Text = "Empty" Else txtReceive.Text = buf End If End Sub '''''''''''''''''''''''''''''''''''''' '使用命令按鈕控制項 '將資料由通訊埠傳送出去 ' '''''''''''''''''''''''''''''''''''''' Private Sub CmdSend_Click() Comm1.Output = Trim(txtSend.Text) End Sub '''''''''''''''''''''''''''''''''''''' '表單的載入事件 '開啟通訊埠,通訊埠的設定參數也可以 '在開啟前作設定 ' '''''''''''''''''''''''''''''''''''''' Private Sub Form_Load() Comm1.PortOpen = True End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.141.209

07/19 22:49, , 1F
當機(debug mode)的時候要不要試試ctrl+break...?
07/19 22:49, 1F

07/19 23:17, , 2F
ctrl+break後 螢幕也是當在那邊.視窗留著但無法動作.
07/19 23:17, 2F

07/20 16:49, , 3F
已解決. 最後發現為傳輸線的driver出問題. 更新後正常.
07/20 16:49, 3F
文章代碼(AID): #1CH67tOD (Visual_Basic)