Aufrufen einer Funktion mit Interrupt

Gast #235778
Lesenswert?

hi

habe immer noch das alte problem dass ich eine Unterfunktion nicht mit
einem externen interrupt auslösen kann!!
ich rufe die unterfunktion nun mit dem flag (wie empfohlen)auf aber
habe trotzdem keinen erfolg!

µC: Atmega32
verwende das STK500

bei dem programm geht es nur um die moto_move funktion!!
und wenn ich da programm ausführe kann ich keine Spannung an
PA4 oder PA2 messen!!

vielleicht kann sichs einer mal kurz ansehen ob ich einen grundlegenden
fehler übersehen habe.
Angehängte Dateien:
#235779
Lesenswert?

Sobald ein Interrupt ausgelöst wird löschst du das Flag wieder in der
SIGNAL-Funktion durch Schreiben einer 1.

Das heißt egal wann du es abfragst, es wird immer 0 sein.

Du müßtest eine Varibale mit volotile definieren und diese beim
Interrupt löschen und beim abarbeiten wieder setzen.

SIGNAL(...){
  flag = 1;
}
.
.
main(...){...
  while(1){
    if(flag){
      moto_move();
      flag=0;
    }
}

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