Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Meta en 8 Noviembre 2023, 21:40 pm



Título: Leer puro byte del puerto serie
Publicado por: Meta en 8 Noviembre 2023, 21:40 pm
Hola:

Teniendo Windows Form con el lenguaje C#. Quiero leer los bytes puros y duros de las tramas de bytes que me llega desde un puerto serie. Con esto quiero decir, que no quiero usar encoder (https://learn.microsoft.com/es-es/dotnet/api/system.text.encoder?view=net-7.0).

Me imagino que las tramas de Bytes recibidos se almacenará tipo array por cada byte recibido. Byte[] (https://learn.microsoft.com/es-es/dotnet/api/system.byte?view=net-7.0).

Si recibo esta trama de bytes como en este ejemplo:
#I225.2O225.7L007B100V25.8F50.2H50.2R0080S„€ˆ„À

Al recibir dicha trama de bytes de arriba, quiero almacenarlo en byte[] o lo que es lo mismo, meter cada byte recibidos desde el puerto serie, en un array tipo byte. Hay gente que lo meten en un string, también usan encoder. Prefiero recibir los bytes exactos desde el puerto serie. Usamos PCI o placas que tiene puerto serie como en este ejemplo (https://img.pccomponentes.com/articles/25/257434/conceptronic-tarjeta-pcie-2-puertos-serie-94251c91-2779-42e6-8216-89126e0c939a.jpg).

Se que para enviar tramas de bytes puros se envía así:
Código
  1. serialPort1.Write("#I225.2O225.7L007B100V25.8F50.2H50.2R0080S„€ˆ„À");

El problema es recibir dicha trama y mostrarla en un label.

¿Cuál es la mejor manera de recibir dichas tramas, almacenarlas en una variable tipo array y luego mostrarla en un label?

Saludos.