-         

Ergebnis 1 bis 8 von 8

Thema: PCF 8574A an Mega8 ... suche Programmbeispiel

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    10.06.2005
    Ort
    Buchbrunn
    Alter
    28
    Beiträge
    68

    PCF 8574A an Mega8 ... suche Programmbeispiel

    Anzeige

    Hallo,

    ich hab mal ne kurze Frage (guter Witz). Hat jemand von euch ein einfaches ganz minimalistisches I²C Bus Programm (I²C Bus Softwaremäßig oder Hardware is mir bis jetzt wurscht so lange es läuft) für den PCF8574A ich bin hier langsam am Verzweifeln weil ich immer nur Beispiele mit nem EEPROM find und mich das kein bisschen weiter bringt.

    Was ich bis jetzt herausgefunden hab is nur die Device ID (Also =0111) aber wie funktioniert das mit der Adressierung?? Man hat 3 Adresspins (A0, A1, A2) aber wie kommt man aus den Jumperstellungen von denen auf die Adresse und wie wird die Adresse dann im Programm verwendet??

    Bitte Helft mir ich hab jetzt schon Tagelang daran rumgeknobelt und bin bis jetzt zu keinem Ergebnis gekommen, hab auch schon das ganze Forum durchsucht.

    Danke im Voraus für eure antworten

    Wolfgang

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    ... ein einfaches ganz minimalistisches I²C Bus Programm
    Code:
    Config Sda = Portx.x
    Config Scl = Portx.y 
    
    Const Pcf8574 = &H40         'Adresse PCF8574
    I2csend Pcf8574 , &HFF       'alle Ausgänge auf Height
    Die Adresse $40 gilt, wenn A0, A1 und A2 auf GND liegen.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    10.06.2005
    Ort
    Buchbrunn
    Alter
    28
    Beiträge
    68
    Danke Albundy

    so etwas hab ich gesucht, hab garnicht gewusst das das so einfach ist. nur irgendwie macht mein controller da nicht mit. Also die Syntay is vollkommen OK das funktioniert alles (also das ganze $regfile .... und so) nur irgendwie kommt am PCF nichts an.

    Um nochmal auf die Adressen zurück zu kommen, es gibt insgesamt ja 8 kombinationen und wie sind da dann die Adressen?

    • A0, A1 und A2 = Vcc = Adresse ??
      A0 und A1 = Vcc A2 = GND = Adresse ??
      A0 = Vcc, A1 = GND, A2 = Vcc = Adresse ??
      A0 = Vcc, A1 und A2 = GND = Adresse ??
      A0 = GND , A1 und A2 = Vcc = Adresse ??
      A0 = GND , A1 = Vcc , A2 = GND = Adresse??
      A0 und A1 = GND, A2 = Vcc = Adresse ??
      A0 , A1 und A2 = GND = Adresse &H40

    Tut mir leid das ich euch mit solchen Fragen löchern muss aber ich hab nirgendwo mal eine Erklärung gefunden aus der klar wird wie man die Adresse bestimmt.

    Wolfgang

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.02.2005
    Beiträge
    175
    Immer die Basisadresse (Siehe Datenblatt, HEX:40 = Dez:64)

    +0 (A0, A1, A2 auf GND)
    +2 (A0 auf VCC)
    +4 (A1 auf VCC)
    +8 (A2 auf VCC)

    Dann hast Du die Schreibadresse, Lesedadresse ist immer Schreibadresse + 1.

    Grüße

    Torsten

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    10.06.2005
    Ort
    Buchbrunn
    Alter
    28
    Beiträge
    68
    Danke Torsten für die schnelle Antwort , mal schaun obs jetzt funzt, wobei ich schon das flaue gefühl hab das der PCF inzwischen abgekratzt is, da er an allen Ports high is obwohl der AVR immer alle Ports low sendet.

    Tortzdem nochmal vielen dank, ich werde ggf. den thread fortsetzen wenns dann ans Lesen aus dem PCF geht

  6. #6
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    ... nur irgendwie kommt am PCF nichts an.
    Hast du die Pullup Widerstände an SCK und SCL gegen +5V drin, sonst kommt am PCF nichts an.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    wenn das wirklich ein PCF8574A war/ist, dann ist die Adresse $70, beim PCF8574 ohne A ist sie $40 !

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    10.06.2005
    Ort
    Buchbrunn
    Alter
    28
    Beiträge
    68
    Ja die Pullupwiderstände sind drinne (4,7K). Dann werd ich das ganze nochmal mit der $70 Probieren vielleicht klappt ja dann und der ist doch nicht abgeraucht.

    Danköööö

    wolfgang


    EDIT: 17.2.2006

    Der bus läuft, das am Anfang war meine eigene Blöödheit:
    1. War das doch ein PCF8574 ohne A!!!
    2. Waren die buswiderstände aus versehen nicht nach VCC sondern nach GND eingebaut


    Tortzdem nochmal danke für eure behümungen \/ \/ \/

Berechtigungen

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