De serie.lectura de la función en Arduino

De serie.lectura de la función en Arduino
De serie.ReadBytes () es una función en Arduino que permite la lectura de un número especificado de bytes del búfer en serie y los guarda en un búfer de matriz. Esta función se puede usar para leer datos binarios, como lecturas de sensores, desde un dispositivo externo conectado a la placa Arduino.

Esta función terminará si se ha leído la longitud definida de los caracteres o si el tiempo de espera (en serie.setTimeout ()). Si devuelve 0, eso significa que no hay datos válidos disponibles.

Sintaxis
La siguiente es la sintaxis de serial.Función ReadBytes ():

De serie.Readbytes (búfer, longitud)

Parámetros

buffer: La matriz de búfer para almacenar los bytes recibidos. Los tipos de datos permitidos son Char Array o Byte.

longitud: Esto se refiere al número específico de bytes que deben recuperarse del búfer en serie. El tipo de datos permitido es int.

Devoluciones

El número de bytes leídos del búfer en serie.

Código de ejemplo

El siguiente código explica el uso de serial.Función ReadBytes () en Arduino.

const int buffer_size = 50;
char buf [buffer_size];
setup () void
De serie.comenzar (9600);
De serie.setTimeOut (5000); // Establecer el período de tiempo de espera a 5000 milisegundos (5 segundos)

bucle void ()
// esperar datos entrantes
mientras (en serie.disponible () == 0)
// hacer nada

// Lea los bytes entrantes:
int rlen = serial.readbytes (buf, buffer_size);
// Imprime los datos recibidos
De serie.imprimir ("Recibí:");
para (int i = 0; i < rlen; i++)
De serie.imprimir (buf [i]);

En el código anterior, la función Setup () establece el período de tiempo de espera en 5 segundos usando De serie.SetTimeOut (5000).

En la función bucle (), el programa ingresa un bucle de tiempo que espera datos entrantes al verificar si De serie.disponible() es mayor que 0. Esto mientras Loop garantiza que el programa espere hasta que los datos estén disponibles antes de intentar leerlo, y saldrá tan pronto como se reciban los datos.

Una vez que se detectan los datos entrantes, el programa lee los bytes utilizando Serial.readbytes () y los almacena en el bufón formación. Los datos recibidos se imprimen luego en el monitor en serie utilizando un bucle for que itera sobre la matriz BUF.

Producción
Aquí en la salida, podemos ver el número de bytes leídos por la función.

Conclusión

El serial.ReadBytes () es una función en Arduino que permite la lectura de un número especificado de bytes del búfer en serie y los guarda en un búfer de matriz. Da bytes de lectura total, o -1 si no hay datos disponibles y devuelve 0 si no hay una entrada válida. Esta función se usa comúnmente en programas Arduino que requieren comunicación con dispositivos externos a través de una conexión en serie.