24-01-2020, 10:30
Mam problem z przerwaniem zewnętrznym. Przerwanie jest odczytywane z wciśnięcia guzika tylko że czasem to działa tak jakby w trybie falling a czasem w trybie rising, a znowu kiedy indziej program reaguje na przycisk dopiero za drugim przyciśnięciem, o co chodzi?
https://youtu.be/5UJ-7BT8uJ0
https://youtu.be/5UJ-7BT8uJ0
Kod:
void setup() {
pinMode(pot_waga, INPUT);
pinMode(wyjscie_konwerter, OUTPUT);
pinMode(wyjscie_silownik_dol, OUTPUT);
pinMode(przycisk_kiprowanie, INPUT);
attachInterrupt(0, przerwanie, FALLING);
pinMode(opoznienie_silownika, INPUT);
}
Kod:
while (x){
nawazone_1kg = 1;
lcd.home();
lcd.print("RAZEM -");
lcd.write(byte(0));
lcd.setCursor(9,0);
lcd.print(counter + 1);
lcd.print(" KG");
}
Kod:
void przerwanie(void) {
x = !x; // neguje x, jeśli wcześniej było 0 to teraz jest 1 ...
}