Archiv verlassen und diese Seite im Standarddesign anzeigen : Sleep von ATMega in Bascom ?
Kann mir jemand sagen, wie ich den ATMage(168) in den Strom-Spar-Modus (mit Bascom) setze resp. wie der Sleep-Befehl funktioniert und/oder wo ich Infos dazu erhalte.
Der Compiler erkennt jedenfalls den Sleep-Befehl nicht und in der Bascom-Hilfe finde ich auch nichts und der Herr von Robotik-Hardware
will mir auch nicht helfen.
Danke für Hilfe!
Nicht helfen stimmt nicht so ganz. Robotikhardware hat dich auf den SLEEP Modus und das Datenblatt des AVR wo die Energiesparmodes beschrieben wird aufmerksam gemacht. Die dort beschriebenen Details nochmals ausführlich per Mail zu erläutern kann der Support nun auch nicht leisten, was meinst du was für eine Mailanzahl dort eingeht.
Dafür gibts ja auch das Forum, hier hilfts gleich mehreren.
Du musst in der Bascom Hilfe unter POWERDOWN schaun, dort solltest du fündig werden.
Du schriebst im Mail wörtlich "Hilfe in Bascom zu SLEEP studieren"...
Hi,
also jetzt schluß mit dieser Diskusion!
Leider ist jeder Support zeitlich eingeschränkt, ich verstehe da Frank völlig!
PS: Man muss schon auch selber arbeiten wenn man im Winter nicht frieren will. Man kann den Kunden nur die die Türe zeigen, aufmachen und durchgehen muss er schon selber!
Hier ein Code der das ganze mal zeigt.
'PowerDown-Modus
'----------------------
' LED an PD5
'Taster 1 an INT0/PD2
'Funktion:
'In der Hauptschleife wird bei jedem Durchlauf der Zustand der LED geändert.
'Danach wird der AVR in den PowerDown-Zustand versetzt und damit "stillgelegt".
'Erst Ein externer Interrupt0 (Tastendruck) aktiviert den AVR wieder und das
'Programm wird fortgesetzt. Die Interrupt0-Routine wird in unserem Fall zwar
'als erste Aktion nach dem Interrupt ausgeführt, aber wir tun dort nichts
'weiter, weil es nur um die Demonstration der Reaktion in der Hauptschleife
'geht. Die Reaktion auf den Tastendruck ist übrigens jedes mal anders, da so
'lange Interrupts gefeuert werden, wie die Taste gedrückt ist (keine genau
'zu definierende Zeit). Es kann also sein, daß man die Taste mehrfach drücken
'muß.
'--------------------------------------
$regfile = "m32dat.def"
$crystal = 4000000
On Int0 Onint0 'Interrupt-Routine für Interrupt0 festlegen
Ddrd = &B11111011 'PD5 Ausgang, PD2/INT0 Eingang, Rest egal
Portd.2 = 1 'PullUp von PD2/INT0 aktivieren
Config Int0 = Low Level 'Externe Interrupts bei Low Level feuern (RISING oder FALLING beendet PowerDown nicht!)
Enable Int0 'Externen Interrupt0 einschalten
Enable Interrupts 'Interrupts global
Main:
Portd.5 = Not Portd.5 'LED-Status ändern (von ein nach aus oder von aus nach ein)
Powerdown 'PowerDown-Ende nur durch Reset, Watchdog Reset oder INTx bei Config INTx=LOW LEVEL
'Idle 'Idle-Ende auch bei Config INTx=FALLING u.a.m.
Goto Main
'--------------------------------------
Onint0: 'Wird angesprungen, aber wir tun hier nichts
Return
Viel spaß beim testen.
Bye Ulli
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.