Die LPC21xx aus dem Tutorial unterscheiden sich ein wenig von den
LPC17xx. Unterschiedlich ist zunächst schonmal der Kern. Die 21er haben
einen ARM7 (die ich nach wie vor sehr schätze), während die 17er einen
Cortex M3 haben.
Dann ist auch die Peripherie doch etwas verschieden.
Dein Compiler kann mit beiden Chips umgehen aber das bedeutet nicht das
Software die für den LPC2124 gedacht ist auch auf einem 1769 läuft. Das
liegt zunächst einmal daran das die Header Dateien anders aufgebaut
sind. Früher war es bei den LPC üblich das die Register direkt über
Makros angesprochen wurden. Inzwischen geht das über Strukturen. Könnte
man auch anders machen, die fertigen Header sind jetzt aber nunmal so.
Ich würde sagen das du das Tutorial hier für dein Board vergessen
kannst. Die Unterschiede sind letztlich einfach zu groß, auch wenn es
alles irgendwie ähnlich aussieht. Halte dich an den Beispielen die bei
der CodeRed IDE dabei sind.
> Wo kann ich diese ganzen Befehle nachschlagen???
Deine "Befehle" sind einfache Zuweisungen. Du mußt das Datenblatt mit
dem Headerfile (LPC17xx.h) abgleichen. Dort findest du die beschriebenen
Register wieder, nur halt in Strukturen verpackt. Aber wie man darauf
zugreift hast du ja an den Beispielen schon gesehen.
Es gibt noch eine Alternative zu den Registerzugriffen. Die sogenannte
CMSIS Bibliothek bietet Funktionen für die gängigsten Zugriffe.
Zumindest in einigen Beispielen müßte die verwendet werden. Anstelle
einer Zuweisung an FIODIR wird dann z. B. GPIO_SetDir() aufgerufen. Das
Datenblatt mußt du aber trotzdem lesen.
CodeRed verwendet anscheinend eine abgespeckte Version dieser
Bibliothek. Bei NXP gibt es eine vollständige Version (mit Beispielen)
zum Download. Suche dort nach CMSIS. Es gibt mehrere! Du brauchst die
für die LPC17xx Reihe. Darin enthalten ist auch eine .chm Datei (Windows
helpfile) mit der Dokumentation.
Frank K. schrieb:
> Bei NXP gibt es zwei Möglichkeiten, die GPIOs anzusteuern:
Nur bei den ARM7 Controllern. Die LPC17xx kennen nur noch fast-io. Bei
den 11xx/12xx/13xx geht das nochmal anders.