- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Adresse bei I2C Bus

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2006
    Ort
    Steiermark
    Beiträge
    15

    Adresse bei I2C Bus

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo

    Ich habe eine Frage, wie muss ich die Adresse des Ic's welche lautet &H74 bei der Bibliothek von fleury i2cmaster.h bei i2c_start (unsigned char addr) eingeben und was bedeudet das +I2C_WRITE in dieser Funktion

    Bitte um rasche Antwort

    Danke im voraus

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Am besten erst nen Namen vergeben, falls sich die Adresse mal ändert, und damit man sie sich besser merken kann:
    #define adresse 0x74
    Und dann
    i2c_start(adresse+I2C_WRITE);

    Das I2C_WRITE bzw. I2C_READ wählt aus, ob du den Slave auslesen oder beschreiben willst.
    (Hintergrund für die Schreibweise als Addition zur Adresse: Bei I2C haben die eigentlichen Adressen nur seiben Bit. Das achte Bit bestimmt die Richtung der folgenden Datenübertragung. Es wird vom Master direkt nach der Startbedingung also ein Byte gesendet, die seiben Bit Adresse plus ein Bit Richtung. Daher werden nun die beiden Komponenten zusammengerechnet, um das vollständige Byte zu bilden. In der ic2master.h ist I2C_WRITE als 0 bzw. I2C_READ als 1 definiert.
    )

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2006
    Ort
    Steiermark
    Beiträge
    15
    Hallo

    Danke
    Noch ein Problem wie gebe ich die Ports für Sda und Scl bekannt

    Meine Ports sind Port C0 =Scl Port C1 =Sda

    Kannst du mir das bitte noch schreiben

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Was für ein AVR-Typ? Sind die Pins in der Pinbelegung im Datenblatt als SCL/SDA gekennzeichnet (z.B. Mega16/32)? Dann brauchst du die Pins nicht mehr extra angeben. In diesem Fall verwendest du die Dateien ic2master.h und twimaster.c.
    ic2master.S darf dann nicht im selben Ordner liegen.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2006
    Ort
    Steiermark
    Beiträge
    15
    Hallo


    Ich habe den Atmega 32

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    also ic2master.h und twimaster.c verwenden, die Pinbelegungen sind dann schon richtig eingetragen.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2006
    Ort
    Steiermark
    Beiträge
    15
    Hallo

    Danke das mit dem I2C Bus funktioniert jetzt schon einmal

    aber jetzt habe ich ein Problem mit dem schicken der Adresse an den Pcf 8574AP
    Ich möchte das Port 0-2 und 5-7 aktiv sind

    wie muss ich da die Adresse schicken

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    06.11.2006
    Beiträge
    1.078
    Hallo
    Du mußt einfach die entsprechenden bits auf 0 oder 1 setzen.
    Du liest das Byte ein,manipulierst die gewünschten Bits und schreibst das Byte.

    Mit freundlichen Grüßen
    Benno
    Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
    Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2006
    Ort
    Steiermark
    Beiträge
    15
    Hallo

    und wie muss ich das machen

    Ich bin Anfänger und kenn mich leider nicht so gut aus

    könntest du bitte ein kurzes Beispiel schreiben

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    06.11.2006
    Beiträge
    1.078
    Hallo
    bit 0 und 1 sollen auf null gesetzt werden,der Rest bleibt:
    lese byte
    and 1111 1100b
    schreibe byte
    zum setzen: or 0000 0011b
    Mit freundlichen Grüßen
    Benno
    Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
    Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress