Eclipse-Problem mit der Darstellung von Structurmembern

Gast #828409
Lesenswert?

Hallo

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

wenn ich jetzt die Stuckturelemente verwende, werden die Member nicht 
farblich gekennzeichent
1
{
2
vBeep (0);
3
Bits.bLoad = TRUE;
4
Bits.bSleep = FALSE;
5
}
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
Angehängte Dateien:
#828609
Lesenswert?

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

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

Und gewöhn dir typedefs wie "UINT8" ab, dafür gibts standardisierte 
Typen in der stdint.h
Gast #828675
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren