-         

Ergebnis 1 bis 8 von 8

Thema: I2C Bus Adresse ermitteln

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.08.2009
    Ort
    Süden
    Alter
    62
    Beiträge
    332

    I2C Bus Adresse ermitteln

    Anzeige

    Hallo
    hat jemand eine Idee wie ich mit einem Programm in C die Adresse eine IC (i2c( ermitteln kann?
    Kenne so was Arduino. Ist aber zu einfach. Die ermittelte Adresse soll auf einem Display gleich ausgegeben werden.
    achim

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    41
    Beiträge
    398
    man könnte einen I2C Broadcast machen. Siehe [1]

    [1] http://forum.arduino.cc/index.php/topic,61520.0.html

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.08.2009
    Ort
    Süden
    Alter
    62
    Beiträge
    332
    Hallo schorsch
    Danke für deine Antwort. Ist in etwa was ich suche. Arbeiten immer nach dem gleichen Typ. Such noch was grösseres, was auch über den Bus das Ergebnis ausgibt. Scheint wenig dazu zu geben.
    achim

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    ... Ist in etwa was ich Suche ... Such noch ... was auch über den Bus das Ergebnis ausgibt ...
    Meine Rundumschauroutine für I²C arbeitet natürlich ähnlich. Eine Schwierigkeit sehe ich bei mir und wohl auch bei anderen Routinen: die I²C-Spezifikation erlaubt ein endloses Stretching; das kann dazu führen, dass ein angeschlossenes I²C-Teil >>ohne Energieversorgung<< zum Koma führt. Das muss abgefangen werden.

    Das Ergebnis über den Bus ausgeben? Wie soll denn das gehen bitte? Wenn ich noch von keinem Busteilnehmer die Adresse kenne (dürfte bei allen Nicht-Hellsehern in der Programmierphase der Fall sein) - an wen soll ich dann das Ergebnis senden? An das erste erkannte Teil - sagen wir mal ein EEPROM - oder an das letzte, vielleicht einen Sensor der NUR Daten sendet? Eierlegende Wollmilchsäue haben den Nachteil, dass sie vorerst nur in Paralleluniversen existieren.
    Ciao sagt der JoeamBerg

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.400
    Zitat Zitat von schorsch_76 Beitrag anzeigen
    man könnte einen I2C Broadcast machen.
    Es ist ein bißchen blöd, etwas "Broadcast" (d.h. eine Nachricht an alle) zu nennen, was in Wirklichkeit ein "Scan" (jeweils eine Nachricht an alle verfügbaren Adressen) ist. Es deutet darauf hin, daß einige der Autoren in diesem Link I2C nicht wirklich verstanden haben.

    @oberallgeier
    die I²C-Spezifikation erlaubt ein endloses Stretching; das kann dazu führen, dass ein angeschlossenes I²C-Teil >>ohne Energieversorgung<< zum Koma führt. Das muss abgefangen werden.
    Es führt außerdem dazu, daß der ganze Bus nicht mehr funktioniert. Ein defektes Device kann im Gegensatz zu einem nicht vorhandenen den Bus komplett lahmlegen (was eigentlich für alle Busse gilt). Da ist es dann vom Gerät abhängig, ob es überhaupt noch etwas sinnvolles tun kann, wenn der Bus ausgefallen ist.

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

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.08.2009
    Ort
    Süden
    Alter
    62
    Beiträge
    332
    Hallo oberallgeier
    Ich nutze als Prz einen AT1284p. Dort habe ich einen PCF8574 mit einem Display 1604 angeschlossen. Damit habe ich einen Busteilnehmer immer zur Kontrolle und der Bus muss laufen. Schliesse ich einen weiteren an (ohne angabe der Adresse) muss diese zweite Adresse ausgegeben werden. Teilweise habe ich bis zu 5 Module am Bus angeschlossen. Dazu noch einen Verlängerung und/oder Funkbrücke und/oder Fernbedienung. Da lohnt sich der Aufwand. Als Bedienung nutze ich wiederrum Porteingänge ohne Bus zur Steuerung der Anzeige/Menue. Die Fehler muss ich in Kauf nehmen.
    achim

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.11.2013
    Ort
    SA
    Alter
    64
    Beiträge
    211
    Hallo Achim,

    weis du suchst eine Lösung in C, somit kann ich nicht direkt helfen.
    MCU Bussystem programmiere ich mit Bascom. Mit Erfolg und genau so wie du es benötigst.
    Bis zu 255 Busteilnehmer am I2C können gelesen und Adressen in Dez/Hex und Binär auf Display /Terminal angezeigt werden.
    Auch die abfragen der 1wire Adressen ist in der BAS beschrieben.


    Da in diesem Forum sehr viele Experten in der Programmierung C/GCC aktiv sind, lege ich mal die bas und hex im Anhang
    Durch Anregung(Codeschnipsel übernehmen), wenn nicht selber, können diese dich helfen, dies in C zu programmieren.
    Hab auch mal gehört das mit myAVR_ProgTool (Freeware)die Hex/Bin Dateien für viele Programmer zum „brennen“ funktionieren.

    Bitte um Entschuldigung, wenn ich als BASCOM-FAN, in diesem Thread, falsch bin.

    Mit freundlichen Grüßen
    Fred
    Angehängte Dateien Angehängte Dateien

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.08.2009
    Ort
    Süden
    Alter
    62
    Beiträge
    332
    Hallo fred
    du brauchst dich nicht zu entschuldigen. Jeder Hinweis oder Stück Code zeigt mir wie man es machen kann. Werde mir es auf jeden Fall ansehen. Komme aus BBG !!!!!!
    achim

Ähnliche Themen

  1. RN-Speak Modul hat I2C-Bus-Adresse vergessen
    Von Claus73 im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 5
    Letzter Beitrag: 21.01.2011, 09:25
  2. Label-Adresse im EEProm Datenbereich ermitteln
    Von Mitch64 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 25.09.2009, 20:47
  3. Adresse bei I2C Bus
    Von Seppi1203 im Forum C - Programmierung (GCC u.a.)
    Antworten: 11
    Letzter Beitrag: 12.03.2007, 20:39
  4. Zwei I2C Geräte mit gleicher Adresse am selben Bus
    Von Schockwellenreiter im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 25.08.2006, 08:23
  5. I2C Bus Mehrere Teilnehmer unter der gleichen Adresse
    Von infosystems im Forum Elektronik
    Antworten: 10
    Letzter Beitrag: 10.03.2006, 19:37

Berechtigungen

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