Forum: Mikrocontroller und Digitale Elektronik sam7x data abort durch PIO Modul


von alibabashack (Gast)


Lesenswert?

Hallo allerseits,

ich bin gerade mal wieder am Verzweifeln: Beim Schreiben des Registers 
PIO_CODR, (also beim Schalten von Pins auf GND) bekomme ich ein data 
abort. Es ist sehr sicher, dass es an diesem Befehl liegt (per debugger 
alles durchgegangen):

__inline void AT91F_PIO_ClearOutput(
  AT91PS_PIO pPio,   // \arg  pointer to a PIO controller
  unsigned int flag) // \arg  output to be cleared
{
  pPio->PIO_CODR = flag;
}

Nach dem Auswerten des MC Abort Status Registers ist klar, dass der 
abort durch ein WORD write vom PIO ausgelöst wurde.

Das PIO Modul wurde wie folgt initialisiert:
    AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_PULLUP);
    AT91F_PIO_CfgOutput(AT91C_PIO_PULLUP, AT91C_PULLUP);
AT91C_PIO_PULLUP ist dabei AT91C_BASE_PIOA und
AT91C_PULLUP ist AT91C_PIO_PA16

Jetzt ist meine Frage, durch was alles ein solcher Fehler entstehen 
kann? Das kann ja eigentlich nur daran liegen, dass der PIO Controller 
nicht richtig konfiguriert ist oder?

Vielen Dank
Alex
PS: Wie formatiert man hier etwas als Code?

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.