Moin, ich möchte die externen Interrupts 0 und 1 verwenden, um den Prozessor aufzuwecken. Leider funktionieren alle meine Versuche nicht. Ich verwende einen ATmega16 und verbinde die beiden Pins (PD2 & PD3) über 10kOhm mit vcc. Der Schalter liegt an der Masse an. Die Sourcen liegen im Anhang. Ich habe die auskommentierten Stellen auch anders probiert. Vielen Dank Matthias
Davon abgesehen, dass du nicht schreibst, was denn genau nicht funktioniert (und du damit erwartest, dass die Leser deines Quelltextes sofort alles ,,trocken'' nachvollziehen können), folgende Anmerkungen: . Don't use INTERRUPT unless you know what you're doing. Für externe Interrupts will man wohl nie INTERRUPT benutzen, für externe pegelgetriggerte Interrupts ist es gar komplett tödlich -- aber genau einen solchen brauchst du, um den ATmega16 aus dem Tiefschlaf zu erwecken (habe jetzt nicht nachgeguckt, was du genau für einen Interruptmodus eingeschaltet hast). . Es ist natürlich OK, einen externen Interrupt zum Aufwecken des Prozessors zu nutzen, aber für die Abfrage eines Tasters muss man diesen danach entprellen. Also in der ISR schaltet man eigentlich nur umgehend den Externinterrupt wieder aus und setzt ein Flag, dass die Taste gedrückt worden ist, danach wird sie über einen Timer etc. entprellt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.