Diferencia entre revisiones de «Stream.readBytes()»
De ArduWiki
(→Descripción) |
(→Referencias) |
||
(No se muestran 3 ediciones intermedias de 2 usuarios) | |||
Línea 1: | Línea 1: | ||
== Descripción == | == Descripción == | ||
− | Lee caracteres de | + | Lee caracteres desde el flujo de entrada, hacia el buffer especificado. La función termina si la longitud determinada se ha leído, o el tiempo de espera (ver [[Stream.setTimeout()]]) se ha agotado. |
− | |||
− | |||
== Sintaxis == | == Sintaxis == | ||
<pre> | <pre> | ||
− | + | objetoStream.readBytes(buffer, largo) | |
</pre> | </pre> | ||
== Parametros == | == Parametros == | ||
− | ; | + | ;objetoStream : una instancia de una clase que hereda de Stream. |
− | ;buffer: el búfer para almacenar los bytes en [[char | + | ;buffer: el búfer para almacenar los bytes en [[char]]* o [[byte]]* |
− | ;largo: la cantidad de bytes a | + | ;largo: la cantidad máxima de bytes a leer ([[int]]) |
+ | |||
+ | == Retorno == | ||
+ | Devuelve el número de caracteres colocados en el búfer ([[int]]). Un 0 significa que no se encontró nada durante el tiempo de espera. | ||
+ | |||
+ | == Advertencias == | ||
+ | * La longitud del buffer debe respetarse, de lo contrario se corre el riesgo de un "desbordamiento de buffer" que puede corromper el contenido la memoria de ejecución ([[SRAM]]). | ||
+ | |||
+ | == Ejemplo == | ||
+ | <syntaxhighlight lang="c++"> | ||
+ | if (Serial.available()) { | ||
+ | buffer[Serial.readBytes(buffer, sizeof(buffer) - 1)] = 0; // Colocar el terminador de cadenas de caracteres | ||
+ | Serial.print(F("Mensaje recuperado: \"")); | ||
+ | Serial.print(buffer); | ||
+ | Serial.println('\"'); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
== Vea también == | == Vea también == | ||
− | + | <categorytree mode=all>Stream</categorytree> | |
− | |||
− | |||
− | |||
− | |||
− | |||
== Referencias == | == Referencias == | ||
− | [[Category: | + | [[Category:Stream]] |
Revisión actual del 18:28 6 may 2019
Contenido
Descripción
Lee caracteres desde el flujo de entrada, hacia el buffer especificado. La función termina si la longitud determinada se ha leído, o el tiempo de espera (ver Stream.setTimeout()) se ha agotado.
Sintaxis
objetoStream.readBytes(buffer, largo)
Parametros
- objetoStream
- una instancia de una clase que hereda de Stream.
- buffer
- el búfer para almacenar los bytes en char* o byte*
- largo
- la cantidad máxima de bytes a leer (int)
Retorno
Devuelve el número de caracteres colocados en el búfer (int). Un 0 significa que no se encontró nada durante el tiempo de espera.
Advertencias
- La longitud del buffer debe respetarse, de lo contrario se corre el riesgo de un "desbordamiento de buffer" que puede corromper el contenido la memoria de ejecución (SRAM).
Ejemplo
if (Serial.available()) {
buffer[Serial.readBytes(buffer, sizeof(buffer) - 1)] = 0; // Colocar el terminador de cadenas de caracteres
Serial.print(F("Mensaje recuperado: \""));
Serial.print(buffer);
Serial.println('\"');
}
Vea también