Hallo!

Ich möchte mein bereits gelöstes Problem vorstellen, dessen Lösung für mich nicht simpel war.

Um Strom zu sparen, wollte ich, dass nach dem Einschalten der Versorgungspannung der µC sofort in Schlaf geht, bleibt aber per X steuerbar. Er sollte "etwas tun" (X=1) und nach erledigen seiner Aufgabe (X=0), wieder einschlafen.

Sieht zwar sehr simpel aus, aber die Lösung war für micht nicht so. Das Signal vom X Pin muss eben das Program starten, was ohne Unterbrechung INT nicht möglich ist, weil der µC schläft. Per INT Pin kann man wieder den X nicht einlesen und auswerten.

Die Lösung ist das X Signal auf zwei Pins X und INT paralell zuführen (siehe PAD). Das müsste bei allen Typen von µC's funktionieren.
Code:
                                       Eischalten
                                            |
         X=1 Aufwecken                      V
             und etwas tun   +-- INT -> Schlafen <-------+
                 A           |              |            |
                 |           |              V            |
     X >---------------------+         Etwas tun <---+   |
                 |           |              |        |   |
                 V           |              V        |   |
         X=0 Einschlafen     +--- X ----> X = 1 ? J -+   |
                                            N            |
                                            |            |
                                            +------------+

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)