求SerialPort使用方法
本人想利用vb.net做一个来电显示软件软件!但对通信控件了解太少!在网上了解了下!要用到SerialPort控件!看了许多资料,是越看越一头雾水?故求了解此控件用法的!...
本人想利用vb.net做一个来电显示软件软件!
但对通信控件了解太少!在网上了解了下!要用到SerialPort控件!
看了许多资料,是越看越一头雾水?
故求了解此控件用法的!
望有大虾指教! 展开
但对通信控件了解太少!在网上了解了下!要用到SerialPort控件!
看了许多资料,是越看越一头雾水?
故求了解此控件用法的!
望有大虾指教! 展开
2个回答
展开全部
vb.net Code
Imports System.IO.Ports
Imports System.Text
Public Class Form1
Dim RS232Com As New SerialPort
Dim mPortName As String
Public Sub OpenCOM()
mPortName = Me.CmbCom.SelectedItem.ToString
RS232Com = New SerialPort(mPortName, 9600, Parity.None, 8, StopBits.One)
RS232Com.Encoding = Encoding.ASCII
If Not RS232Com.IsOpen Then RS232Com.Open()
End Sub
Public Sub CloseCOM()
If RS232Com.IsOpen Then RS232Com.Close()
End Sub
Private Sub BtnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOpen.Click
Call OpenCOM()
End Sub
Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
Call CloseCOM()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each sp As String In SerialPort.GetPortNames
Me.CmbCom.Items.Add(sp)
Next
Me.CmbCom.SelectedIndex = 0
End Sub
Private Sub BtnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSend.Click
RS232Com.Write(Me.TextBox1.Text) '即写命令过去
End Sub
Private Sub BtnReceived_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnReceived.Click
Dim sOut As String
sOut = RS232Com.ReadExisting 'sOut即读到的字符串
End Sub
End Class
Imports System.IO.Ports
Imports System.Text
Public Class Form1
Dim RS232Com As New SerialPort
Dim mPortName As String
Public Sub OpenCOM()
mPortName = Me.CmbCom.SelectedItem.ToString
RS232Com = New SerialPort(mPortName, 9600, Parity.None, 8, StopBits.One)
RS232Com.Encoding = Encoding.ASCII
If Not RS232Com.IsOpen Then RS232Com.Open()
End Sub
Public Sub CloseCOM()
If RS232Com.IsOpen Then RS232Com.Close()
End Sub
Private Sub BtnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOpen.Click
Call OpenCOM()
End Sub
Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
Call CloseCOM()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each sp As String In SerialPort.GetPortNames
Me.CmbCom.Items.Add(sp)
Next
Me.CmbCom.SelectedIndex = 0
End Sub
Private Sub BtnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSend.Click
RS232Com.Write(Me.TextBox1.Text) '即写命令过去
End Sub
Private Sub BtnReceived_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnReceived.Click
Dim sOut As String
sOut = RS232Com.ReadExisting 'sOut即读到的字符串
End Sub
End Class
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
serial port,即串行端口,现在大多数硬件设备均采用串口技术与计算机相连,因此串口的应用程序开发越来越普遍。例如,在计算机没有安装网卡的情况下,将本机上的一些信息数据 传输到另一台计算机上,那么利用串口通信就可以实现。运行本程序,在“发送数据”文本框中输入要传送的数据,单击【发送】按钮,将传送的数据发送到所选择 的端口号中;单击【接收】按钮,传递的数据被接收到“接收数据”文本框中。
实现过程:
(1)新建一个项目,命名为Ex13_01,默认窗体为Form1。
(2)在Form1窗体中,主要添加两个Button控件,分别用于执行发送数据和接受数据,添加两个TextBox控件,用于输入发送数据和显示接收数据。
(3)主要程序代码。
private void button1_Click(object sender, EventArgs e)
{
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.Open();
byte[] data = Encoding.Unicode.GetBytes(textBox1.Text);
string str = Convert.ToBase64String(data);
serialPort1.WriteLine(str);
MessageBox.Show("数据发送成功!","系统提示");
}
private void button2_Click(object sender, EventArgs e)
{
byte[] data = Convert.FromBase64String(serialPort1.ReadLine());
textBox2.Text = Encoding.Unicode.GetString(data);
serialPort1.Close();
MessageBox.Show("数据接收成功!","系统提示");
}
相关技术:
现在微软推出了最新版本的 Visual Studio 2008 开发工具,可以不再采 用第三方控件的方法来设计串口通讯程序。NET Framework 2.0 类库包含了 SerialPort 类,方便地实现了所需要串口通讯的多种功能, 可以实现MSComm 编程方法快速转换到以 SerialPort 类为核心的串口通讯。
实现过程:
(1)新建一个项目,命名为Ex13_01,默认窗体为Form1。
(2)在Form1窗体中,主要添加两个Button控件,分别用于执行发送数据和接受数据,添加两个TextBox控件,用于输入发送数据和显示接收数据。
(3)主要程序代码。
private void button1_Click(object sender, EventArgs e)
{
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.Open();
byte[] data = Encoding.Unicode.GetBytes(textBox1.Text);
string str = Convert.ToBase64String(data);
serialPort1.WriteLine(str);
MessageBox.Show("数据发送成功!","系统提示");
}
private void button2_Click(object sender, EventArgs e)
{
byte[] data = Convert.FromBase64String(serialPort1.ReadLine());
textBox2.Text = Encoding.Unicode.GetString(data);
serialPort1.Close();
MessageBox.Show("数据接收成功!","系统提示");
}
相关技术:
现在微软推出了最新版本的 Visual Studio 2008 开发工具,可以不再采 用第三方控件的方法来设计串口通讯程序。NET Framework 2.0 类库包含了 SerialPort 类,方便地实现了所需要串口通讯的多种功能, 可以实现MSComm 编程方法快速转换到以 SerialPort 类为核心的串口通讯。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询