Wieso das?
Ich würde den Interrupt erst direkt vor dem PowerDown enablen oder auf low-level umschalten.
Beim Aufwachen dann direkt im ersten Interupt wieder disablen oder auf Falling setzen.
Druckbare Version
Stimmt so würde das gehen. Ich probier das gleich mal.
Danke für den Hinweis :)
Hab es probiert. Funktioniert nicht so. Oder ich hab nen Denkfehler gemacht...
Hallo Daniel,
hast du daran gedacht, anstehende Interrupts erst einmal zu löschen, bevor du sie wieder enablest?
Vom letzten Aufwachen bleibt sonst sicher noch ein Flag stehen.
Also ich hab die jetzt nicht nochmal händlich gelöscht, da es im Normalfall gemacht wird (sorgt der Bascom Compiler ja schon für).
Aber ich werd mich da nochmal morgen in aller Ruhe mit beschäftigen, da ich heute den ganzen Tag auf Achse bin und erst spät Abends wieder Zuhause ankomme.
Falls es trotzdem nicht funktionieren sollte ist auch nicht ganz so schlimm ;)
Aber btw eine Frage hab ich noch....
Man schreibt im Programm ja
Config Powermode = Powerdown
Dann läuft das Programm ja bis zum Powermode Befehl durch und danach wechselt der Controller in den Sleepmodus.
Wenn er wieder aufwacht, ab wo startet das Programm dann wieder? Ab der nächsten Zeile direkt unter dem "Config Powerdown" oder startet das Programm ganz neu oder wird nur die Do-Loop Schleife neu gestartet?
Ich bin nämlich davon ausgegangen das nur die Schleife neu gestartet wird.
Nach dem Aufwachen fängt der Controller wie beim Idel mode mit dem Interrupt an und macht dann nach dem Config Powermode = Powerdown weiter.
Gut. Dank dir für deine Antwort. Ich teste es dann morgen nochmal ;)