lowByte()

lowByte(x)

Quando você tem um valor de 16 bits (como um int ou word) e precisa só da metade de baixo, o lowByte() devolve os 8 bits mais à direita empacotados num byte. É muito usado pra separar um número grande em duas partes antes de mandar por serial, I2C ou SPI.

Sintaxe

lowByte(x);

Parâmetros

  • x: o valor de onde extrair o byte (qualquer tipo inteiro, ex.: int, word, long).

Retorno

Um byte com os 8 bits menos significativos de x.

Exemplo

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

  word valor = 0xABCD;      // 43981 em decimal
  byte baixo = lowByte(valor);   // pega 0xCD
  byte alto  = highByte(valor);  // pega 0xAB

  Serial.println(baixo, HEX);    // imprime CD
  Serial.println(alto, HEX);     // imprime AB
}

void loop() {
}

Notas e cuidados

  • O resultado sempre cabe num byte (0 a 255); nada de sinal aqui.
  • Combine com highByte() pra quebrar um valor de 16 bits em dois pedaços e depois remontar com deslocamentos ((alto << 8) | baixo).

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

Conhecer o Curso Maker