- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 15

Thema: Adressvergabe beim PCF8574

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.10.2007
    Alter
    51
    Beiträge
    128
    Super! Das hilft mir auf jeden Fall weiter.
    Herzlichen Dank!

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.10.2007
    Alter
    51
    Beiträge
    128
    Hallo,

    nun muss ich doch noch einmal fragen.

    Ich habe als Basisadresse die H22 an den drei Pins festgelegt. (L-H-L)
    Dazu muss ich nun die H40 zählen um in den Slave zu schreiben (einen Ausgang zu schalten)
    So wie ich es verstanden habe lautet nun meine Zieladresse H62.

    Wenn ich dies nun im Beipielprogramm eingebe sieht das so aus:

    Code:
    Config Scl = Portb.0                                        ' Ports fuer IIC-Bus, nicht Standard !
    Config Sda = Portb.1
     Config I2cdelay = 10                                       ' je höher der Wert umso langsamer der Bus
    
    I2cinit
    
    Const Pcf_write = &H62                                      ' Slaveadresse
    'Const Pcf_read = &H41
    
    ' Startausgabe
    Print
    Print "I2C-Soft Demo mit PCF 8574"
    Print
    
    Do
        I2cstart
        I2cwbyte Pcf_write
        I2cwbyte &HAA
        I2cstop
          Print Err                                             ' Err = 0 -> kein Fehler !
          Waitms 500
    
        I2cstart
        I2cwbyte Pcf_write
        I2cwbyte &H55
        I2cstop
    
        Print Err                                               ' Err = 0 -> kein Fehler !
    
        Waitms 500
    
    Loop
    Was habe ich jetzt falsch verstanden? Es geht nähmich nichts

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Du kannst mit 3 Bit nicht h 22 einstellen! 111x = 4+2+1 = 7 x zählt nicht lesen/schreibe

    Fest verdratet 1000 Deine Verdratung 010 lesen/schrieben 1/0 ergibt...

    1000010 = H42 + 1 für Schreiben = H43
    1000010 = H42 + 0 für Lesen H42

    versuche einmal...

    Const Pcf_write = &H43 ' Slaveadresse
    Const Pcf_read = &H42


    Gruß Richard

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    @Düsentrieb:
    Wenn du L-H-L (H02) einstellst mal 2 ---> H04
    plus H40 (basis) ---->
    H44 als leseadresse
    H45 als schreibadresse
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.10.2007
    Alter
    51
    Beiträge
    128

    Hallo,

    hab meinen Fehler zwischenzeitlich rausgefunden.
    Ich hatte einen PCF8574 AT und und wusste nicht dass dies gleichbedeutend mit dem PCF8574A ist.
    Die Basisadresse ist hier die 70.
    Den Rest habe ich verstanden, auch wenns nicht so ganz logisch ist

    Noch mal Danke an alle! =D>

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    55
    Beiträge
    1.258
    Hallo,

    H44 als leseadresse
    H45 als schreibadresse
    ich möchte hier nur anmerken, daß die Leseadresse bei I²C immer ungerade ist, weil da das Lesebit gesetzt ist.
    richtig wäre also:
    H45 als Leseadresse
    H44 als Schreibadresse

    Gruß, Michael

  7. #7
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Zitat Zitat von Michael Beitrag anzeigen
    ..., daß die Leseadresse bei I²C immer ungerade ist, weil da das Lesebit gesetzt ist,
    richtig wäre also:
    H45 als Leseadresse
    H44 als Schreibadresse
    uiuiui
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von PicNick Beitrag anzeigen
    @Düsentrieb:
    Wenn du L-H-L (H02) einstellst mal 2 ---> H04
    plus H40 (basis) ---->
    H44 als leseadresse
    H45 als schreibadresse
    ich habe auch irrtümlich LHL als H02 gelesen weil ich das schreib/Lese Bit nicht (als Adresse)
    mit beachtet habe...muss man aber doch und dann......

    10000101 = H45 schreiben
    10000100 = H44 lesen

    ...kommt auch die richtige Adresse heraus. beim A Typ dann halt.
    01110101 = H75 schreiben
    01110100 = H74 lesen

    Wenn mann es so liest braucht man auch nichts mehr * 2 zu nehmen.

    Gruß Richard

Berechtigungen

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

LiFePO4 Speicher Test