PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ports richtig verstehen



grmuegge
31.08.2004, 12:21
Hallo,

bisher habe ich in Assembler in AVRStudio4 programmiert und eben simuliert. Nun nach doch einigem hin- und her habe ich mir das STK500 von Atmel gekauft. Aber schon kommen einige Fragen auf:

Habe ich das richtig verstanden, daß man die Ports zwar (wenn als Ausgang deklariert) setzen kann, sich die Pins daraufhin auch mitsetzen?Es ist aber nicht möglich, nur die Pins zu setzen?

Wenn Port als Eingang deklariert ist, kann ich die Pins ja abrufen (auch den gesamten Port)?

Wo kann man so wichtige Dinge über Ports und Pins denn eigentlich nachlesen? Habe bisher trotz ausgiebiger Suche fast nichts gefunden.


Danke für eure Hilfe,

Gerhard

ProgDom
31.08.2004, 12:41
guck dir mal das Tutorial auf www.mikrocontroller.net an ! Das hatte ich auch gemacht und es hatte geholfen.

LinuxMan
01.09.2004, 01:31
Es ist eigentlich nicht schwer. Wenn die Ports als Eingang definiert sind, dann kann man über Pin den Zustand abfragen.
Weisst man dem Eingangsport eine 1 zu, dann wird ein Pullup-Widerstand aktiviert der den Eingangsport auf High legt.

Ist ein Port als Ausgang definiert, dann kann man nur 0 oder 1 dem Port zuweisen. Pin´s gibts dann nicht.

recycle
01.09.2004, 06:19
Habe ich das richtig verstanden, daß man die Ports zwar (wenn als Ausgang deklariert) setzen kann, sich die Pins daraufhin auch mitsetzen?Es ist aber nicht möglich, nur die Pins zu setzen?

Nö, das hast du falsch verstanden.
Du kannst den gesamten Port einlesen und setzen und du kannst auch jeden Pin einzeln lesen und setzen.
Du kannst auch einzelne Pins als Ausgang und andee Pins deselben Ports als Eingang definieren.



Wo kann man so wichtige Dinge über Ports und Pins denn eigentlich nachlesen? Habe bisher trotz ausgiebiger Suche fast nichts gefunden.

Ich denke mal das Datenblatt deines Kontrollers wäre da ein guter Anlaufpunkt.
Wenn du einzelne Pins ansprechen willst wäre es ja ganz nützlich wenn du nicht nur weisst wie es geht, sondern auch welches Beinchen von deinem Controller sich dahinter verbirgt.
Wenn du den gesamten Port ansprichst musst du auch wissen, welche Pins dazugehören und ausserdem haben die verschiedenen Ports und Pins ja auch noch unterschiedliche Sonderfunktionen die sich von Controller zu Controller unterscheiden.