Operacje na bitach bitSet, bitClear, bitRead, bitWrite
bitSet(x, n)
Metoda bitSet() ustawia wartość 1 dla podanego numeru bitu n i zwraca nową wartość do zmiennej x.
x: zmienna w której ma nastąpić zmiana bitu
n: numer bitu do zmiany na 1
void setup() {
Serial.begin(9600);
byte x = 0b10000000;
Serial.print("BEFORE: ");
Serial.println(x, BIN);
bitSet(x, 2); // zamienia 3 bit od prawej strony na 1
Serial.print("AFTER: ");
Serial.println(x, BIN); // 10000100
}
void loop() {
}
bitClear(x, n)
Metoda bitClear() ustawia wartość 0 dla podanego numeru bitu n i zwraca nową wartość do zmiennej x.
x: zmienna w której ma nastąpić zmiana bitu
n: numer bitu do zmiany na 0
bitRead(x, n)
Metoda bitRead() zwraca wartość danego bitu n z liczby x.
x: liczba (zmienna) z której dane są zaczytywane
n: numer bitu do zaczytania
byte x = 0b10001100;
Serial.println(bitRead(x,2)); //zwraca wartość 3 bitu od prawej strony: 1
bitWrite(x, n, b)
Metoda bitWrite() zmienia wartość bitu n w liczbie x
x: liczba (zmienna) w której dane mają być zmienione
n: numer bitu do zaczytania
b: wartość 0 lub 1, która ma zostać nadpisana do podanego wcześniej bitu
byte x = 0b10000000;
bitWrite(x, 0, 1);
Serial.println(x, BIN); // 0b10000001