Seeduino XIAO - Hardware-I2C geht nicht mit Wire (Arduino)

OP (Firma: Q3) #7717398

Hat jemand bei dem Winzling Seeduino XIAO das I2C-Interface mit der der Standard-Arduino-Lib "Wire" in Gang bekommen (IDE 2.x unter MacOS)?

Eigentlich will ich einen Adafruit Feuchtesensor "Stemma Soil Sensor" mit der Adafruit-eigenen "Seesaw"-Lib benutzen. Eine Betrachtung des Sourcecodes hat ergeben, dass auch dort nur ein "ganz gewöhnlicher" Aufruf von Wire eingebunden ist.

Der klassische I2C-Scanner für Arduino kann zwar problemlos compiliert und hochgeladen werden, erkennt den Sensor aber auch nicht. Der gleiche Code funktioniert übrigens auf einem Uno und Nano aus dem Stand völlig problemlos.

Angehängte Dateien:

Frank E. schrieb:

Der klassische I2C-Scanner für Arduino kann zwar problemlos compiliert und hochgeladen werden, erkennt den Sensor aber auch nicht. Der gleiche Code funktioniert übrigens auf einem Uno und Nano aus dem Stand völlig problemlos.

Anderen I2C-Devices erkennt der I2C-Scanner, wenn er auf den Seeduino XIAO geladen wird? Und die Versorgungsspannung passt?

OP (Firma: Q3)

Rainer W. schrieb:

Frank E. schrieb:

Der klassische I2C-Scanner für Arduino kann zwar problemlos compiliert und hochgeladen werden, erkennt den Sensor aber auch nicht. Der gleiche Code funktioniert übrigens auf einem Uno und Nano aus dem Stand völlig problemlos.

Anderen I2C-Devices erkennt der I2C-Scanner, wenn er auf den Seeduino XIAO geladen wird? Und die Versorgungsspannung passt?

Nein, auch nicht. Es sieht alles danach aus, dass die Hardware nicht korrekt angesprochen wird.

OP (Firma: Q3)

Veit D. schrieb:

Hallo,

denkst du nicht auch das paar Angaben fehlen?

Das wären?

Dass die Kabel korrekt verbunden sind, hielt ich nicht für erwähnenswert, weil selbstverständlich. Auch dass die Betriebsspannung von XIAO und Sensor (3,3V) zusammen passen, betrachte ich als gegeben. Dass der gleiche Code (mit dem selben Sensor) am z.B. Nano funzt (hier allerdings die Pins A4/A5), schrieb ich auch ...

Frank E. schrieb:

Dass die Kabel korrekt verbunden sind, hielt ich nicht für erwähnenswert, weil selbstverständlich.

Scheitert es am Ack vom Slave oder erscheinen Taktsignal und Adressbyte gar nicht erst auf dem I2C-Bus (SCL bzw. SDA), d.h. liegt es am Master oder am Slave? Wenn der Master auf den erwarteten Pins nichts raus schickt, helfen die Kabel für den I2C gar nichts.

Es muss irgendein Problem mit den board variant bibliotheken in verschiedenen Versionen in verschiedenen Arduino-Implementierungen sein. Oder mit der toolchain. Ich habe unter aktuellem sloeber 4.4.3 mit seeduino SAMD 1.8.5 board file das gleiche Problem. Die beiden Ports an für SCL und SDA an PIN4 und PIN5 zucken einfach nicht und liegen konstant auf 3v3. Fehlende Pullups können es also nicht sein. Wenn ich den gleichen Quellcode in der Arduino classic 1.8.19 compliliere und hochlade, funktioniert es wunderbar. Ich verstehe es noch nicht, weil eigentlich beide Umgebungen sich die gleichen 3rd party boards und libraries reinziehen. Wenn ich Zeit habe, gucke ich mal mit nem Debugger rein. Ich bin auch sicher, dass ich auch unter sloeber schon mal in einem anderen Projekt ein I2C-Display ohne Probleme am XIAO betrieben habe. Insofern nervt es mich um so mehr. Wollte nur kurz was ausprobieren und plötzlich funktionieren triviale Sachen nicht mehr...

OP (Firma: Q3)

Stephan S. schrieb:

Monk schrieb:

Hast du die Signalpegel kontrolliert?

Der häufigste Fehler bei I2C sind zu hohe Werte für die Pullups. 10k führen zu schlechten Signalpegeln. Bei 3V3 ist 1k angemessen

Es geht nicht darum, dass die Kommunikation nicht zustande kommt bzw. gestört ist, es geht darum, dass an den entsprechenden Pins schlicht NICHTS passiert.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 2 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.