www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PortC Problem mit Mega16


Autor: Tarnick (Gast)
Datum:
Angehängte Dateien:

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

Autor: Sebastian Amthor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
da muß bestimmt ein anderer befehl hin... PortX = ausgang und PinX =
eingang

Autor: Tarnick (Gast)
Datum:

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

Autor: Dieter B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Eingänge werden mit PIN eingelesen.

Print PINC

mfg
Dieter

Autor: Tarnick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dieter,


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

Tausenddank an Dich und Sebastian !


Gruß Reinhard

Autor: Norbert (Gast)
Datum:

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

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.