using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;
using System.Threading;
namespace JTQModBus
{
public class
JTQModBus
{
private SerialPort sp = new SerialPort();
private static Object thisLock = new Object();
#region 打开、关闭COM口
/// <summary>
/// 打开COM口
/// </summary>
/// <param
name="portName">COM口名称</param>
/// <param
name="baudRate">波特率</param>
/// <param
name="dataBits">数据位</param>
/// <param
name="parity">奇偶校验位</param>
/// <param
name="stopBits">停止位</param>
///
<returns></returns>
public bool Open(string portName, int baudRate, int dataBits,
Parity parity, StopBits stopBits)
{
bool err = true;
if (!sp.IsOpen)
{
sp.PortName = portName;
sp.BaudRate = baudRate;
sp.DataBits = dataBits;
sp.Parity = parity;
sp.StopBits = stopBits;
sp.DtrEnable = true;//启用控制终端就续信号
sp.RtsEnable = true; //启用请求发送信号
sp.ReadTimeout = 1000;
sp.WriteTimeout = 1000;
try
{
sp.Open();
}
catch (Exception ex)
{
err = false;
}
}
return err;
}
/// <summary>
/// 关闭COM口
/// </summary>
///
<returns></returns>
public bool Close()
{
bool err = true;
if (sp.IsOpen)
{