ESP32, zwei I2C Master implementieren

Gast #5664510
Hallo Leute,

ich hänge derzeit etwas daran auf einem ESP32 einen zweiten I2C Master 
zu implementieren. Hintergund ist, dass ich verschiedenen Sensoren 
zeitgetriggert auslesen möchte. Da jedoch die Auslesevorgänge der 
einzelnen Sensoren um zeilweise einen Faktor 15...20 schwanken kommt es 
vor, dass während des Lesevorgangs bei einem Sensor ein zweiter mehrfach 
gelesen werden muss. Daher die Idee zweier I2C Master.
Bietet mir die Wire Bibliothek eine Möglichkeit dazu? Habt ihr eine Idee 
wie ich das Ganze implementieren könnte?

Viele Grüße,
Sim
Gast
Den Link habe ich auch schon gefunden, allerdings bekomme ich jedes Mal 
die Fehlermeldung, dass Wire1 mehrfach definiert wurde.

libraries\Wire\Wire.cpp.o:(.bss.Wire1+0x0): multiple definition of 
`Wire1'

Diese Nachricht erscheint schon beim nackten Beispiel ohne weiteren Code 
drum herum. Habe folgendes Beispiel genutzt:

#include <Wire.h>
#define SDA2 2
#define SCL2 4

TwoWire Wire1=TwoWire(1);

void setup(){
  Serial.begin(115200);
  Wire.begin();
  Wire1.begin(SCL2,SDA2,100000);
}
Gast
Arduino will dir das Leben leicht machen und hat schon zwei Instanzen 
auf Vorrat angelegt.

Wire.cpp
1
TwoWire Wire = TwoWire(0);
2
TwoWire Wire1 = TwoWire(1);

Wire.h
1
extern TwoWire Wire;
2
extern TwoWire Wire1;

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.