mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ARM SAM3U Backup Mode


Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

ich versuche zZ die verschiedenen Power Modis meines SAM3U4E zu nutzen.
Aktuell versuche ich in den Backup Mode zu kommen(und wieder zu 
verlassen).
Allerdings ist das Datenblatt zum Prozessor ziemlich waage was die Power 
Modis anbelangt.

Datasheet: http://www.atmel.com/dyn/resources/prod_documents/...
Abschnitt: 5.5.1 Backup Mode

So schaut mein aktuelles minimal Programm dazu aus:
void WaitLoop(int loops)
{
  int i;
  for(i=0;i<loops;i++){}
};

int main (void) 
{
  unsigned int *SystemControlRegister = NULL;
  const int cloops=100000;
  unsigned int ledmask = 3;

  //stop watchdog
  WDT->WDT_MR = (1<<15);
  
  //System Control Register  
  SystemControlRegister = (unsigned int *)0xE000ED10;
  
  //set deep sleep bit
  *SystemControlRegister |= (0x1<<2);
  
  //enable wakeup events
  REG_SUPC_WUMR |= (0xF<<0);
  
  //wait for events
  __WFE();
  
  //Setup Pins PB0..PB1 for LEDs
    PIOB->PIO_PER    =  0x03;  //pio enable register            
    PIOB->PIO_OER    =  0x03;  //output enable register 
    PIOB->PIO_PUDR   =  0x03;  //pull up disable register
    PIOB->PIO_OWER   =  0x03;  //output write enable register
    PIOB->PIO_ABSR  &= ~0x03;  //ab select register
  
  while(1)
  {
    PIOB->PIO_CODR = ledmask;
    WaitLoop(cloops);
    PIOB->PIO_SODR = ledmask;
    WaitLoop(cloops);
  };

}

Der soll starten, sich schlafen legen und dann aufs FWUP - Pin reagieren 
und anfangen mit den LEDs zu blinken.

Was natürlich nicht funkioniert....

Kann mir wer helfen und sagen warum es nicht läuft?

Grüße Marc

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

der Code oben funkioniert doch richtig, der geht in den Backup Mode.
Was ich nicht bedacht habe, ist das der nach dem Aufwecken am Anfang(!) 
der Main wieder beginnt...d.h. er konnte nie blinken.

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.