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.
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
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
> Wenn ich die Pullup Widerstaende programmiere sind all Pins auf > High. Kannst du dann auch HIGH einlesen ? Was passiert, wenn du auf LOW ziehst ?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.