最近看到網路上有人說在VB.net寫Rs232的連線程式好像沒有VB6那麼的人性化,剛好最近有一個案子
也須要用到這個功能,我之前也寫過VB6的確實很方便,只要把參數設一設基本上就沒什麼問題了,只須
寫少許的程式碼,後來換到vb.net的平台一開始好像也像其他人說的怎麼那麼不人性化,其實VB.net寫
Rs232的連結程式才方便,所以我就將教學放上來,其實是怕自已以後忘了,不過真的很方便,我也有上
網找一下其他人寫的範例,但怎麼看都好複雜,明明就很簡單的東西!
(一) 首先在您的軟体介面上拉下這幾個元件。
(二)在來點二下 開啟的按鈕
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輸出的資料
以上的程式就可以完成了!
值班美女