Forum: Mikrocontroller und Digitale Elektronik ARM SAM3U Backup Mode


von Marc (Gast)


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/doc6430.pdf
Abschnitt: 5.5.1 Backup Mode

So schaut mein aktuelles minimal Programm dazu aus:
1
void WaitLoop(int loops)
2
{
3
  int i;
4
  for(i=0;i<loops;i++){}
5
};
6
7
int main (void) 
8
{
9
  unsigned int *SystemControlRegister = NULL;
10
  const int cloops=100000;
11
  unsigned int ledmask = 3;
12
13
  //stop watchdog
14
  WDT->WDT_MR = (1<<15);
15
  
16
  //System Control Register  
17
  SystemControlRegister = (unsigned int *)0xE000ED10;
18
  
19
  //set deep sleep bit
20
  *SystemControlRegister |= (0x1<<2);
21
  
22
  //enable wakeup events
23
  REG_SUPC_WUMR |= (0xF<<0);
24
  
25
  //wait for events
26
  __WFE();
27
  
28
  //Setup Pins PB0..PB1 for LEDs
29
    PIOB->PIO_PER    =  0x03;  //pio enable register            
30
    PIOB->PIO_OER    =  0x03;  //output enable register 
31
    PIOB->PIO_PUDR   =  0x03;  //pull up disable register
32
    PIOB->PIO_OWER   =  0x03;  //output write enable register
33
    PIOB->PIO_ABSR  &= ~0x03;  //ab select register
34
  
35
  while(1)
36
  {
37
    PIOB->PIO_CODR = ledmask;
38
    WaitLoop(cloops);
39
    PIOB->PIO_SODR = ledmask;
40
    WaitLoop(cloops);
41
  };
42
43
}

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

von Marc (Gast)


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.

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.