Frage von Exitor, 63

Interrupt Input meines Arduino Uno funktioniert nicht richtig, er springt sehr oft in die ISR obwohl keine Spannung anliegt. Weiterlesen für Details?

Erstmal der Code meines Arduino:

int pinClockIn = 2; // Arduino Uno - int.0 = Pin 2

int seconds = 0;

void setup() { // put your setup code here, to run once:

pinMode(pinClockIn, INPUT); attachInterrupt(digitalPinToInterrupt(pinClockIn), clockTick, RISING); Serial.begin(9600); }

void loop() { // put your main code here, to run repeatedly: }

void clockTick() { seconds += 1;

Serial.println(seconds); }

Das Problem ist jetzt, da ich einen Taster von 5V auf den Pin2 gesteckt habe und wenn ich den Taster betätige springt das Programm in die Interrupt-Funktion. Aber zudem noch ca 5 mal pro Sekunde. Mit meinem Oszi messe ich aber keine Spannung am Taster wenn er nicht gedrückt wird. Woran kann das liegen? Sehr sehr hochfrequente Störungen? Oder ein Fehler im Code?

Und wie kann ich hier auf der Webseite einen mehrzeiligen Code als Code darstellen? Das mit dem "Codebeispiel einfügen" funktioniert bei mir nur mit der ersten Zeile.... :/

Antwort
von xdanix77, 44

Ich denke, das sollte helfen: http://rn-wissen.de/wiki/index.php/Pullup_Pulldown_Widerstand

Kommentar von Exitor ,

Vielen Dank, auf sowas banales wie nen Pull-down wär ich so schnell nicht gekommen :D

Kommentar von xdanix77 ,

Ist mir relativ schnell aufgefallen, weil mir anfangs bei meinem ersten Interrupt-Programm genau das selbe passiert ist ^^.

Keine passende Antwort gefunden?

Fragen Sie die Community