-
        

Ergebnis 1 bis 4 von 4

Thema: Sleep von ATMega in Bascom ?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    11.05.2006
    Beiträge
    33

    Sleep von ATMega in Bascom ?

    Anzeige

    Kann mir jemand sagen, wie ich den ATMage(16 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!

  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.990
    Blog-Einträge
    1
    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.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    11.05.2006
    Beiträge
    33
    Du schriebst im Mail wörtlich "Hilfe in Bascom zu SLEEP studieren"...

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2004
    Beiträge
    378
    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.

    Code:
    '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

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •