Arduino Polska Forum

Pełna wersja: Przerwanie w due, od razu się wywołuje.
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
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ł. 
W setup można dodać jakiś delay parę ms by się stany ustabilizowały, nikt o to nie będzie krzyczał.