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:
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 ():
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 ().