# Recibiendo Datos Entrantes

Simple Serial Manager implementa un evento personalizado para manejar los datos recibidos del objetivo. La librería recibe paquetes internamente a través de SerialPort.DataReceived Event (opens new window).

Mientras el puerto serial esté abierto, puede verificar los datos entrantes en tiempo real usando un evento expuesto llamado OnDataReceived.

# ReceivedDataEventArgs

Ésta es una clase que contiene el evento OnDataReceived, provee un valor para usar argumentos para eventos que no incluyen datos de evento.

# Valores del argumento

Los siguientes son los valores que puedes obtener usando este ReceivedDataEventArgs

Tipo Nombre Descripción
int ReceivedBytes El conteo de bytes recibido en el paquete entrante
string ReceivedData El dato recibido representado en cadena de texto
byte[] ReceivedDataInBytes El rato recibido representado en array de byte

# Código de ejemplo

En el siguiente ejemplo, podrás conocer como añadir un oyente (listener) al evento ReceivedData, remover ese mismo listener y recibir datos cuando sea necesario.

private void OpenPort(string Port)
{
    simplePort.Open(Port, 115200, 8, SimpleStopBits.One);
    if (simplePort.IsOpen)
    {
        Console.WriteLine("Puerto abierto");
        // Se recomemienda añadir el listener luego de abrir el puerto serial.
        simplePort.OnDataReceived += OnReceiveData; 
    }
    else
        Console.WriteLine("No se puede abrir el puerto");

}

private void OnReceiveData(object sender, SimpleSerialManager.ReceivedDataEventArgs e)
{
    // Método donde puedes usar los datos recibidos.
    Console.WriteLine($"Bytes recibidos: {e.Packet.ReceivedBytes}\nDatos: {e.Packet.ReceivedData}");
}

private void ClosePort()
{
    if (simplePort.IsOpen)
    {
        simplePort.Close();
        // Se recomemienda remover el listener luego de abrir el puerto serial.
        simplePort.OnDataReceived -= OnReceiveData;
    }
}
Last Updated: 8/11/2022, 20:03:50

Made by Andres Ruiz with ❤️
All rights reserved © 2024