- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 3 von 3

Thema: Suche Sleep-Instruction C-Code für ICCtiny 6.11A Compiler

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    28.03.2004
    Ort
    Erlangen
    Alter
    46
    Beiträge
    14

    Suche Sleep-Instruction C-Code für ICCtiny 6.11A Compiler

    Anzeige

    Praxistest und DIY Projekte
    Hallo Leute,

    ich möchte einen ATtiny15l in den "Power-down"-Sleep-mode schalten. Nur klappt das irgendwie nicht? Im datasheet steht, dass der Sleep-Befehl ausgeführt werden muß. Nur wie geht das im C-Compiler ICCtiny 6.11A von imagecraft???? Wie sieht der sleep-Befehl aus im C-Code? Bitte helft mir.....

    Danke Euch.

    Gruß
    Lalupa

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    15.03.2004
    Ort
    Attnang
    Alter
    47
    Beiträge
    54
    Hei,

    Ich kenn zwar den ICCtiny-Compiler nicht, aber lt. Datenblatt habe ich im MCUCR-Register folgendes gefunden:

    Bit SM1 und SM0 : Hier kann man den Sleep-Mode einstellen.
    Lt. Tabelle kann man zwischen folgenden wählen: Idle Mode (warten aber abarbeiten verschiedener Interrupts wie Timer...), ADC noise Reduction Mode (für Analogeingänge: Rauschfrei halten), Power-Down-Mode (abschalten bis zu einem ext. Interrupt).
    Für den Power-Down-Mode muss man SM0 auf 0 und SM1 auf 1 setzen: Du musst also in diesem Register Bit 4 setzen und Bit 3 löschen.
    Setzt man jetzt Bit 5 (Sleep Enable), so wird der Controller in den eingestellten sleep-Mode gehen.

    char mcuReg = MCUCR;
    mcuReg |= 0x10; //Bit 4 setzen
    mcuReg &= ~0x08; // Bit 3 löschen
    //einschalten des Sleep-Mode:
    mcuReg |= 0x20; // Bit 5 setzen
    MCUCR = mcureg; // ins Register eintragen

    Schöne Grüße,
    Alex

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    28.03.2004
    Ort
    Erlangen
    Alter
    46
    Beiträge
    14
    Hallo,

    nach nervigen Probieren hab ich es dann so hingekriegt:

    MCUCR = 0x30; // Enable Sleep-Mode (Power-down-Mode)
    asm("sleep"); // Schalte in Power-down-Mode

    Das Setzen der Bits im MCUCR-Register kann den Sleep-Mode nur "Enablen" aber nicht starten. Das macht dann der assembler-Befehl "sleep".
    Am Ende dann doch ganz simpel, wenn man mal drauf gekommen ist )

    Trotzdem Danke für Deine Hilfe!!!!!!

Berechtigungen

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

LiFePO4 Speicher Test