Forum: Mikrocontroller und Digitale Elektronik Warnung ausblenden - Code Composer Studio


von Baste R. (basterix)


Lesenswert?

Hallo zusammen,

ich bekomme beim Compilieren mehrfach die gleiche Warnmeldung.
(warning: nonstandard type for a bit field)

Die Warnung selbst ist nicht weiter kritisch. Doch vor lauter roter 
Warnungen ist es schwer andere vermeintliche Probleme herauszufiltern.

Weiß jemand wie sich bestimmte Typen von Warnungen ausblenden bzw. nicht 
berücksichtigen lassen?


Gruß

Bastian

von Robert (Gast)


Lesenswert?

Ich habe dieses Problem auch :-(
hat jemand eine Idee was man dagegen tun kann?,
hier meine Deklaration
1
typedef struct 
2
{
3
  unsigned char IHold: 4;
4
  unsigned char IRun: 4;
5
  unsigned char VMin: 4;
6
  unsigned char VMax: 4;
7
  unsigned char Acc: 4;
8
  unsigned char Shaft: 1;
9
  unsigned char StepMode: 2;
10
  unsigned char AccShape: 1;
11
  unsigned char TInfo: 2;
12
  unsigned char TW: 1;
13
  unsigned char TSD: 1;
14
  unsigned char UV2: 1;
15
  unsigned char ElDef: 1;
16
  unsigned char SteppLoss: 1;
17
  unsigned char VddReset: 1;
18
  unsigned char CPFail: 1;
19
  unsigned char NA: 1;
20
  unsigned char OVC2: 1;
21
  unsigned char OVC1: 1;
22
  unsigned char ESW: 1;
23
  unsigned char Motion: 3;
24
}MotorStatus;

Gruß Robert

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Was soll hier das "unsigned char" bewirken?

Das Bitfeld ist in Summe sowieso erheblich größer als ein "unsigned 
char", also kann da auch "unsigned int" hingeschrieben werden.

von Robert (Gast)


Lesenswert?

und warum?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sieh Dir an, wie Bitfelder im C-Standard definiert sind.

von Vlad T. (vlad_tepesch)


Lesenswert?

ich würd den Typen generell weglassen und nur unsigned oder signed 
davorschreiben.
da eigendlich sowiso jeder typ unsinnig ist, da die größe ja doch eine 
ganz andere ist.

von Vlad T. (vlad_tepesch)


Lesenswert?

Rufus t. Firefly schrieb:
> Sieh Dir an, wie Bitfelder im C-Standard definiert sind.

Auf jeden Fall nicht asureichend.
da wichtige details implementation-defined sind, sind bitfelder nicht 
portabel, also leider auch zum Datenaustausch zwischen verschiedenen 
compiler nicht geeignet.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und? Das ändert nichts an der Sachlage, daß die Angabe eines im Standard 
nicht vorgesehenen Typspezifizierers den Compiler zur Ausgabe von 
Warnungen veranlasst.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.