2.以类的方式
VB:
1) 定义SerialPort类实例
Dim SpCom As NewSystem.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 SpComAs NewSystem.IO.Ports.SerialPort("COM1", 9600, IO.Ports.Parity.Even, 8,
IO.Ports.StopBits.None)
3) 发送数据
SpCom.Write(TextSendData.Text)
4) 添加接受事件
a) 在运行时将事件与事件处理程序相关联
AddHandler SpCom.DataReceived,AddressOfEventReceiveData
说明:
AddressOf 创建引用特定过程的过程委托实例
AddressOf 运算符可以用作委托构造函数的操作数,或可以用在编译器能够确定委 托类型的上下文中。
b) 添加事件处理程序(签名一定要一致)
SubEventReceiveData(ByVal senderAs Object, ByVale 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) 添加事件处理程序(签名一定要一致)
privatevoidSpCom_DataReceived(object sender,SerialDataReceivedEventArgse)
6) 读取数据
string data = SpCom .ReadExisting();