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
Achso: PIO Clock vergessen. Kann mir jemand verraten, wo im Datenblatt man darüber etwas findet? Nicht beim PIO jedenfalls.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.