ATtiny12 mit High Pegel aus Power Down aufwecken

Gast #137755
Von einem Funkempfänger bekomme ich einen High Pegel für ein paar ms bis
s mit dem ich einen Tiny12 aus dem Power Down wecken möchte.
Laut Datenblatt geht das über den Level Interrupt, der hier aber
ausscheidet, da es diesen nur für Low Pegel gibt oder über einen Pin
Change Interrupt.
Also habe ich an INT0 das Signal angelegt, den externen Interrupt
aktiviert und im MCUCR auf Pin Change eingestellt. Es passiert aber
nicht das geringste.
Das einzige was bisher ging war der Level Interrupt und ein Inverter
davor, aber da das ganze klein sein soll habe ich dafür keinen Platz.
Gast
Deine Beschreibung ist mir nicht ganz klar: Du schreibst, Du hast den
externen Interrupt aktiviert. Heißt das, Du hast Bit 6 (INT0) im
GIMSK-Register gesetzt? Das wäre falsch. Für den Pin-Change-Interrupt
musst Du Bit 5 (PCIE) setzen. Im MCUCR musst Du afaik gar nichts
einstellen. Die ISC0x-Bits beziehen sich nur auf den INT0.
Du musst unterscheiden zwischen:
- INT0: Reagiert nur auf Signale im INT0-Pin, kann flanken- oder
level-gesteuert sein (nur Low-Level) aber kann NUR mit einem
Low-Level (ISC01=ISC00=0) den uC aus dem Power-Down aufwecken. Mit
anderen Kombinationen von ISC0x wacht der uC durch den INT0 nicht auf.
- Pin Change Interrupt: Reagiert auf Signale an allen I/O-Pins,
flankengesteuert. Er kann den uC in jedem Fall aus dem Power-Down
aufwecken.

So steht's zumindest im Datenblatt, mit einem Tiny12 habe ich selbst
noch keine Erfahrung.

Christian
Gast
Ich habe das INT0 Bit gesetzt, MCUCR auf 1 gesetzt (Any change on INT0
generates an interrupt request).

Kann man das nicht zum Aufwecken verwenden, sondern nur den Level
Interrupt beim INT0 ?

OK, dann versuche ichs mal mit dem Pin Change Interrupt.
Gast
Zumindest beim AT90S2343 (mit dem hatte ich schon das Vergnügen) kann
man einen flankengetriggerten INT0 nicht zum Aufwecken benutzen. Und
auch im Datenblatt des Tiny12 steht ja

Only an external reset, a watchdog reset (if enabled), an external
level interrupt, or a pin change interrupt can wake up the MCU.

Also nur ein (Low-)Pegel im Falle von INT0 oder stattdessen halt ein
Pin-Change-Interrupt, der flankengetriggert ist.

Christian

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.