Wpis z mikrobloga

#arduino
Mam taki prosty program: https://pastebin.com/KP0ANPfE

Działam tu na Teensy LC, ale nie powinno mieć to znaczenia. Pin A1 to pin nr 15 obsługujący przerwanie.
Chodzi o to, aby w zależności od stanu przycisku (czyli od podania na pin 15 napięcia 3,3) zostało wywołane przerwanie. Przerwanie zmieni stan zmiennej "state" (0/1). W zależności od wartości zmiennej chciałbym wykonywać różny kod (w tym najprostszym przypadku wyświetlać na porcie szeregowym tryb1 / tryb2). Problem w tym, że cały czas mam tryb1 (czyli state = 1), niezależnie czy przycisk jest wciśnięty czy nie. Mimo to, podczas wciskania bądź puszczania przycisku, state jednorazowo zmienia swoją wartośc na 0, ale i tak wyświetla się cały czas tryb1. Wg mojej logiki, program powinien działać tak, że przycisk jest wciśnięty, jest tryb1, puszczam przycisk (czyli stan się zmienia) i wchodze w tryb2. Co jest nie tak?

Dodam, że jeśli w loop() dam tylko Serial.println(state); to wtedy state wydaje się wyświetlać poprawnie (czyli wciśnięty 1, zwolniony - 0).

Podłączenie:
mrocznydrwal - #arduino 
Mam taki prosty program: https://pastebin.com/KP0ANPfE

D...

źródło: comment_J0SqeD6z7Sn55zHKlmht3zupzytH1nsH.jpg

Pobierz
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach