Serial.write()

Serial.write(valor)

Enquanto o Serial.print() converte números em texto legível, o Serial.write() manda o byte cru, do jeitinho que ele é. Isso é essencial quando você conversa com outro microcontrolador ou dispositivo que espera dados binários, e não caracteres.

Sintaxe

Serial.write(valor);
Serial.write(buffer, tamanho);

Parâmetros

  • valor: um byte (0 a 255) a ser enviado.
  • buffer / tamanho: alternativamente, um vetor de bytes e quantos bytes dele enviar.

Retorno

Retorna o número de bytes escritos (size_t).

Exemplo

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.write(65);   // envia o byte 65
  Serial.write('\n'); // quebra de linha
  delay(1000);
}

Notas e cuidados

  • A diferença crucial pro print(): Serial.write(65) envia um byte de valor 65 (que o Monitor mostra como A), enquanto Serial.print(65) envia os caracteres '6' e '5'.
  • Use write() pra protocolos binários e print() pra mensagens que você quer ler na tela.
  • Não confunda o número com o caractere: o byte 65 é o código do A na tabela ASCII.

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker