Hallo,
ich greife das nochmal auf wegen dem Verständnis was du eigentlich machen und vergleichen wolltest.
Vielleicht hilft dir das irgendwann nochmal.
Der ganze Zauber ist nur dieser Syntax.
if( (wert1 & maske) && (wert2 & maske) ) {
Testsketch:
byte wert1 = 24;
byte wert2 = 45;
byte maske = (1<<3); // auf das 3. Bit soll geprüft werden
void setup() {
Serial.begin(9600);
formatiere_Byte (wert1);
formatiere_Byte (wert2);
formatiere_Byte (maske);
Serial.println();
for (; wert1 < 250; wert1++){
if( (wert1 & maske) && (wert2 & maske) ) {
Serial.println(F("3. Bit gleich"));
formatiere_Byte (wert1);
formatiere_Byte (wert2);
Serial.println();
}
}
}
void loop() {
}
// ****** Funktionen ******* //
void formatiere_Byte (byte data)
{
Serial.print(F("data: "));
for (char i=7;i>=0;i--) {
Serial.print(bitRead(data,i));
}
Serial.println();
}