Описание функции 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))