Atmel ARM: Pin einlesen

Gast #727143
Lesenswert?
• ▲
▼
Hallo

Ich versuche hier verzweifel, einen Pin an meinem AT91SAM7S einzulesen - 
ja, nichts trivialeres :-)

Nun, hier meine Codesequenz zur Initialisierung der Pins:

  // Configure PIO
  outr(PIOA_PER, (1 << VS1002D_DREQ) | (1 << VS1002D_XRESET)); // PIO 
Enable
  outr(PIOA_OER, _BV(VS1002D_XRESET)); // Output Enable
  outr(PIOA_SODR, _BV(VS1002D_XRESET)); // Output Set
  outr(PIOA_PUER, _BV(VS1002D_DREQ)); // Pullup Enable

Dann hier die Einlesesequenz:

int x = inr(PIOA_PDSR)

Was läuft hier schief?

Achja: _BV(X) setzt einfach ein Bit an Stelle X, diese Funktion sollte 
nicht das Problem sein.

Gruss

Michael
Gast #727186
Lesenswert?
• ▲
▼
Auch dieses Problem ist gelöst. Zuständig ist der PCM, eigentlich muss 
nur folgendes geschrieben werden:

PMC_PCER = (1 << 2);

Wobei '2' die ID des einzuschaltenden Peripherie-Geräts ist, beim PIO = 
2.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren