Forum: Mikrocontroller und Digitale Elektronik AT91SAM7S64: Resetproblem


von Karlheinz (Gast)


Lesenswert?

Im Falle eines schweren Fehlers im Programm löse ich einen Softwarereset 
aus. Laut Datenblatt müssen dazu zwei Bits gesetzt werden (siehe unten). 
Aber irgendetwas stimmt nicht. Der Controller landet in der 
Endlosschleife - statt das Programm von Anfang an abzuarbeiten.

Kennt sich jemand genauer mit dem AT91SAM7S64 aus und kann mir sagen was 
ich falsch mache?


  *AT91C_RSTC_RCR =   AT91C_RSTC_PROCRST
                    | AT91C_RSTC_PERRST ;
  while ( 1 ) ;

von Stephan (Gast)


Lesenswert?

Hi

du hast das Password vergessen! ;-)
Schau dir das im Datenblatt oder in den Beispielen von Atmel noch mal 
an.
1
//-----------------------------------------------------------------------------
2
/// Resets the processor.
3
//-----------------------------------------------------------------------------
4
void RSTC_ProcessorReset(void)
5
{
6
    AT91C_BASE_RSTC->RSTC_RCR = AT91C_RSTC_PROCRST | RSTC_KEY_PASSWORD;
7
}
8
9
//-----------------------------------------------------------------------------
10
/// Resets the peripherals.
11
//-----------------------------------------------------------------------------
12
void RSTC_PeripheralReset(void)
13
{
14
    AT91C_BASE_RSTC->RSTC_RCR = AT91C_RSTC_PERRST | RSTC_KEY_PASSWORD;
15
}

mfg
Stephan

von Karlheinz (Gast)


Lesenswert?

Danke Stephan :)

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.