www.mikrocontroller.net

Forum: Compiler & IDEs struct exportieren


Autor: Klaus W. (Firma: privat) (texmex)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich möchte für das Debugging den Inhalt einer Struktur von einem 
Programm in einem Controller auf den Host übertragen.
Bislang hatte ich die interessanten Daten einfach über eine software 
USART mit etwas Text drumrum gesendet.
Dafür ist aber jetzt kein Platz mehr im Controller und ich würde lieber 
die komplette Struktur bitweise an den Host senden und dort auswerten.

Gehe ich recht in der Annahme, dass man nicht sicherstellen kann, dass 
der Compiler auf dem Host die struktur genauso zusammenbaut wie der für 
den Controller? Von so Byteorder Sachen ganz abgesehen...
Also vermutlich kann ich nicht einfach in einer Schleife Byteweise die 
Daten senden?

Aber wie macht man dann sowas?

Ich will ja nicht jedes Feld in der Struktur einzeln senden....

An eine union hatte ich schon mal gedacht, aber das ändert ja am Prinzip 
auch nichts.

Viele Grüße,
Klaus

Autor: Jörg G. (joergderxte)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau nach, wie der Compiler für deinen µC das struct aufbaut, schick es 
byteweise und lass den PC es wieder zurecht fummeln - der hat die 
Leistung und die Zeit dazu.

hth, Jörg

Autor: Klaus W. (Firma: privat) (texmex)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörg G. schrieb:
> Schau nach, wie der Compiler für deinen µC das struct aufbaut, schick es
> byteweise und lass den PC es wieder zurecht fummeln - der hat die
> Leistung und die Zeit dazu.

Ja, so hätte ich das jetzt gemacht. Ich hatte gehofft es gäbe einen 
etwas eleganteren Weg.
Aber ok :-).
Danke!

viele Grüße,
Klaus

Autor: der mechatroniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eleganterer Weg: beim Aufbau der Struktur drauf achten, dass alles schön 
alignt ist, dann sollten alle Compiler dasselbe draus machen, 
vorausgesetzt, die Endianess stimmt (ggf. auf dem PC drehen).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.