本人想写一个简单的用C#写的serialport串口通信代码,请会的帮写下代码发我邮件,感激不尽,具体功能如下

具体功能为:发送一个发送码给下位机,然后就接收下位机发送来的一个数字,判断其是否发送完毕,数据格式要正确。接收到做点提示,最好给点注释。谢谢。万分感激,好人一生平安!邮箱... 具体功能为:发送一个发送码给下位机,然后就接收下位机发送来的一个数字,判断其是否发送完毕,数据格式要正确。接收到做点提示,最好给点注释。谢谢。万分感激,好人一生平安!邮箱为1123352008@qq.com
没有分了哦,这是我能给的所有的分了,望见谅
展开
 我来答
yqsky3964
2013-06-04 · TA获得超过1875个赞
知道小有建树答主
回答量:1184
采纳率:0%
帮助的人:686万
展开全部
我给你写到一个类里了;

public class ComPort

{

//串口通讯对象

SerialPort taxPort;

//端口号默认是COM1

private string portName = "COM1";

//波特率默认是9600

private int baudRate = 115200;

//接收超时时间默认为1000

private double timeOut = 1000;

//数据位

private int dataBit = 8;

#region 构造函数

public ComPort()

{

taxPort = new SerialPort(portName);

taxPort.BaudRate = baudRate;

taxPort.DataBits = dataBit;

taxPort.Parity = System.IO.Ports.Parity.None;

taxPort.ReceivedBytesThreshold = 1;

taxPort.DataReceived += new SerialDataReceivedEventHandler(DataReceived);

}

#endregion

#region 析构函数

~ComPort()

{

this.Dispose(false);

}

public void Dispose()

{

Dispose(true);

}

protected virtual void Dispose(bool disposing)

{

if (disposing)

{

//释放托管资源

taxPort.Dispose();

}

//释放非托管资源先关闭再释放

Close();

taxPort.Dispose();

if (disposing)

{

// 对象会被 Dispose 方法释放.

// 调用GC.SupressFinalize将此对象从释放队列中清除

// 防止终结器对此对象重复释放。

GC.SuppressFinalize(this);

}

}

#endregion

#region 串口打开与关闭

/// <summary>

/// 打开串口

/// </summary>

/// <returns>是否成功</returns>

public bool Open()

{

try

{

if (taxPort.IsOpen != true)

{

taxPort.Open();

}

return true;

}

catch

{

return false;

}

}

/// <summary>

/// 关闭串口

/// </summary>

public void Close()

{

if (taxPort.IsOpen == true)

{

taxPort.Close();

}

}

#endregion

/// <summary>

/// 发送数据

/// </summary>

/// <param name="data"></param>

/// <returns></returns>

public bool Send_Data(byte[] data)

{

try

{

if (Open() == false)

{

Mess.ShowMessage("串口打开失败!请检查串口是否被占用!", 1);

return false;

}

TY_Method.delay(500);

taxPort.Write(data, 0, data.Length);

return true;

}

catch (Exception ex)

{

// Mess.ShowMessage("此次通讯错误!" + ex);

Close();

return false;

}

}

}

这是我自己程序里的通信类!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式