Aggiungere i file di progetto.

This commit is contained in:
andrea
2025-12-24 16:41:31 +01:00
parent 0ff8e6ea52
commit 28c4c7427f
9 changed files with 477 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
using System;
using System.IO.Ports;
using System.Text;
public class SerialManager : IDisposable
{
private SerialPort _serialPort;
public event Action<string>? DataReceived;
public bool IsOpen => _serialPort?.IsOpen ?? false;
public SerialManager(string portName, int baudRate)
{
_serialPort = new SerialPort(portName, baudRate)
{
Encoding = Encoding.ASCII,
NewLine = "\n"
};
_serialPort.DataReceived += OnDataReceived;
}
public void Open()
{
if (!_serialPort.IsOpen)
_serialPort.Open();
}
public void Close()
{
if (_serialPort.IsOpen)
_serialPort.Close();
}
public void Send(string data)
{
if (_serialPort.IsOpen)
_serialPort.WriteLine(data);
}
private void OnDataReceived(object sender, SerialDataReceivedEventArgs e)
{
string data = _serialPort.ReadLine();
DataReceived?.Invoke(data);
}
public void Dispose()
{
Close();
_serialPort.Dispose();
}
}