Описание функции bitSet
Функция устанавливает указанный бит переменной value в 1.
Синтаксис
bitSet(value, bit)
Параметры
- value — переменная, в которой производится запись.
- bit — номер бита, который нужно установить в 1.
Что возвращает
Ничего
Пример использования функции
Установим нулевой и седьмой биты переменной var в 1 через функцию setBit
:
uint8_t var = 0; void setup() { Serial.begin(9600); Serial.print("Двоичное представление переменной 'var' до вызова функций 'bitSet' :"); Serial.println(var, BIN); bitSet(var, 0); // Установить нулевой (младший) бит переменной var в 1 bitSet(var, 7); // Установить седьмой (старший) бит переменной var в 1 Serial.print("Двоичное представление переменной 'var' после вызова функций 'bitSet':"); Serial.println(var, BIN); }
Теперь откроем монитор порта и посмотрим, что у нас вышло:
В arduino IDE есть и обратная функция для bitSet
— это bitClear, которая устанавливает бит в 0.
Как видно из кода функции ниже, установить можно и альтернативным способом, используя операцию сдвига влево <<
и операцию поразрядного ИЛИ с присваиванием |=
. Например, 7-й и 0-й биты переменной var можно установить и так: var |= (1 << 0) | (1 << 7)
.
Код функции
(hardware/arduino/avr/cores/arduino/Arduino.h 1.8.10)
#define bitSet(value, bit) ((value) |= (1UL << (bit)))