www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Struktur verkürzen


Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ich habe eine Struktur die recht gross ist, dabei handelt es sich um 
mehrere strukturen und unions die zu einer Struktur zusammengefasst 
sind.
Das ganze sieht dann ungefähr so aus: 
Param.sParaStore.sCanPara.uGuardTime.ui

Die Strukturen und unions kann ich nicht verändern, suche jetzt aber 
nach einer Möglichkeit das irgendwie zu verkleinern, da der Quelltext 
sonst sehr unüberscihtlich wird (vor allem wenn 2 oder 3 varialben aus 
dieser Struktur in einer Zeile stehen) - defines gehen leider nicht weil 
es ja variablen sind - was kann man da machen? bzw. was würdet Ihr 
machen? ide struktur so wie sie ist immer ausschreiben?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
inline Funktionen für den Zugriff schreiben.

Autor: tuppes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist der Unterschied zwischen Param und sParaStore? Klingt, als 
könnte man das vereinigen.

Und wozu ist uGuardTime eine Union? Welchen anderen Zugriff außer ui 
brauchst du darauf?

Gruß,
Tuppes

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein das ist ja das Problem, ich darf an der struktur nichts ändern - 
Param sind alle Parameter, ParaStore sind die, welche gespeichert werden 
(statt einzelne Variablen ins flash zu sichern wird eben diese eine 
struktur gesichert) CanPara erklärt sich von selbst und das union 
brauchen wir weil in machen modulen zwischem msb und lsb unterschieden 
wird (ich persönlich hätte ein einfaches int daraus gemacht und der Wert 
eben bei bedarf geshiftet, aber wie gesagt, ich kanns nicht ändern! :( 
)

werd mit die inline Funktionen mal anschauen, aber in meinem schlauen 
Buch "Programmieren in c" von kernighan / ritchie steht leider nix drin 
(wobei das buch sonst echt klasse ist!)

Gruß Chris

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfach per #define einen langen Text durch einen kurzen ersetzen.

Peter

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ahh, dann geht es also doch per define! - komischer Weise hat's vorhin 
nicht geklappt, jetzt geht es doch rolleyes
Danke!

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.