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

  • _Serial_
    : objeto porta serial. Veja a lista de portas seriais disponíveis em cada placa no Serial - Página principal
  • val
    : o valor a ser enviado como um único byte.
  • str
    : uma string a ser enviada como uma série de bytes.
  • buf
    : um vetor a ser enviado como uma série de bytes.

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 opcional

Có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.