www.mikrocontroller.net

Forum: Compiler & IDEs Eclipse-Problem mit der Darstellung von Structurmembern


Autor: Steffen Graap (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich arbeite mit Eclipse und habe hier ein Problem mit der Darstellung 
der Structurmember. Ich habe folgende Structur angelegt:
volatile struct Bits {
  UINT8 bAlarm:1;                //Bit für gestartete Alarmausgabe
  UINT8 bSwitch:1;              //Bit gesetzt, wenn Jumper gesetzt
  UINT8 bSleep:1;                //Bit gesetzt , wenn max PowerDown
  UINT8 bLoad:1;                //Bit gesetzt wenn Akku geladen wird (Spannung größer 27V)
} Bits;

wenn ich jetzt die Stuckturelemente verwende, werden die Member nicht 
farblich gekennzeichent
{
vBeep (0);
Bits.bLoad = TRUE;
Bits.bSleep = FALSE;
}
auch sind die Members nicht bekannt, statt dessen werden Members 
angezeigt, die gar nicht mehr Bestandteil der Structur sind. (siehe 
Dateianhang)

Woran liegt das??

Gruß Steffen

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht kommt eclipse durcheinander, weil sowohl der Typ der Struct 
als auch die Variable von diesem Typ "Bits" heißen?

versuch mal
volatile struct BitsT {
  unsigned bAlarm:1;                //Bit für gestartete Alarmausgabe
  unsigned bSwitch:1;              //Bit gesetzt, wenn Jumper gesetzt
  unsigned bSleep:1;                //Bit gesetzt , wenn max PowerDown
  unsigned bLoad:1;                //Bit gesetzt wenn Akku geladen wird (Spannung größer 27V)
} Bits;

Und gewöhn dir typedefs wie "UINT8" ab, dafür gibts standardisierte 
Typen in der stdint.h

Autor: Steffen Graap (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ernst

Ursprünglich hatte die Structur keinen Namen, war also anonym. Aber auch 
hier, war das Problem. Ich habe eben mal ein Refactoring des 
Structurbezeichenrs gemacht, und danach waren die Member bekannt, und 
auch farblich gekennzeichnet. Allerdings waren immer noch die "alten" 
Member bekannt.

Die Software funktioniert auch so wie sie soll, sieht halt optisch nicht 
so schön aus, und man kann über den "." nicht auf die Structurmember 
zugreifen.

Die standarisierten Typen aus der stdint.h sind mir bekannt, da ich aber 
aus meiner alten Entwicklungsumgebung die Variante mit UINT8 kenne und 
diese auch nach einer firmeninternen Softwarerichtline vorgegeben sind, 
habe ich die typdefs aus stdint.h nochmals mit meiner Variante neu 
definiert.

Gru? Steffen

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.