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



