mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Steuersignal zwischen ISR und main


Autor: Jens K. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe ei simples Programm geschrieben, und zwar soll bei Betätigung einer 
Tast ne LED leuchten; ist der Taster nicht betätigt ist auch die LED 
aus. Den Tastereingang wollte ich durch Timerinterrupt abtasten. In 
meiner ersten Version habe ich die Abtastung in der ISR gemacht und das 
hat auch wunderbar funktioniert. Nun wollte ich die ISR bisschen 
abspecken und die eigentliche Abfrage in main machen. Jedoch läuft es 
nicht so, wie ich das gewollt habe.
Daraufhin habe ich die ISR-Funktion in die while (1) - Schleife gepackt 
(ohne Interrupt; siehe funktioniert.c) und das funktioniert!

Nun also die Frage: Warum funktioniert die ISR nicht?

Viele Grüße
Jens

Autor: Jens K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat denn keiner eine Idee?

Autor: Andreas W. (geier99)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jens K. schrieb:
> hat denn keiner eine Idee?

Ich kenne Deinen verwendeten Prozessor leider nicht.

Wird denn überhaupt ein Interrupt ausgelöst? Hast Du den Interupt 
richtig initialisiert?

Reduzier doch mal Dein Programm so, dass dur nur flag==1 abfrägst und 
dann immer die LED toggelst. So siehst Du, ob die ISR überhaupt 
aufgerufen wird.

Gruß
  Andreas

Autor: Jens K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas W. schrieb:
> Reduzier doch mal Dein Programm so, dass dur nur flag==1 abfrägst und
> dann immer die LED toggelst. So siehst Du, ob die ISR überhaupt
> aufgerufen wird.

Hab ich gemacht; die ISR wird aufgerufen.
Wäre es theoretisch möglich, dass die ISR zu schnell aufgerufen wird?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.