Búfer de serie transparente de Arduino
Este tutorial discutirá cómo borrar el búfer serial usando la función Serial.begin()
en Arduino.
Búfer de serie transparente de Arduino
Cada placa Arduino viene con pines que se pueden usar para la comunicación en serie, y podemos usar estos pines para enviar y recibir datos a través de la comunicación en serie. La clase serial de Arduino tiene una función que puede leer y escribir datos en un pin serial.
Use la función leer()
para leer datos de un pin serial, y los datos recibidos se almacenan dentro de un búfer antes de usarse dentro del código. El búfer tiene una memoria específica para almacenar los datos, y en caso de una gran cantidad de datos, tenemos que borrar el búfer en serie para que no se quede sin memoria.
Podemos usar la función Serial.begin()
para comenzar la serie después de recibir los datos de la serie.
La función Serial.begin()
se usa para inicializar la serie con la velocidad de datos dada, como 9600 bits por segundo, pero cuando inicializamos la serie, los datos previamente almacenados dentro del búfer de serie se eliminarán de la memoria.
Por ejemplo, supongamos que queremos leer una cadena a través de un pin serial y después de recibir una porción de datos, queremos borrar el búfer serial.
Podemos usar la función Serial.disponible()
para verificar si los datos están disponibles en el búfer en serie y, si lo están, almacenaremos los datos en una matriz de cadenas y luego borraremos el búfer en serie usando Serial.begin()
función.
Vea el código de ejemplo a continuación.
String value;
void setup() {}
void loop() {
if (Serial.available()) {
value = "";
while (Serial.available()) {
char data = Serial.read();
value = value + data;
}
Serial.println(value);
Serial.end();
Serial.begin(9600);
}
}
Usamos la variable valor
para almacenar los datos de caracteres que recibimos de la serie. Si hay datos disponibles, los agregaremos a la matriz y finalizaremos la comunicación en serie usando la función Serial.end()
y luego inicializaremos la serie para borrar el búfer en serie.
Usamos un bucle para almacenar todos los datos disponibles antes de finalizar la comunicación en serie y borrar el búfer.
Si queremos enviar datos, podemos usar la función Serial.flush()
para esperar a que se transmitan todos los datos y luego podemos finalizar la comunicación en serie y borrar el búfer.
Consulte este enlace para obtener más detalles sobre el Serial
y sus funciones.