Hallo Leute, ich habe ein Problem. Ich möchte an Port C etwas ausgeben (Daten für ein EEPROM). Später möchte ich sie zur Kontrolle wieder einlesen. Habe ich als letztes 66h (also f) ausgegeben liegt dies am EEPROM auch an. Habe ich mit einem Multimeter mind. 100000 mal geprüft. Beim erneuten einlesen bekommt mein 8515 diese Daten auch problemlos. Nachdem einmal zufällig der Anschluss zum EEPROM ausgesteckt war, kamen die Daten aber trotzdem noch an. Also habe ich nach dem Senden der letzten Daten nochmal 00h ausgegeben. Dann habe ich PortC als Eingang festgelegt. Jetzt wird immer 00h eingelesen, egal was anliegt. Hat jemand eine Idee woran das liegen könnte.
Ups, damit hast Du voll ins schwarze getroffen, hatte statt "in temp,$13" leider "$15" drinstehen. Aber das daraus resultierende Problem hat sich immer noch nicht gelöst. Selbst wenn ich vor dem senden des letzten Zeichens das Kabel abziehe, wird beim anschliessenden einlesen des Ports trotzdem dieses Zeichen gelesen. Dies kann aber eigentlich nicht sein weil ja kein Kabel angeschlossen ist. Bin momentan vollkommen ratlos.
Schieb doch mal einen oder zwei nop-Befehle nach dem Umschalten von OUT auf IN (DDR) und dem Ablesen der Pins ein. clr temp out DDRC,temp ;Input nop nop in temp,PinC
Moin Marc, Du mußt nicht nur von PinC lesen, sondern den I/O-Port auch auf Eingang stellen. (DDRC-Bits). Wobei dann PortC als Konfigurationsregister für die Eingänge gilt. DDCn = 0, PortCn=0 -> Input Tri-state; das dürfte die richtige Einstellung für Dich sein. (siehe Datenblatt I/O-Ports). Tschüß, Andre. -- CAN@home - http://www.CANathome.de - Hausautomation mit AVR + CAN
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.