Diferencia entre revisiones de «Stream.read()»

De ArduWiki
Saltar a: navegación, buscar
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
 +
Lee un byte/caracter proveniente del flujo de entrada; y lo "consume" (flujos byte a byte) o provoca avanzar al siguiente (flujos por bloques).
  
 
== Sintaxis ==
 
== Sintaxis ==
 
<pre>
 
<pre>
 +
objetoStream.read()
 
</pre>
 
</pre>
  
 
== Parametros ==
 
== Parametros ==
 +
Nada.
  
== Retorna ==
+
== Retorno ==
 +
El valor recuperado, o -1 si no hay datos para leer ([[int]]).
  
 
== Advertencias ==
 
== Advertencias ==
Nada.
+
* Si por error no se verifica de antemano si hay datos disponibles, '''read()''' retornará 255 para [[byte]] en el caso que el valor real sea -1 (nada).
 +
* Cualquier clase que herede de [[Stream]], debe implementar obligatoria y explícitamente esta función. Debe hacerse de manera que cumpla lo descrito en la sección de '''Descripción''' y '''Retorno'''.
  
 
== Ejemplo ==
 
== Ejemplo ==
 
<syntaxhighlight lang="c++">
 
<syntaxhighlight lang="c++">
 +
void loop(){
 +
  if (Serial.available()){
 +
      byte car = Serial.read();    //Lee caracter enviado y borra del buffer
 +
      Serial.write(car);          //Imprime caracter enviado
 +
      Serial.println(car);        //Impime codigo ASCII caracter enviado
 +
  }
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revisión del 23:44 10 jul 2018

Descripción

Lee un byte/caracter proveniente del flujo de entrada; y lo "consume" (flujos byte a byte) o provoca avanzar al siguiente (flujos por bloques).

Sintaxis

objetoStream.read()

Parametros

Nada.

Retorno

El valor recuperado, o -1 si no hay datos para leer (int).

Advertencias

  • Si por error no se verifica de antemano si hay datos disponibles, read() retornará 255 para byte en el caso que el valor real sea -1 (nada).
  • Cualquier clase que herede de Stream, debe implementar obligatoria y explícitamente esta función. Debe hacerse de manera que cumpla lo descrito en la sección de Descripción y Retorno.

Ejemplo

void loop(){
   if (Serial.available()){
      byte car = Serial.read();    //Lee caracter enviado y borra del buffer
      Serial.write(car);           //Imprime caracter enviado
      Serial.println(car);         //Impime codigo ASCII caracter enviado
   }
}

Vea también

Referencias