Interrupt doppelt benutzen

Gast #271342
Lesenswert?
• ▲
▼
Hallo liebe Forennutzer.
Ich würde gerne einen externen Interrupteingang des mega128 benutzen,
um die Betriebsspannung zu überwachen.
Der Interrupt soll auf eine fallende Flanke programmiert werden, dann
wird der Prozessor runtergetaktet und alles Überflüssige abgeschaltet
um die Backup-Batterie zu schonen.
Frage:
Kann ich in der Interrupt-Routine den Eingang auf eine steigende Flanke
umprogrammieren, so dass ich auch bei Rückkehr der versorgungsspannung
einen Interrupt auslösen kann?
Die Aufbereitung, welche Flanke es nun war, muss dann natürlich in der
I-Routine erfolgen.
Gast #271344
Lesenswert?
• ▲
▼
Ich würde auf jede Flanke reagieren (fallend und steigend) und in der
ISR den Portpin auslesen (wenn das nicht gehen sollte was ich nicht
glaubekönnte mann eien anderen für diesen zweck nutzen)um die
Spannungszustand zu bestimmen. Das ist in jedem Falle fehlerfrei
programmmierbar. Das Eergebnis würde ich direkt in ein Flag übertragen
welches im Hauptprogramm genutzt wird, die Entscheidung zu treffen,
welche Hardware mit Strom versorgt wird und welche Prozesse folglich
ausgeführt werden und welche übersprungen werden.

PS. Das nichtversorgen von Sensoren(analog wie digitaleingänge
betreffend) kann fehlerhafte Interupts und Messungen bringen welche
folglich eleminiert werden.

MFG Winne
#271345
Lesenswert?
• ▲
▼
Ich arbeite zwar nicht mit dem Mega128, aber bei vielen anderen AVRs
kann man im "Stromspar-"Sleepmode keine flankengetriggerten externen
Interrupt auslösen, da dazu der Takt gebraucht wird, den man ja im
Stromsparmode abschalten möchte.
Es geht vermutlich nur der Level-Interrupt.

Alternativ kann man den Watchdog benutzen (längste mögliche Zeit) und
in der Watchdog-ISR einfach den Portpin mit der Stromversorgung prüfen
und bei Nichtvorhandensein ein Flag setzen, worauf das Hauptprogramm
den Controller sofort wieder mit aktiviertem Watchdog "ins Koma"
schickt...

Wie gesagt, das sind Möglichkeiten auf anderen Megas, welche
Möglichkeiten speziell der Mega128 bietet (und wie der Stromspar-Mode
beim 128er heißt), müsst ihr schon selbst im Datenblatt recherchieren.

...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.