Serial.write()
Descrição
Escreve dados binários na porta serial. Esses dados são enviados como um byte ou séries de bytes; para enviar os caracteres representando os dígitos de um número, use em vez disso a função print().
Sintaxe
_Serial_.write(val)
_Serial_.write(str)
_Serial_.write(buf, len)
Parâmetros
: objeto porta serial. Veja a lista de portas seriais disponíveis em cada placa no Serial - Página principal_Serial_
: o valor a ser enviado como um único byte.val
: uma string a ser enviada como uma série de bytes.str
: um vetor a ser enviado como uma série de bytes.buf
Retorna
O número de bytes escritos na porta serial -
size_t
write()
irá retornar o número de bytes escritos, apesar de ler esse valor ser opcionalCódigo de Exemplo
O código abaixo usa a função Serial.write() para escrever um valor e uma string na porta serial.
1void setup() {2 Serial.begin(9600);3 }4
5 void loop() {6 Serial.write(45); // envia um byte com valor 45 (0b101101)7
8 int bytesSent = Serial.write(“hello”); //envia a string “hello” e retorna o tamanho da string.9 }
Notas e Advertências
Desde a versão 1.0 da IDE do Arduino, a trasmissão serial é assíncrona. Se há espaço livre suficiente no buffer de tranmissão,
Serial.write()
irá retornar antes que quaisquer caracteres sejam transmitidos pela serial. Se o buffer de transmissão estiver cheio, então Serial.write()
irá bloquear o programa até que exista espaço livre suficiente no buffer de transmissão. Para evitar chamadas de Serial.write()
que possam bloquear a execução, você pode checar primeiro a quantidade de espaço livre no buffer de tranmissão usando availableForWrite().Suggest changes
The content on docs.arduino.cc is facilitated through a public GitHub repository. If you see anything wrong, you can edit this page here.
License
The Arduino documentation is licensed under the Creative Commons Attribution-Share Alike 4.0 license.