- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 4 von 4

Thema: Gelöst: Problem mit PCF8574

  1. #1
    Erfahrener Benutzer Roboter Experte Avatar von Tido
    Registriert seit
    14.11.2006
    Ort
    OWL
    Alter
    48
    Beiträge
    622

    Gelöst: Problem mit PCF8574

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    ich habe ein PCF8574 an einem Atmega32. Schreiben funktioniert wunderbar, aber beim Lesen habe ich ein Problem:

    An allen Ports sind Taster nach GND angeschlossen. Ich setze alle Ports durch Senden des Wertes 255 auf Eingang. Ein Logikprüfer bestätigt, dass alle Ports High sind ( &B11111111 = 255).
    Lese ich nun aber die Ports, so erhalte ich statt dem erwarteten Wert von 255 nur 0.
    Drücke ich den 1. Taster (LSB), so ändert sich der ausgelesene Wert von 0 auf 254 (was ja auch logisch ist: &B11111110 = 254).

    Warum aber wird ohne bet. Taster nicht 255 gelesen sondern 0? Diese "0" lässt sich dann nämlich nicht vom Zustand "alle Taster betätigt" unterscheiden. Natürlich könnte ich mit Pullups an den Ports Abhilfe schaffen, aber das ist nicht der Sinn.
    MfG
    Tido

    ---------------------------------------------------
    Have you tried turning it off and on again???
    ---------------------------------------------------

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    07.07.2006
    Beiträge
    225
    Hallo,
    Nach dem Hochfahren des IC, werden die Ausgänge automatisch resetet, auf 0V gesetzt. Setz vor dem Betreiben der Ports als Eingänge die Ports auf 1.
    Wenn Du die Ports als Eingang mit Taster nutzen willst, so solltest Du die Ports per Pullup, 10K genügen, gegen +UB ziehen.
    gruss Klaus.

  3. #3
    Erfahrener Benutzer Roboter Experte Avatar von Tido
    Registriert seit
    14.11.2006
    Ort
    OWL
    Alter
    48
    Beiträge
    622
    Moin,

    lt. Datenblatt (und dem was ich hier vor mir sehe) sind die Ports nach dem Einschalten bereits High.
    Trotzdem setze ich sie nochmals auf High.

    Testweise habe ich an allen Ports 4,7K-Pullups angeschlossen.
    Seltsamerweise erhalte ich nach wie vor beim Lesen immer den Wert 0, solange alle Ports High sind. Lege ich einen beliebigen Ports per Taster auf GND, so wird der korrekte Wert (aller Ports) angezeigt.

    Jemand eine Idee?
    MfG
    Tido

    ---------------------------------------------------
    Have you tried turning it off and on again???
    ---------------------------------------------------

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von Tido
    Registriert seit
    14.11.2006
    Ort
    OWL
    Alter
    48
    Beiträge
    622
    Problem gelöst: Der PCF war defekt, nach Tauch gibt er endlich auch die 255 aus.
    MfG
    Tido

    ---------------------------------------------------
    Have you tried turning it off and on again???
    ---------------------------------------------------

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen