Forum: Mikrocontroller und Digitale Elektronik PortC Problem mit Mega16


von Tarnick (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

um es gleich vorweg zu nehmen, das JTAG habe ich deaktiviert.

Ich versuche verzweifelt den Port C einzulesen, erhalte aber immer nur
"0". Port D funktioniert, den habe ich aber als Ausgang geschaltet.
Egal was ich auf die Eingänge gebe, es wird immer der Wert Null
angezeigt.

Was kann das sein ?


Gruß Reinhard

von Sebastian Amthor (Gast)


Lesenswert?

da muß bestimmt ein anderer befehl hin... PortX = ausgang und PinX =
eingang

von Tarnick (Gast)


Lesenswert?

Hallo Sebastian,

besten Dank für Deine Antwort.


Konfigurieren tue ich den Port mit der Zeile:

Config Portc = Input

Was ist daran falsch ?

Gruß Reinhard

von Dieter B. (Gast)


Lesenswert?

Hallo

Eingänge werden mit PIN eingelesen.

Print PINC

mfg
Dieter

von Tarnick (Gast)


Lesenswert?

Hallo Dieter,


jetzt habe ich es begriffen !!!!!!!!!!!

Tausenddank an Dich und Sebastian !


Gruß Reinhard

von Norbert (Gast)


Lesenswert?

Hi,

Nochmal ums komplett zu machen und damit man sich das besser vorstellen
kann:
Config setzt das Register DDRX.Y. 1 Output und 0 Input.
Bei Output schaltet man mit Port den Ausgang auf 1 oder 0.
Bei Input schaltet man mit Port einen Pullup ein bzw aus.
Config bzw. DDRX bestimmt also die Funktion des Registers Port - Pullup
an/aus oder Push-pull.
Pin liest immer den wirklichen Zustand des Beinchens, egal was Du da
sonst getrieben hast.
Also wenn Du das Ding als Output definiert hast und Portx.Y = 1, kannst
Du bei PinX.Y = 0 erkennen, daß es gleich qualmt. Dann hat das Beinchen
nen Kurzen zu GND.
Irgendwo bei Atmel steht auch (ich glaube FAQ) warum die das so
vermeintlich kompliziert gemacht haben (habs wieder vergessen).

Gruß,
Norbert

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.