Описание функции highByte
Возвращает старший (крайний левый) байт указанной переменной, если переменная состоит из 2-х байт, либо второй младший байт, если переменная занимает больше 2-х байт.
Синтаксис
highByte(w)
Параметры
- w – значение, из которого нужно извлечь старший байт. Может иметь любой тип.
Что возвращает
Байт данных
Пример использования функции highByte
Создадим 2 переменные var16 (2-байтовая) и var32 (4-байтовая), присвоим им значения и передадим функции highByte. В первом случае функция нам вернет старший байт, во втором – второй младший байт.
uint16_t var16 = 9600;
uint32_t var32 = 115200;
void setup() {
Serial.begin(9600);
Serial.print("Шестнадцатеричное представление переменной 'var16':");
Serial.println(var16, HEX);
Serial.print("Старший байт переменной 'var16':");
Serial.println(highByte(var16), HEX);
Serial.print("Шестнадцатеричное представление переменной 'var32':");
Serial.println(var32, HEX);
Serial.print("Второй младший байт переменной 'var32':");
Serial.println(highByte(var32), HEX);
}
void loop() {}
После загрузки кода монитор порта выведет следующее:

Если есть необходимость получить младший байт переменной, то можно воспользоваться функцией lowByte.
Код функции highByte
(hardware/arduino/avr/cores/arduino/Arduino.h 1.8.10)
#define highByte(w) ((uint8_t) ((w) >> 8))



