Hallo
Ich habe jetzt in den letzten 6 Monaten während meinem Praxissemester den AT91SAM7S64 programmiert. Ist ja der gleiche wie deiner nur mit weniger Speicher.
So richtige Tutorials gibts leider keine wo als Einstiegshilfe dienen könnten. Zumindest hab ich auch keine gefunden. Am Anfang solltest du mal bei http://www.siwawi.arubi.uni-kl.de/av.../arm_projects/ vorbeischauen. Helfen kann auch http://at91.com.
Zu den Ausgängen setzen:
1. Clock vom PIO einschalten (ist wahrscheinlich im Projekt schon)
AT91C_PMC_PCER = 1<<AT91C_ID_PIOA;
3. Die Pins wo du verwenden willst einschalten
AT91C_PIOA_PER = (1<<Pin1) | (1<<Pin2) | ...;
2. Pins als Output setzen
AT91C_PIOA_OER = (1<<Pin1) | ....;
Den Ausgang High und Low schalten geht über die beiden Register
AT91C_PIOA_SODR = (1<<Pin); // setzen
AT91C_PIOA_CODR = (1<<Pin); // löschen
So ein Pin-Toggeln wie bei den AVRS gibt es nicht. Hier wird fürs setzen und löschen jeweils ein Register verwendet. Abfragen kannst du die Eingänge über das Pin Data Status Register "AT91C_PIOA_PDSR".
Natürlich kannst du auf die Register auch über structs zugreifen. Ich weiß jetzt nicht welche Header Datei du verwendest.
Gruß D'oh
Lesezeichen