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


von Norbert Kohns (Gast)


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.

von Thorsten (Gast)


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

von Norbert Kohns (Gast)


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

von Thorsten (Gast)


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 ?

von Norbert Kohns (Gast)


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

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.