Stream.availableForWrite()

De ArduWiki
Revisión del 18:31 6 may 2019 de Kike GL (Discusión | contribuciones) (Referencias)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Descripción

Obtiene el número de bytes (caracteres) disponibles para la escritura (pendientes de ser enviados) hacia el flijo de salida, sin bloquear la operación de escritura.

Sintaxis

objetoStream.availableForWrite();

Parámetros

objetoStream
Nombre de la instancia de la clase Stream

Retorna

El número de bytes disponibles para escribir (int).

Advertencias

  • Si la clase manipula un flujo de salida byte a byte asincrónico (con buffer), esta función debe implementarse y además debe hacerlo de manera que cumpla lo descrito en la sección de Descripción y Retorno. Para flujos por bloques, es opcional; pero si se hace, se recomienda que retorne 0 si el bloque en caché no necesita transmitirse (solo lectura), o que retorne el tamaño de dicho bloque (en bytes) en el caso contrario. No se debe implementar en flujos de salida byte a byte sincrónicos (sin buffer)'.

Ejemplo

Serial.write(buffer, 64); // En cierto grado, 64 bytes a la vez es bastante
int pendientes = Serial.availableForWrite(); // Si el flujo de salida es lo suficientemente lento, se podrá capturar un valor mayor que cero
Serial.flush(); // Esperar a que los datos pendientes se hayan enviado, para así imprimir al final el valor capturado
Serial.println(pendientes);

Vea también


Referencias