- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 70

Thema: Raspberry Pi I2C

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.06.2008
    Beiträge
    185
    Das R/W Bit ist Bestandteil der Adresse (Bit 0). Ist das Bit 0 auf 0, dann werden die vom Master gesendeten Daten auf das Port ausgegeben. Ist das Bit 0 auf 1, dann werden die Daten vom Port gelesen und an den Master gesendet.

    Die I2C Adresse besteht eigentlich aus 2 Adressen: 0xX0 und 0xX1.

    Siehe auch:

    I2C Interface
    PCF8574
    SCPS068G–JULY 2001–REVISED MAY 2008.............................................. .................................................. .................................................. ............ www.ti.com
    I2C communication with this device is initiated by a master sending a start condition, a high-to-low transition on
    the SDA I/O while the SCL input is high. After the start condition, the device address byte is sent,
    most-significant bit (MSB) first, including the data direction bit (R/W). This device does not respond to the general
    call address. After receiving the valid address byte, this device responds with an acknowledge, a low on the SDA
    I/O during the high of the acknowledge-related clock pulse. The address inputs (A0–A2) of the slave device must
    not be changed between the start and the stop conditions.
    The data byte follows the address acknowledge. If the R/W bit is high, the data from this device are the values
    read from the P port. If the R/W bit is low, the data are from the master, to be output to the P port. The data byte
    is followed by an acknowledge sent from this device. If other data bytes are sent from the master, following the
    acknowledge, they are ignored by this device. Data are output only if complete bytes are received and
    acknowledged. The output data will be valid at time, tpv, after the low-to-high transition of SCL and during the
    clock cycle for the acknowledge.
    A stop condition, which is a low-to-high transition on the SDA I/O while the SCL input is high, is sent by the
    master.
    Interface Definition
    BIT
    BYTE 7 (MSB) 6 5 4 3 2 1 0 (LSB)
    I2C slave address L H L L A2 A1 A0 R/W
    I/O data bus P7 P6 P5 P4 P3 P2 P1 P0
    MfG
    Hans

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Was Kampi meint ist, ob er das Bit auf Softwareseite setzen muss. Antwort ist auch hier ja. Einfach Adresse + 1 = R-Zugriff und Adresse + 0 ist W-Zugriff.

    i2detect wird halt nur die W-Adresse also die 7-Bit-Adresse ausspucken.
    Grüße,
    Daniel

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Die I2C Adresse ist 7 Bit. Aus dem Standard:

    This address is seven bits long
    Der I2C Bus transportiert Daten Byte (d.h. 8 Bit) weise. Das Erste Byte nach einem Start nennt man Adressbyte.

    After the START condition (S), a slave address is sent. This address is seven bits long followed by an eighth bit which is a data direction bit (R/W) — a ‘zero’ indicates a transmission (WRITE), a ‘one’ indicates a request for data (READ)
    Daß bei einer Datenkommunikation mehrere Felder in einem Byte vorhanden sind, ist gängige Praxis. Hier sind es zwei Felder, in den oberen 7 Bit die Adresse und im untersten das Direction Bit.

    Was Kampi meint ist, ob er das Bit auf Softwareseite setzen muss. Antwort ist auch hier ja. Einfach Adresse + 1 = R-Zugriff und Adresse + 0 ist W-Zugriff.
    Das geht garantiert in die Hose.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Huiuiuiui viele Antworten.
    Erstmal danke Klebwax für den Hinweis mit dem /var Ordner.
    Ich habe mir das nochmal durchgelesen und damit hat sich meine Frage geklärt.
    Ich bin bisher davon ausgegangen, dass das R/W Bit ein fester Bestandteil der Adresse ist (sprich die Adresse 8 Bit lang ist).
    Und dementsprechend war ich ein wenig verwirrt, weil mein Bascomprogramm nutzt die Adresse 0x40 um was in den PCF zu schreiben und mein C-Programm für das Raspberry nutzt 0x20.
    Das hat mich gestern Abend ein bischen zum grübeln gebracht.
    Aber jetzt habe ich im Datenblatt gesehen, dass das Writebit beim PCF standartmässig auf 0 steht.
    Aber nochmals danke für die fixen Antworten (die Frage lag sehr wahrscheinlich an der Uhrzeit gestern.....hab bisl vergessen auf die Uhr zu gucken)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.02.2006
    Beiträge
    982
    Kurz mal so halb off-topic..
    Ist I2C eigentlich schon fester Bestandteil von Raspian?
    Wenn nein, wie implementiert man das am besten?

    Gruss, Andreas
    Nam et ipsa scientia potestas est..

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Hey,

    also ich habe da gestern etwas rumgedoktort und kann deshalb nicht sicher sagen wie und wodurch es jetzt funktioniert hat.
    Hast du ein I²C Device zur Hand welches du eben anschließen kannst und mal gucken kannst ob du mittels

    sudo i2cdetect -y -a 0

    was angezeigt bekommst?
    Das sollte dann etwa so aussehen:

    Code:
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    Nur die Adresse von deinem Gerät ist dann sicher anders.

    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.02.2006
    Beiträge
    982
    Ja, I2C Device ist vorhanden.
    Hab aber noch das erste release von Raspian drauf.
    Aber separat installieren musstest du nichts?
    Mh..muss ich mich heut Abend mal schlau machen.
    Nam et ipsa scientia potestas est..

Ähnliche Themen

  1. [ERLEDIGT] Raspberry Pi GPIO
    Von Kampi im Forum Raspberry Pi
    Antworten: 4
    Letzter Beitrag: 04.11.2012, 22:45
  2. [ERLEDIGT] Raspberry Pi Übertakten
    Von Kampi im Forum Raspberry Pi
    Antworten: 2
    Letzter Beitrag: 21.09.2012, 22:03
  3. [ERLEDIGT] Kommunikation AVR <-> Raspberry
    Von Goldenflash im Forum Raspberry Pi
    Antworten: 6
    Letzter Beitrag: 04.09.2012, 08:30
  4. Raspberry PI Lieferzeit
    Von Thalhammer im Forum Offtopic und Community Tratsch
    Antworten: 9
    Letzter Beitrag: 01.08.2012, 16:12
  5. Verkaufe Raspberry Pi zu verkaufen
    Von FD im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 8
    Letzter Beitrag: 03.07.2012, 07:57

Berechtigungen

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

12V Akku bauen