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 comoA), enquantoSerial.print(65)envia os caracteres'6'e'5'. - Use
write()pra protocolos binários eprint()pra mensagens que você quer ler na tela. - Não confunda o número com o caractere: o byte 65 é o código do
Ana tabela ASCII.