-
大小: 229KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-06-18
- 语言: 其他
- 标签: C# socket serialPort
资源简介
一款TCP转串口的转发工具,本人亲自开发,提学习和交流。 程序将来自TCP服务端发送过来的socket数据转到串口发送出去,架起了TCP与串口之前的通讯, 程序测试稳定可靠。使用vs2017开发。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace SocketToSerialPort
{
class Class1
{
public SerialPort _serialPort = null;
//定义委托
public delegate void SerialPortDataReceiveEventArgs(object sender SerialDataReceivedEventArgs e byte[] bits);
//定义接收数据事件
public event SerialPortDataReceiveEventArgs DataReceived;
public bool ReceiveEventFlag = false; //接收事件是否有效 false表示有效
///
/// 构造函数可以自定义串口的初始化参数
///
/// 需要操作的COM口名称
/// COM的速度
/// 奇偶校验位
/// 数据长度
/// 停止位
public Class1(string comPortName int baudRate Parity parity int dataBits StopBits stopBits)
{
_serialPort = new SerialPort(comPortName baudRate parity dataBits stopBits);
setSerialPort();
}
///
/// 设置串口资源还需重载多个设置串口的函数
///
void setSerialPort()
{
if (_serialPort != null)
{
//设置触发DataReceived事件的字节数为1
_serialPort.ReceivedBytesThreshold = 1;
//接收到一个字节时,也会触发DataReceived事件
_serialPort.DataReceived += new SerialDataReceivedEventHandler(_serialPort_DataReceived);
}
}
///
/// 打开串口资源
///
public bool openPort()
{
bool ok = false;
//如果串口是打开的,先关闭
if (_serialPort.IsOpen)
_serialPort.Close();
try
{
//打开串口
_serialPort.Open();
ok = true;
}
catch (Exception Ex)
{
throw Ex;
}
return ok;
}
///
/// 关闭串口资源操作完成后一定要关闭串口
///
public void closePort()
{
//如果串口处于打开状态则关闭
if (_serialPort.IsOpen)
_serialPort.Close();
}
///
/// 获取端口连接状态
///
///
public bool getIsOpen()
{
//如果串口是打开的,true否则为false;
bool flag = false;
try { flag = _serialPort.IsOpen; }
catch { }
return flag;
}
///
/// 接收串口数据事件
///
///
///
void _serialPort_DataReceived(object sender SerialDataReceivedEventArgs e)
{
if (ReceiveEventFlag) return;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 47104 2019-09-10 16:35 Test\.vs\Test\v15\.suo
文件 0 2019-09-09 16:00 Test\.vs\Test\v15\Server\sqlite3\db.lock
文件 593920 2019-09-10 10:31 Test\.vs\Test\v15\Server\sqlite3\storage.ide
文件 32768 2019-09-10 08:36 Test\.vs\Test\v15\Server\sqlite3\storage.ide-shm
文件 4128272 2019-09-10 16:21 Test\.vs\Test\v15\Server\sqlite3\storage.ide-wal
文件 189 2019-09-09 16:00 Test\SocketToSerialPort\App.config
文件 14848 2019-09-10 16:34 Test\SocketToSerialPort\bin\Debug\SocketToSerialPort.exe
文件 189 2019-09-09 16:00 Test\SocketToSerialPort\bin\Debug\SocketToSerialPort.exe.config
文件 44544 2019-09-10 16:34 Test\SocketToSerialPort\bin\Debug\SocketToSerialPort.pdb
文件 6123 2019-09-09 18:14 Test\SocketToSerialPort\Class1.cs
文件 3189 2019-09-10 14:49 Test\SocketToSerialPort\Form1.cs
文件 4880 2019-09-10 14:49 Test\SocketToSerialPort\Form1.Designer.cs
文件 5817 2019-09-10 14:49 Test\SocketToSerialPort\Form1.resx
文件 1443 2019-09-09 22:46 Test\SocketToSerialPort\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7124 2019-09-10 00:02 Test\SocketToSerialPort\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 42 2019-09-10 16:34 Test\SocketToSerialPort\obj\Debug\SocketToSerialPort.csproj.CoreCompileInputs.cache
文件 703 2019-09-10 16:34 Test\SocketToSerialPort\obj\Debug\SocketToSerialPort.csproj.FileListAbsolute.txt
文件 1012 2019-09-10 16:34 Test\SocketToSerialPort\obj\Debug\SocketToSerialPort.csproj.GenerateResource.cache
文件 14848 2019-09-10 16:34 Test\SocketToSerialPort\obj\Debug\SocketToSerialPort.exe
文件 44544 2019-09-10 16:34 Test\SocketToSerialPort\obj\Debug\SocketToSerialPort.pdb
文件 180 2019-09-10 16:34 Test\SocketToSerialPort\obj\Debug\SocketToSerialPort.Properties.Resources.resources
文件 180 2019-09-10 16:34 Test\SocketToSerialPort\obj\Debug\SocketToSerialPort.TcpToSerialPort.resources
文件 0 2019-09-09 16:00 Test\SocketToSerialPort\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2019-09-09 16:00 Test\SocketToSerialPort\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2019-09-09 16:00 Test\SocketToSerialPort\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 540 2019-09-09 16:01 Test\SocketToSerialPort\Program.cs
文件 1334 2019-09-09 16:00 Test\SocketToSerialPort\Properties\AssemblyInfo.cs
文件 2849 2019-09-09 16:00 Test\SocketToSerialPort\Properties\Resources.Designer.cs
文件 5612 2019-09-09 16:00 Test\SocketToSerialPort\Properties\Resources.resx
文件 1105 2019-09-09 16:00 Test\SocketToSerialPort\Properties\Settings.Designer.cs
............此处省略22个文件信息
评论
共有 条评论