Forum: Mikrocontroller und Digitale Elektronik Port in Funktion übergeben


von Christian (Gast)


Lesenswert?

Hallo, ich bin noch recht Anfänger in Sachen µC.

Meine kleine Frage ist wie oder ob man in einer Funktion einfach einen
Port/Ausgang übergeben kann.

also zB.:

Funktion(5,5, p2.1);


void Funktion(int a, int b, port PORT)
 {
 //....
 PORT = 0xFF;
 }

von Christian (Gast)


Lesenswert?

Mh, ist die frage zu banal, oder warum Antwortet niemand? ;-)

Oder muss ich das wirklich per Hand jeweils Selektieren (zB. über
if-Anweisung?)

Trotzdem, schon mal danke im vorraus

von Peter D. (peda)


Lesenswert?

Du kannst Ports auch als SRAM ansprechen (Portadresse + 0x20).



Peter

von Christian (Gast)


Lesenswert?

Wie meinst du das genau?

Hast du vielleicht ein Codebeispiel?

von Chris (Gast)


Lesenswert?

In der avrlibc-Doku ist ein schönes Beispiel drin, wie man Ports als
Parameter übergibt, mein ich. Hast du da schon nachgeschaut?

von Christian (Gast)


Lesenswert?

mh leider nicht, da ich einen m16c habe und mit dem NC30 Compiler zur
Zeit arbeite. Ansonste habe ich nur noch die Tasking und IAR Demo, wo
ich noch kein passenden Code gefunden habe. :(

von Peter D. (peda)


Lesenswert?

Garnicht schön, wenn man mit dem allerwichtigsten erst im 6. Post
rausrückt :-(

Da lag wohl ein Fussel auf meiner Glaskugel, daß ich den AVR
vermutete.

Naja, dann vergiß eben alles bisher gesagte.


Peter

von Christian (Gast)


Lesenswert?

mh tut mir leid ;)

Aber ich hoffe jetzt kann mir jemand helfen :-)

Gruß Christian

von A.K. (Gast)


Lesenswert?

Der M16c hat die Ports doch wunderschön im Datenbereich liegen. D.h.
Ports werden grad so adressiert und angesprochen wie Variablen.

Damit sollte folgendes gehen:

void Funktion(unsigned char *ptrToPort)
 {
 *ptrToPort = 0xFF;
 }

...

Function(&PORT);

von Christian (Gast)


Lesenswert?

Vielen Dank!

Habs gerade ausprobiert und geht nun wunderbar :-)

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.