mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mega 8 über RS232 aus Sleep Mode holen


Autor: Syntax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es eie Möglichkeit um einen Mega8 in den Sleep Mode zu versetzen
und ihn dann nur über die RS232 wieder zu aktivieren?

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf Seite 33 des Datenblattes sind in der Tabelle die möglichen
Sleep-Modes und die entsprechenden Wake-Up Möglichkeiten angegeben. Der
UART ist nicht dabei.
Workaround: Bei RS-232 wird ein Start-Bit gesendet, das "0" ist. Man
müßte also einen externen Interrupt-Pin mit RX verbinden, und bei
"0"-Pegel aufwachen lassen. Ob der UART dann aber das Startbit sauber
erkennt, weiß ich nicht, das müßte man experimentell ermitteln.

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.atmel.com/dyn/resources/prod_documents/...  Seite 32,
lesen und freuen....

mfg

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und mal wieder zu langsam :D

mfg

Autor: Christof Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Idel-Mode geht das Problemlos auch ohne den zusätzlichen externen
Interrupt-Pin. Wirklich Strom sparst du aber nur im Power-down Mode.
Hier würde es sich anbieten die RTS und CTS Leitung der RS232 zu
verwenden. Mit RTS weckst du den AVR auf der dann seine
empfangsbereitschaft mit CTS bestätigst. Die RS232 beginnt dann erst
mit dem Senden der Daten.

Autor: Syntax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also bei mir kommt er per RS232 nicht mehr aus dem IDLE Mode raus. Hab
das eben getestet.
Für CTS/RTS hab ich leider keine Ports mehr frei.

Autor: Christof Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das steht im Datenblatt. Du wirst warscheinlich den Intrrupt für den
USART auch freigeben müssen.

When the SM2..0 bits are written to 000, the SLEEP instruction makes
the MCU enter
Idle mode, stopping the CPU but allowing SPI, USART, Analog Comparator,
ADC, Twowire
Serial Interface, Timer/Counters, Watchdog, and the interrupt system to
continue
operating. This sleep mode basically halts clkCPU and clkFLASH, while
allowing the other
clocks to run.
Idle mode enables the MCU to wake up from external triggered interrupts
as well as
internal ones like the Timer Overflow and USART Transmit Complete
interrupts. If
wake-up from the Analog Comparator interrupt is not required, the
Analog Comparator
can be powered down by setting the ACD bit in the Analog Comparator
Control and Status
Register – ACSR. This will reduce power consumption in Idle mode. If
the ADC is
enabled, a conversion starts automatically when this mode is entered.

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.