大家好?用VB6自帶的串口控制元件開發一個小程式,接收從車間設備回傳的資料(計數),并存盤到網路資料庫當中。之前在我的電腦上(主板自帶串口)上運行這個小程式,沒有什么問題,回傳資料可以正常接收并保存到資料庫中。可當將程式移植到另外一臺電腦(該電腦沒有自帶串口,是通過一個USB轉232的配接器接識訓傳資料)上,這時問題就出現了:用串口助手或在VB6中用斷點除錯狀態下可以正常接識訓傳資料并運行。但如果編譯運行該程式,就無法正確接收該資料(代碼中是通過一個判斷陳述句來接收并保存資料,如果回傳的資料格式符合判斷陳述句的要求,就會執行下面的接收和保存陳述句,但這時就是不執行)。
說了這么多,我現在覺得問題就是出在回傳的資料格式上,自帶的串口就可以正確回傳資料格式;但利用轉接的設備就不行。我不知道各位大俠有沒有遇到過這種情況,幫我判斷一下,到底是不是這個問題?還是我的程式陳述句有問題。
在線急等!謝謝各位!
uj5u.com熱心網友回復:
用串口控制元件吧,然后在串口中斷里面判斷接收的資料流。不過沒看到代碼具體問題也不好說。
uj5u.com熱心網友回復:
老大,沒看到我上面已經說了嗎,用的就是VB自帶的串口控制元件,在MSComm_OnComm事件中進行的資料判斷啊
uj5u.com熱心網友回復:
呃,你在視窗里面添加一個文本框顯示接收到的資料流不就知道什么問題了么?這么簡單的自測驗都沒做過么?
uj5u.com熱心網友回復:
在另一臺電腦單步除錯過么?uj5u.com熱心網友回復:
PC機自帶的COM口C是雙工的,用Usb轉出的COM口是單工的,在發送時無法接收,接收時無法發送,且兩者轉換需要時間。uj5u.com熱心網友回復:
顯然延遲時間不夠或者說你的處理方式有問題,串口傳輸的速率與你代碼執行效率相比顯然要慢得多,加斷點導致你的程式中斷,但并不影響串口資料的接收,從中斷到恢復運行這段時間串口資料接收完成,所以運行正常,沒了中斷,沒有這段時間的延遲,串口資料還沒接收完你就去讀快取,顯然讀出的結果是不正確的,不能正常運行那還不是必然的結果。uj5u.com熱心網友回復:
安裝一遍VB,可能缺少檔案轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/98180.html
標籤:控件
上一篇:關于聯級查詢的問題求教!
下一篇:鏈接SQL資料庫代碼封裝DLL
