Also,
dein Code macht im Augenblick folgendes:
-setzte Portpins 0,1,3 und 4 als Ausgang
-setzte eben diese Pins auf 0
Wenn deine LED per Widerstand auf +3.3V liegt, sollte was leuchten,
wenn sie gegen Masse geht, leuchtet natürlich nichts. Das ist aber
wahrscheinlich in beiden Fällen nicht das, was du willst. Versuchs mal
mit:
#include "LPC213x.h"
int main (void) {
IODIR0 = 0x08000000; // P0.27 als output
IOSET0 = 0x08000000; // Pin geht auf 1
}
Die IODIR Register repräsentieren mit jedem Bit einen Portpin, wobei
das MSB, also Bit31, links steht und das LSB Bit0 rechts. Schreib
0x08000000 mal binär mit MSB links, dann wirds klar.
Die Register IOSET/IOCLR funktionieren genauso, wobei das eine Register
immer für das Setzen eines Pins und das andere fürs Löschen zuständig
ist. Das mit dem Verodern kannst du dir dort also sparen.
Verodern müsstest du nur wenn du direkt ins jeweilige IOPIN Register
schreibst (die Details kannst du sehr gut im LPC213x User Manual
nachlesen).
Der Simulator vom uV3 ist gar nicht so schwer zu bedienen, vor allem
hilft er dir zu kontrollieren, ob dein Programm überhaupt über den
Startup-Code hinauskommt.
Vorausgesetzt, daß du des Englischen ausreichend mächtig bist, kann ich
dir nur folgendes Tutorial empfehlen:
"The Insider's Guide To The Philips ARM7-Based Microcontrollers"
http://www.hitex.co.uk/arm/
Das Ding ist wirklich gut, angefangen bei den nötigen Details über den
Prozessor, bis zur Anleitung, wie die Keil Entwicklungsumgebung
einzurichten und zu bedienen ist, was im Startup Code und den
Linkerscripts steht und vieles mehr.
Ich habe dir mal ein Binary des Blinky-Examples hier angehängt. Das
macht auf P0.16..23 ein Lauflicht. Läuft bei mir einwandfrei im
Simulator (LPC2132 Target) und genauso auf dem Evalboard (LPC2138).
Die Source sollte bei dir unter <DRV:>\keil\arm\examples\Blinky
stehen.
Viel Spaß,
Christian.