NSWI170, 2026, Labs 03
Jáchym Bártík
& (and), | (or), ~ (negation)<<, >> (left shift, right shift)
7 & 2 // 0111 & 0010 -> 0010 = 2
7 | 8 // 0111 | 1000 -> 1111 = 15
2 << 1 // 0010 -> 0100 = 4
3 << 2 // 0011 -> 1100 = 12
void setup() {
pinMode(BUTTON1_PIN, INPUT);
}
ON, tlačítko je zapnuté
void loop() {
bool isPressed = digitalRead(BUTTON1_PIN) == ON;
}
#include <funshield.h>
void setup() {
pinMode(LED1_PIN, OUTPUT);
pinMode(BUTTON1_PIN, INPUT);
}
void loop() {
digitalWrite(LED1_PIN, digitalRead(BUTTON1_PIN));
}
loop bylo tlačítko stisknuto, tj. kdy digitalRead poprvé vrátila ONx = (x + 15) % 16
struct Button {
int pin;
bool isPressed;
};
void processButton(Button &button) {
if (digitalRead(button.pin) == ON && !button.isPressed) {
button.isPressed = true;
... // Handle click event
}
}
Button buttons[3];
processButton(buttons[0]);
public vs. privatepublicprivate
class Button { // Basically structure
public:
int pin;
bool isPressed;
};
struct Button { // Basically class
private:
int pin;
bool isPressed;
};