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


von Syntax (Gast)


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?

von thkais (Gast)


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.

von andré (Gast)


Lesenswert?


von andré (Gast)


Lesenswert?

Und mal wieder zu langsam :D

mfg

von Christof Rieger (Gast)


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.

von Syntax (Gast)


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.

von Christof Rieger (Gast)


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.

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
Noch kein Account? Hier anmelden.