• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Przerwanie w due, od razu się wywołuje.
#1
Cześć, 

Mam zagadkę której nie potrafię rozwiązać. A mianowicie przesiadłem się na due, ponieważ potrzebuję większej ilości przerwań. Mam problem z tym, że od razu po uruchomieniu programu załączonego poniżej, przerwanie wywołuje podprogram. Próbowałem rozmaitych zmian w programie ale nic nie daje porządanego rezultatu. Bedę wdzięczny za pomoc od bardziej doświadczonych - utknąłęm. 

Poniżej program testowy, od razu po resecie state zmienia się na LOW.


const byte ledPin = 51;
const byte interruptPin = 42;
volatile byte state = HIGH;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(interruptPin, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(interruptPin), blink, FALLING);
}

void loop() {
  digitalWrite(ledPin, state);
}

void blink() {
state = !state;
}


Będę mega wdzięczny za pomoc.

Pozdrawiam,
Michał. 
 
Odpowiedź
#2
W setup można dodać jakiś delay parę ms by się stany ustabilizowały, nikt o to nie będzie krzyczał.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości