INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Interrupts oder nicht?
19.06.2013, 13:07
Beitrag #1
Interrupts oder nicht?
Hey Leute,

zunächst einmal muss ich sagen, dass ich noch nciht lange mit dem Arduino arbeite, wir hatten sonst auf regulären µC gearbeitet. Da wir aber ein Projekt am laufen haben, dass einem Flipper nahe kommt, hab ich eine Performance-Frage.
Da ich gesehen habe, dass es für fast alles hier bereits fertige Bibliotheken gibt, wollte ich fragen, was sinnvoller ist.

Situation: Programm ist fertig initialisiert, und soll nach einer ausgeführten Aktion ein paar Sekunden warten. In dieser Zeit soll er auf ein High-Signal an einem Port warten. Während dieser Zeit sind keine Berechnungen jeglicher Art von Nöten, es soll lediglich in diesem Zeitrahmen auf das Signal gewartet werden. Jetzt die Frage:

Sollte ich dies mit einem einfachen Interrupt lösen, welcher einen delay abbricht, und dann Programmintern einen boolean umschreibt, oder gibt es eine schonendere Methode? Ich mag nur ungerne mit delay() arbeiten... Hab nur schlechte Erfahrungen damit Rolleyes

Vielen Dank für eure Hilfe!

Grüße

AtroCty
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.06.2013, 18:34
Beitrag #2
RE: Interrupts oder nicht?
Also wenn in der Zeit wirklich garnichts passieren soll, würde ich einfach delay() verwenden. Ist zwar nicht die Feineart, aber was besseres fällt mir da auch nicht ein.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.06.2013, 19:57
Beitrag #3
RE: Interrupts oder nicht?
Ganz vergessen, bei Ardunio geht das ja garnicht. Ich hatte an avr-gcc gedacht.
Hier:
Zitat:Inside the attached function, delay() won't work and the value returned by millis() will not increment. Serial data received while in the function may be lost. You should declare as volatile any variables that you modify within the attached function.
http://arduino.cc/en/Reference/AttachInterrupt
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.06.2013, 08:24
Beitrag #4
RE: Interrupts oder nicht?
Das gilt doch nur dafür, das man delays nicht INNERHALB eines Interrupts macht, nicht um den delay abzubrechen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.06.2013, 16:16
Beitrag #5
RE: Interrupts oder nicht?
Ohja, hast recht. Ich hatte das grade nur gelesen und musste da wieder an dein Thema denken.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Ich komme mit millis nicht weiter !!! Gonmaus 8 414 09.07.2017 21:24
Letzter Beitrag: Tommy56
  WEMOS Motorshield funzt nicht Rumpl-X 8 289 07.06.2017 21:10
Letzter Beitrag: Tommy56
  Fragen :serielle eingabe und Externe Interrupts Treeshort 7 321 02.06.2017 16:52
Letzter Beitrag: MicroBahner
  LCD geht nicht - keine Ahnung warum?? DL1AKP 12 567 15.05.2017 13:17
Letzter Beitrag: DL1AKP
  433mHz Funkmodule senden/empfangen nicht metzgefa 2 532 06.05.2017 13:30
Letzter Beitrag: metzgefa
  SD Karte wird nicht erkannt Maxi290997 6 318 31.03.2017 06:05
Letzter Beitrag: Bitklopfer
Sad Sketch funktioniert auf dem Mega 2560 nicht Frank1234 16 806 26.03.2017 14:15
Letzter Beitrag: oOSpikeOo
  Mein Skript macht nicht das was es soll ;( DerMatze79 4 374 16.03.2017 22:19
Letzter Beitrag: MicroBahner
Rainbow File geht nicht zum compilieren!!!! Jocky 7 419 19.02.2017 20:01
Letzter Beitrag: Binatone
  IRremote bringe ich nicht zum laufen Franz54 5 367 19.02.2017 11:56
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste