Problem mit PCF8574 Port Expander

OP #1656902
Lesenswert?

Hallo!

steuere mit meine ATMega32 einen PCF8547 Port Expander an. Verwende
dafür eine Software I2C Funktion. Leider schaffe ich es nicht, Zugriff
auf den Port Expander zu erzeugen.
Habe das I2C Signal schon mit LEDs ausprobiert und abgelesen, auch schon
mit Tastern simuliert aber ich schaffe es nicht den IC richtig
anzusteuern.

Mein Übertragungssignal sieht folgendermaßen aus (In der Software
programmiert, mit LEDs abgelesen und auch mit Tastern ausprobiert):

START 0100 0000 ACK 00001111 ACK STOP

Meine Adresspins sind alle nach Masse geschalten, daher Adresse 0.

hättet ihr eine Idee was mein Fehler sein könnte?
Danke für eure Antworten!

lg Tommy
Gast #1656909
Lesenswert?

Thomas N. schrieb:
> Meine Adresspins sind alle nach Masse geschalten, daher Adresse 0.

Laut Datenblatt wäre das Adresse 0x20, je nach Implementierung kann es 
aber sein, daß du dafür 0x40 ausgeben musst.

Oliver
Gast #1656947
Lesenswert?

> was könnte sonst noch mein fehler sein?

Ein beliebter Fehler ist es zu vergessen das I2c ja
OpenDrain ist. Da du SoftwareI2C machst darfst
du nicht den Pegel aendern indem du High
oder Low auf dem Port ausgibst, der muss immer
auf Low stehen. Du gibst dann den Pegel
aus indem du die Portdirektion von Eingang
auf Ausgang umschaltest.

Olaf
OP #1656953
Lesenswert?

@Olaf
muss zugeben, das habe ich nicht gewusst und ich hoffe dass das mein 
fehler war! aber wie müsste die schaltung aussehen wenn ich das mit 
normalen taster ausprobieren möchte?
reicht es nicht einfach einen taster an den eingang des Port Expanders 
zu hängen und zwischen Masse und 5V umzuschalten?

lg
Gast #1656969
Lesenswert?

Thomas N. schrieb:
> reicht es nicht einfach einen taster an den eingang des Port Expanders
> zu hängen und zwischen Masse und 5V umzuschalten?

Die Leitungen dürfen nur per Pull-Up-Widerstand auf high gezogen werden, 
niemals aktiv. Taster dann gegen Masse, oder offen.

Die Widerstände hasr du aber dran, oder?

Oliver

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren