Steuersignal zwischen ISR und main

Gast #1636208
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
Angehängte Dateien:
#1636673
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
Gast #1636889
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren