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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.