mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Port in Funktion übergeben


Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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;
 }

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

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



Peter

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie meinst du das genau?

Hast du vielleicht ein Codebeispiel?

Autor: Chris (Gast)
Datum:

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

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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. :(

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mh tut mir leid ;)

Aber ich hoffe jetzt kann mir jemand helfen :-)

Gruß Christian

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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);

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank!

Habs gerade ausprobiert und geht nun wunderbar :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.