初始化上传

This commit is contained in:
2025-08-26 08:37:44 +08:00
commit 31d81b91b6
448 changed files with 80981 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
using System;
using SharpSerial;
namespace SharpModbus
{
public class ModbusSerialStream : IModbusStream
{
private readonly Action<char, byte[], int> monitor;
private readonly SerialDevice serialDevice;
private readonly int timeout;
public ModbusSerialStream(SerialSettings settings, int timeout, Action<char, byte[], int> monitor = null)
{
this.serialDevice = new SerialDevice(settings);
this.timeout = timeout;
this.monitor = monitor;
}
public void Dispose()
{
Tools.Dispose(serialDevice);
}
public void Write(byte[] data)
{
if (monitor != null) monitor('>', data, data.Length);
serialDevice.Write(data);
}
public int Read(byte[] data)
{
var response = serialDevice.Read(data.Length, -1, timeout);
var count = response.Length;
for (var i = 0; i < count; i++) data[i] = response[i];
if (monitor != null) monitor('<', data, count);
return count;
}
}
}