示例代码功能有:搜索全部串口,搜索可用串口,串口打开与关闭,字符串发送,字符串中断接收。发送接收用的是同一串口,测试时端接串口2、3脚即可。中断接收时无法直接显示收到字符(涉及到跨线程问题),用了个定时器定时刷新显示收到的字符串。
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
程序界面:
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
程序代码:
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
Imports System
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
Imports System.IO.Ports 使用SerialPort所引用的命名空间WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
Imports System.Threading 使用Thread所引用的命名空间WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
Public Class Form1
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
Dim strRec As String 接收字符串——可——编——程——控-制-器-技——术——门——户
Dim strSend As String 发送字符串WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
Dim intNum As Integer 接收字节数=字符数 1(vbLf)WWW_P※LCJS_CO※M-PLC-技-.术_网
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WWW_P※LCJS_COM-PLC-)技.术_网
ComboBox1.Items.Clear() 清空列表WW.W_PLC※JS_C,OM-PL,C-技.术_网
ComboBox2.Items.Clear()WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
For Each portName As String In My.Computer.Ports.SerialPortNamesWW.W_PLCJS_COM-PLC-技.术_网
ComboBox1.Items.Add(portName) 显示所有串口W1WW_P4LCJS_COM-PLC-技.术_网
TryWWW_P※LCJS_CO※M-PLC-技-.术_网
SerialPort1.PortName = portNameWWcW_PLCJS_COM-PLC-技.术_网
SerialPort1.Open()WWW_PLCJS_COM-PLC-技.术_网
ComboBox2.Items.Add(portName) 显示可用串口W1WW_P4LCJS_COM-PLC-技.术_网
SerialPort1.Close()WWW_PLCJS@_COM%-PLC-技.术_网
Catch ex As ExceptionP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
MsgBox("可用串口检查" & portName)WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
End TryWWW_P※LCJS_CO※M-PLC-技-.术_网
Next
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
If ComboBox1.Items.Count > 0 Then ComboBox1.SelectedIndex = 0P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
If ComboBox2.Items.Count > 0 ThenWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
ComboBox2.SelectedIndex = 0WWW_PL※CJS_COM-PLC-技.术_网
Button2.Enabled = True 有可用串口,可以打开操作WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
End IfWW.W_PLC※JS_C,OM-PL,C-技.术_网
End SubWWW_PL※CJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickWWW_PLCJS@_COM%-PLC-技.术_网
If Button2.Text = "打开串口" ThenWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
SerialPort1.PortName = ComboBox2.TextWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
If Not SerialPort1.IsOpen ThenWW.W_PLC※JS_C,OM-PL,C-技.术_网
SerialPort1.Open()WWW_PLC※JS_COM-PmLC-技.术_网