Forum: Mikrocontroller und Digitale Elektronik LPC2129 Programmierprobleme


von Michael S (Gast)


Lesenswert?

Hi,
ich arbeite seit kurzem mit dem LPC2129 unter WinARM. Dabei haben sich
bei mir einige Fragen aufgetan.

1)
Warum mäkelt der Compiler Deklarationen, die so aussehen
1
int test(unsigned char &c);
an? (Der Fehler ist das '&'-Zeichen)

Verwende ich stattdessen
1
int test(unsigned char* c);
Ist alles OK, die Verwendung allerdings leider eine Andere ;-)

2)
Irgendwie scheine ich eine Denkblokade mit den IO's zu haben.
Wie kann ich ein ganzes Byte, oder mehr gleichzeitig auf die IO-Ports
legen? Beim AVR ging das in etwa so:
1
PORTA |= 0xFF;
Das Gleiche stellt sich mir natürlich auch beim Einlesen.

3)
Kennt jemand ein Tutorial, in dem beschrieben wird, wie man mit den
Ext-Interrupts umgehen muss? Die Demos, die dem WinARM beiliegen,
lassen sich hierzu leider nicht sonderlich aus.

Freundlichen Gruss
Michael S

von A.K. (Gast)


Lesenswert?

"int test(unsigned char &c);"

Das ist ja auch kein C sondern C++ und muss folglich als C++ übersetzt
werden.

"Wie kann ich ein ganzes Byte, oder mehr gleichzeitig auf die
IO-Ports
legen?"

In 2 Schritten. Beispielsweise erst die zu setzenden Bits setzen, dann
die zu löschenden Bits löschen.

Grund für diese zunächst irritierende Methode:
- "port |= value" ist uf ARMs eher ineffizent.
- Die Ports sind 32bit breit. Interrupt-feste Modifikation von Portpins
ist kaum anders möglich.

Lesen: wo ist das Problem?

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
Noch kein Account? Hier anmelden.