鴻展 asked in 科學工程學 · 1 decade ago

VB與RS232資料接收問題

請問VB高手,我用VB的MSComm接收外部dsPIC傳送進來得資料(dsPIC這邊傳訊都可以,用超級終端機是可以接收的),每次啟動VB,程式只要走到開啟MSComm就會停住,又沒有當機,但就是動不了,通訊都對"9600,n,8,1",停住時只要我把我ㄉ通訊埠COM5拔起來她就可以動了.

誰可以幫幫我

謝謝!!

Update:

內容如下,我現在只要按下Command1,它就停住了,麻煩告知怎ㄇ麼辦,謝謝!!

Private Sub Command1_Click()

If MSComm1.PortOpen = False Then

MSComm1.PortOpen = True

End If

End Sub

Private Sub Form_Load()

MSComm1.CommPort = 5

MSComm1.Settings = "9600,n,8,1"

End Sub

Private Sub MSComm1_OnComm()

End Sub

Update 2:

我也加入妳給我的程式了,不過我只按下Command1,它就整個卡住了

還是拔掉COM5,就可以動了,我看卡住時,電腦CPU使用率是100%內,

不知是怎麼了,另外9600,n,8,1"這個值,我用超級終端機試過是可以的.

請問水月大師你有遇過這種情形,卡了我好多天了

1 Answer

Rating
  • 水月
    Lv 6
    1 decade ago
    Favorite Answer

    你要把你的VB程式碼附上來,才能知道問題出在那裡?

    2010-01-11 13:41:44 補充:

    你在表單放入Text1,Command2,將下列程式寫入Command2內,就可以接收資料,你原來的程式只有開啟Port,並沒有接收資料,另外你設定的這些"9600,n,8,1"值,必須和PIC相同,否則也是無法收到資料,你試試看。

    Private Sub Command2_Click()

    Dim buf$

    buf = Trim(MSComm1.Input)

    If Len(buf) = 0 Then

    Text1.Text = "Empty"

    Else

    Text1.Text = buf

    End If

    End Sub

    2010-01-11 22:38:08 補充:

    我沒遇過你說的這種情形過,但是你可以改其他的ComPort試試看,你的ComPort是設5,一般電腦很少有這麼多ComPort,有可能是ComPort的問題,你試一下用其他的ComPort,看是否有問題。

Still have questions? Get your answers by asking now.