19-06-2024, 11:39
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ł.
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ł.