mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Port D, Pin PD7 vom At90S8515 bleibt auf Low Pegel.


Autor: Norbert Kohns (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benoetige den Port D (AT90S8515)als Eingang im Tristate Mode.
Nachdem ich das Data Direction Register auf Null gesetzt habe, messe
ich mit einer Logik Probe an PD0-PD6 den erwarteten Tristate Pegel. Am
Pin PD7 (Pin 17) habe ich einen soliden Low Pegel. Ich habe 3 neue
At90S8515 von Reichelt bezogen (alle aus einer Charge 0327) und alle 3
machen dasselbe. Beim Einlesen der Port D Pins erhalte ich immer ein
low von PD7 egal welcher Pegel anliegt.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, also spontan fällt mir da ein, daß PD7 auch als /RD für exterene
RAMs arbeitet, wenn SRE in MCUCR auf 1 gesetzt ist. Dies ist aber
sicher nicht der Fall bei dir, oder doch ? Ansonsten könntest du
vielleicht mal überprüfen, ob an diesem Pin vielleicht ein Kurzschluss
nach GND besteht. Vielleicht auch mal PD7 komplett von der Schaltung
isolieren.

Thorsten

Autor: Norbert Kohns (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thorsten,
hier noch ein paar Details.
Der AVR steckt auf einem Steckbrett und das Port D mit allen Pins ist
voellig isoliert. Nach dem Programmieren gehen alle Port D Pins mit dem
Reset auf High und dann PD0-PD6 in Tristate und PD7 auf Low. Wenn ich
die Pullup Widerstaende programmiere sind all Pins auf High. Wenn ich
den Port D als Ausgang programmiere benimmt er sich auch normal.
Ich glaube fast, dass alle 3 AVRs defekt sind!?
Das MCUCR Register habe ich nicht programmiert.

Norbert

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn ich die Pullup Widerstaende programmiere sind all Pins auf
> High.

Kannst du dann auch HIGH einlesen ? Was passiert, wenn du auf LOW
ziehst ?

Autor: Norbert Kohns (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Eingang zu dem Port D ist ein 8 Bit Binarzaehler. Die Daten werden
mit einem Strobe kurz uebertragen und werden dann mit dem IN Befehl am
Port D eingelesen. Manchmal funktionert das, aber nicht immer. Wenn ich
den PD7 auf Low lege kann ich Low einlesen, ebenso den High Pegel vom
internen Pullup. In der Zwischenzeit hat jemand mein Programm in einen
anderen AT90S8515 gebrannt. Beim ihm sind alle 8 Pins im Tristate.
Offensichtlich sind alle meine AVRs defekt.
Vielen Dank fuer deine Muehe!
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.