www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATtiny12 mit High Pegel aus Power Down aufwecken


Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Christian Zietz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Christian Zietz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.