2.以类的方式
VB:
1) 定义SerialPort类实例
Dim SpCom As New System.IO.Ports.SerialPort()
2) 设置通讯端口号及波特率、数据位、停止位和校验位。
SpCom.PortName = "COM1"
SpCom.BaudRate = 9600
SpCom.Parity = IO.Ports.Parity.None
SpCom.DataBits = 8
SpCom.StopBits = IO.Ports.StopBits.One
或是定义时直接初始化
Dim SpCom As New System.IO.Ports.SerialPort("COM1", 9600, IO.Ports.Parity.Even, 8,
IO.Ports.StopBits.None)
3) 发送数据
SpCom.Write(TextSendData.Text)
4) 添加接受事件
a) 在运行时将事件与事件处理程序相关联
AddHandler SpCom.DataReceived, AddressOf EventReceiveData
说明:
AddressOf 创建引用特定过程的过程委托实例
AddressOf 运算符可以用作委托构造函数的操作数,或可以用在编译器能够确定委 托类型的上下文中。
b) 添加事件处理程序(签名一定要一致)
Sub EventReceiveData(ByVal sender As Object, ByVal e As
System.IO.Ports.SerialDataReceivedEventArgs)
5) 读取数据
Dim strT As String
strT = SpCom.ReadExisting()
C#:
1) 添加引用
using System.IO.Ports;
2) 定义SerialPort类实例
private SerialPort SpCom2 = new SpCom ("COM2", 9600,Parity.None, 8, StopBits.One);
3) 设置通讯端口号及波特率、数据位、停止位和校验位。
SpCom.PortName = "COM1";
SpCom.BaudRate = 9600;
SpCom.Parity = IO.Ports.Parity.None;
SpCom.DataBits = 8;
SpCom.StopBits = IO.Ports.StopBits.One;
或是定义时直接初始化
private SerialPort SpCom2 = new SpCom ("COM2", 9600,Parity.None, 8, StopBits.One);
4) 发送数据
SpCom.Write(TextSendData.Text);
5) 添加接受事件
a) 在运行时将事件与事件处理程序相关联(通过委托实现)
SpCom.DataReceived += new SerialDataReceivedEventHandler(SpCom2_DataReceived);
说明:
SerialDataReceivedEventHandler 委托 表示将处理 SerialPort 对象的 DataReceived 事件的方法
b) 添加事件处理程序(签名一定要一致)
private void SpCom_DataReceived(object sender, SerialDataReceivedEventArgs e)
6) 读取数据
string data = SpCom .ReadExisting();
联系客服