Arduino I2C Struct senden

Gast #4319975
Lesenswert?
• ▲
▼
Hallo,

ich würde gerne mit einem arduino per I2C ein struct senden. Die 
KOmmunikation steht und das senden eines einzelnen Bytes funktioniert 
auch einwandfrei.
Wie aber kann ich ein ganzes Sruct senden? Es enthält 3 Variablen vom 
Typ uint32_t.
Die Daten werden vom Slave gesendet. Das heißt ich fordere diese vom 
master aus mit der Funktion Wire.requestFrom(address, quantity) an. 
Leider bekomme ich sobald ich für quantity den Wert 2 für einen 16-Bit 
Integer angebe bekomme ich allerdings falsche werte. Für das genannte 
Besipiel mit dem struct ebenfalls.

Hoffe jemand kann mir weiterhelfen, oder hat vllt sogar einen 
Beispielcode
#4319982
Lesenswert?
• ▲
▼
versuchs mal mit byte senden von Adresse des struct bis struct ende 
sizeof und dort in einem Puffer der groß genug für das struct ist und 
diese Startadresse ist dann dein empfangenes struct, ich hoffe das im 
struct alle bytes hintereinander liegen, habe es aber nie geprüft, 
könnte man ja mal machen.
Gast #4319997
Lesenswert?
• ▲
▼
Jannus schrieb:
> ich würde gerne mit einem arduino per I2C ein struct senden.

I2C kennt nur Bytes.

Du wirst die Bytes, die die Daten deines structs enthalten, fein 
säuberlich nacheinander übertragen müssen und es ist dann das Problem 
des Empfängers, die eintreffenden Bytes wieder abzulegen und als struct 
zu interpretieren.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.