Klar - die hübsche PCI-Funktion hat diesen Effekt. Leider bin ich im Programmieren nicht so erfahren, kann keine guten Ratschläge geben. Aber mein PCI-Code läuft prächtig.Zitat von Slein
Dabei gehts um eine ähnliche Sache wie bei ExXeQtor. Der µC wird in den sleep geschickt, und soll bei Tastendruck aufwachen. Deshalb habe ich eine ziemlich kurze PCI-ISR: der vollständige Code in der Routine ist ein return. Damit kann ich z.B. den Aufruf im main :
schlaf_PI4 ();
in eine while-Schleife legen, die mir in Art eines Menues - je nach gedrücktem Pin - nach der Rückkehr aus dem SparSchlaf oder auch ohne diesen durch einen oder beliebig viele Tastendrücke auch auf verschiedene Tasten das erledigt, was ich will. Wieso "... nach beliebig vielen Tastendrücken ..."? Weil die ISR nur ein popeliges "return" ist - also im Programm selbst garnicht stört. Der einzige Zweck, der dabei erreicht wird, ist es, den µC mit einem Tastendruck aus dem Sleep zu holen >>wenn er da drin ist<<. Und ich kann >>irgendwann<< - wenn es mir beliebt - den µC wieder in den Sleep schicken. Sogar durch einen Druck auf die gleiche Taste (Anregung: if Taste gedrückt? dann prüfen Taste lose? wenn ja schlaf_PI4 (); - else zum ersten if: etwas ohne Tastendruck).
@ExXeQtor - vielleicht überlegst Du Dir diese Vorgehensweise? Obwohl ich nicht weiß, ob das ein gutes Verfahren ist. Aber es läuft in meinem pacer seit "Ewigkeiten" problemlos.
Lesezeichen