Forum: Mikrocontroller und Digitale Elektronik Probleme mit In und Out


von Marc (Gast)


Lesenswert?

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.

von Jonas Diemer (Gast)


Lesenswert?

liest du auch von PINC und nicht von PORTC? :-)

von Marc (Gast)


Lesenswert?

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.

von Erwin (Gast)


Lesenswert?

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

von A. Füßer (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.