这是分配给COM1 的USB连接的RS-232C 1端口型号 COM-1(USB)H ,连同默认分隔符在内,发送输入文本框的字符串数据。
启动Visual Basic 2005 ,创建新项目,创建左图所示的画面。将SerialPort组件粘贴在画面上。确认SerialPort组件的属性的内容(设置波特率等通信参数)。
分隔符代码表示数据的分隔字符、分隔符号。虽然串行端口类的默认分隔符代码是“LF”,但需要结合连接的设备设置。遵循连接设备的规格书,使用合适的分隔符代码。
添加点击连接按钮、断开按钮时的处理。在Form1.vb记述以下代码。双击各对象(按钮等),如果双击按钮,记述按钮被按下时的处理的程序文件打开。在此记述想进行的处理。
Private Sub Button1_Click(... → 连接按钮被按下时的处理 Try ' 例外处理开始 If SerialPort1.IsOpen = True Then ' 端口已打开 MessageBox.Show("错误", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End If SerialPort1.PortName = TextBox1.Text ' 存储要打开的端口名 SerialPort1.Open() ' 端口开 Catch ex As Exception ' 例外处理 MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK,MessageBoxIcon.Error) End Try End Sub
Private Sub Button2_Click(... → 断开按钮被按下时的处理 If SerialPort1.IsOpen = True Then ' 端口已打开 SerialPort1.Close() ' 端口关闭 End If End Sub
Private Sub Button3_Click(... → 发送按钮被按下时的处理 If TextBox2.Text.Length = 0 Then ' 若无发送数据,则报错 MessageBox.Show("字符串输入错误", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub ' 跳过处理 End If Try SerialPort1.WriteLine(TextBox2.Text) ' 将数据写入发送缓冲区 Catch ex As Exception ' 例外处理 MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK,MessageBoxIcon.Error) End Try End Sub
在代码记述中更改分隔符代码,发送数据时,按照以下要求记述。
Dim strSend As String ' NewLine存储用字符串变量 strSend = SerialPort1.NewLine ' 取得NewLine strSend = strSend.Replace(vbLf, vbCr) ' 将字符中的LF转换为CR时 SerialPort1.NewLine = strSend ' 将置换后的分隔符存储在NewLine中 Try SerialPort1.WriteLine(TextBox2.Text) ' 将数据写入发送缓冲区 Catch ex As Exception ' 例外处理 MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try
有关Try - Catch - End Try 语句结构,请确认Visual Basic 2005 的参考书。
To PageTop