De serie.ReadbyTesuntil Función en la programación de Arduino

De serie.ReadbyTesuntil Función en la programación de Arduino
Cuando se trata de programación con Arduino, hay muchas funciones que puede usar para manipular la entrada y la salida. Una función principal de Arduino es De serie.readbytesuntil (), que le permite leer datos de una transmisión hasta que se encuentre un carácter específico. Esta función ayuda a leer datos de dispositivos seriales hasta que encontremos los datos requeridos.

Esta redacción compila la serie.ReadByTesuntil () función en profundidad. Discutiremos qué es, cómo funciona y cubriremos el código Arduino que explica cómo usarlo en el código Arduino.

De serie.readbytesuntil ()

El serial.La función ReadByTesuntil () es parte de la clase de serie Arduino. Esta función lee datos de un flujo hasta que encuentre un carácter específico o un número máximo de bytes. Una vez que se encuentra el carácter o el número máximo de bytes, la función deja de leer y devuelve los datos que ha leído.

El serial.La función ReadByTesuntil () termina cada vez que se cumplen las siguientes condiciones:

  • Cuando la función detecta un carácter de terminador
  • Se alcanza la longitud del búfer definida
  • El tiempo establecido se pasa o se desprende

Esta función no devuelve el carácter Terminator, solo devuelve los datos al último carácter antes del Terminator. Cuando 0 se devuelve por esta función, significa que no se encuentran datos válidos.

Sintaxis

El serial.La función ReadByTesuntil () tiene la siguiente sintaxis:

De serie.ReadByTesuntil (char Terminator, char* buffer, size_t longitud);

Parámetros

Los siguientes son los parámetros de la serie de la función.ReadByTesuntil ():

  • Carácter de Terminator: El personaje que la función dejará de leer en.
  • buffer: En el búfer, los datos en serie de lectura son el tipo de datos permitido es una variedad de char o byte.
  • longitud: El número máximo de bytes para leer. El tipo de datos permitido es En t.

Devolver

El número de bytes colocados en el búfer.

Notas: En los datos de cambio, el carácter de terminator es descartado por la serie de la función.ReadByTesuntil () de la secuencia de datos.

Ejemplo de código Arduino

Siguiendo el código Arduino Explicar el uso de De serie.readbytesuntil () función:

setup () void
De serie.comenzar (9600); // Inicializar la conexión en serie con una tasa de baudios de 9600

bucle void ()
byte buffer [5]; // Defina una matriz de bytes para almacenar los datos entrantes
int numBytes = Serial.readbytesuntil ('\ n', buffer, 5); // Leer datos entrantes de la conexión en serie hasta que se encuentre un carácter de nueva línea
if (numBytes> 0) // verifique si se leyeron bytes
De serie.imprimir ("Carácter recibido:");
De serie.escribir (búfer, numbytes); // Imprima los datos recibidos en el monitor en serie
De serie.println ();

En la función de configuración () la tasa de baudio establecerá la comunicación en serie.

En la función Loop (), primero definimos una matriz de bytes llamada 'buffer'. Esta matriz se utilizará para almacenar los datos entrantes leídos de la conexión en serie.

A continuación, llamamos al De serie.readbytesuntil () Función, que lee datos entrantes de la conexión en serie hasta que encuentra un carácter nuevo ('\ n'). El siguiente argumento es la longitud del búfer que tomará un máximo de 5 bytes de datos a la vez.

El byte devuelto se almacena en el 'numbytes' variable. En caso de que si los datos recibidos son mayores que la longitud del búfer, los datos se terminarán y se enviarán en el siguiente flujo de datos.

Producción

Conclusión

El De serie.readbytesuntil () La función en la programación de Arduino lee bytes de una secuencia de entrada en serie hasta que se reciba un carácter de terminador especificado. La función proporciona a los bytes totales que los lean y los almacenan en un búfer proporcionado. Lea el artículo para obtener más información relacionada con Serial.Función ReadByTesuntil ().