SerialPort类的常用属性及方法
- 格式:doc
- 大小:51.00 KB
- 文档页数:6
一、SerialPort类的常用属性
二、方法
三、数据发送示例
Private Sub fasong()
serialPort1.PortName = "COM1"
serialPort1.BaudRate = 9600
serialPort1.Open()
Dim data As Byte() = Encoding.Unicode.GetBytes(textBox1.Text)
Dim str As String = Convert.ToBase64String(data)
serialPort1.WriteLine(str)
MessageBox.Show("数据发送成功!", "系统提示")
End Sub
四、接受示例
Private Sub jieshou()
Dim data As Byte() = Convert.FromBase64String(serialPort1.ReadLine())
textBox2.Text = Encoding.Unicode.GetString(data)
serialPort1.Close()
MessageBox.Show("数据接收成功!", "系统提示")
End Sub
五、通过串口关闭对方计算机
(1)新建一个项目,命名为Ex13_02,默认窗体为Form1。
(2)在Form1窗体中,主要添加两个Button控件,分别用于打开通信串口和关闭对方计算机。
(3)主要程序代码。
Private Sub button1_Click(sender As Object, e As EventArgs) '打开串口
serialPort1.PortName = "COM1"
serialPort1.Open()
button1.Enabled = False
button2.Enabled = True
End Sub
'数据接收事件,等待接收关机命令
Private Sub serialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs)
Dim data As Byte() =
Convert.FromBase64String(serialPort1.ReadLine())
Dim str As String = Encoding.Unicode.GetString(data)
serialPort1.Close()
If str = "关机" Then
Dim p As New Process()
p.StartInfo.FileName = "cmd.exe"
eShellExecute = False
p.StartInfo.RedirectStandardInput = True
p.StartInfo.RedirectStandardOutput = True
p.StartInfo.RedirectStandardError = True
p.StartInfo.CreateNoWindow = True
p.Start()
p.StandardInput.WriteLine("shutdown /s")
p.StandardInput.WriteLine("exit")
End If
End Sub
'发送关机命令
Private Sub button2_Click(sender As Object, e As EventArgs) If button2.Text = "关闭计算机" Then
'发送关机命令数据
Dim data As Byte() = Encoding.Unicode.GetBytes("关机")
Dim str As String = Convert.ToBase64String(data)
serialPort1.WriteLine(str)
button2.Text = "取消关机"
Else
button2.Text = "关闭计算机"
button1.Enabled = True
button2.Enabled = False
'取消关机
Dim p As New Process()
p.StartInfo.FileName = "cmd.exe"
eShellExecute = False
p.StartInfo.RedirectStandardInput = True p.StartInfo.RedirectStandardOutput = True p.StartInfo.RedirectStandardError = True p.StartInfo.CreateNoWindow = True
p.Start()
p.StandardInput.WriteLine("shutdown /a") p.StandardInput.WriteLine("exit")
End If
End Sub