C# SerialConsoleApp2: Gestión básica de la línea serie

A partir del ejercicio C# SerialConsoleApp1: Gestión básica de la línea serie vamos a seguir refinando nuestra clase básica para comunicaciones RS232.

Constructor

Hemos sobrecargado el método OpenCOMPort para simplificarlo, el nuevo método sólo recibe el parámetro con la cadena que define el puerto que queremos abrir, en la mayoría de los casos el resto de parámetros se mantienen y suelen ser los mismos.

Definimos una serie de constantes como atributos de la clase con los valores por defecto.

Destructor de la clase

También comprobamos en el destructor de la clase si el puerto aún sigue abierto y si es así lo cerramos.

GetPortList: Nuevo método

Definimos un nuevo método para obtener la lista de puertos y así poder hacer lo que queramos (no solo mostrarlos por consola), por ejemplo alimentar un selector desplegable con esta información en una aplicación de ventanas.

El nuevo método retorna una lista de cadenas. Una clase List<T> representa una colección de objetos del mismo tipo indexados en una lista por posición. Al igual que cualquier clase tiene un constructor, propiedades y métodos (Add, BinarySearch, …)

Su uso es igualmente sencillo:

Leer de la línea serie byte a byte

Vamos a mejorar ligeramente el método de lectura para leer el buffer serie un valor cada vez, esto nos permite mayor control de la información leída realizando un tratamiento de cada byte a medida que llega.

Resultado

Volvemos a conectar el Arduino del primer ejercicio para poder leer la cadena que envía.

 

Anuncios