最近看到網路上有人說在VB.net寫Rs232的連線程式好像沒有VB6那麼的人性化,剛好最近有一個案子

也須要用到這個功能,我之前也寫過VB6的確實很方便,只要把參數設一設基本上就沒什麼問題了,只須

寫少許的程式碼,後來換到vb.net的平台一開始好像也像其他人說的怎麼那麼不人性化,其實VB.net寫

Rs232的連結程式才方便,所以我就將教學放上來,其實是怕自已以後忘了,不過真的很方便,我也有上

網找一下其他人寫的範例,但怎麼看都好複雜,明明就很簡單的東西!

(一) 首先在您的軟体介面上拉下這幾個元件。

01.jpg  

(二)在來點二下 開啟的按鈕

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 SerialPort1.DataBits = ComboBox1.SelectedItem '設定DataBit的值
        Select Case ComboBox2.SelectedIndex         '設定StopBits的值
            Case 0
                SerialPort1.StopBits = StopBits.One
            Case 1
                SerialPort1.StopBits = StopBits.Two
        End Select

        SerialPort1.PortName = cmbCOM.SelectedItem.ToString '設定PortName的值
        SerialPort1.Open() '開啟SerialPort

End Sub

(三)接下來就是接收值了,這個地方也是最多人會搞錯的地方,其本上上面的程式(步驟二)在SerialPort1屬性設定好也可以,就不用寫上述的程式,不過記得還是要寫SerialPort1.Open()

Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
        Dim buff() As Byte
        Dim s As String = ""

        ReDim buff(SerialPort1.BytesToRead - 1)
        SerialPort1.Read(buff, 0, buff.Length)
        For i As Integer = 0 To buff.Length - 1
            s += buff(i).ToString("X2")
            If j < 22 Then
                j = j + 1
            End If
          
        Next
        TextBox2.Text = TextBox2.Text & s & vbCrLf
    End Sub

這樣就可以接受Rs232輸出的資料

以上的程式就可以完成了!

值班美女

20110426_60faf4efee0df756808bGzuGrv6pW9d8.jpg  

arrow
arrow
    全站熱搜

    is90057 發表在 痞客邦 留言(20) 人氣()