Hallo allerseits,
hab ein kleines Problem mit einer Fehlermeldung (warning) mit dem C18
Compiler.
(PIC18F2550)
1 | #define bit_set(var,bitnr) ((var) |= 1 << (bitnr)) // Einzelnes Bit setzen
|
2 |
|
3 | main
|
4 | {
|
5 | unsigned char Messprotokoll[10];
|
6 | ...
|
7 | bit_set(Messprotokoll[4],0);
|
8 | oder
|
9 | bit_set(ADCON0,0);
|
10 | ...
|
11 | }
|
Fehlermeldung:
D:\PIC_Soft\main.c:347:Warning [2060] shift expression has no effect
Und zwar taucht die Meldung auf, wenn ich das Bit 0 einer Variablen
abfragen will. C18_User_Guide meint dazu:
2060: shift expression has no effect
Shifting a value by zero bits has no effect on the value of the
expression.
Wieso sollte das Setzen/Rücksetzen des Bit 0 nichts am Wert ändern?
Gezählt wird doch von Bit0...Bit7. Oder wo hab ich meinen Denkfehler?
Wenn ich mir die Variablen im Debugger anschau, dann werden die
richtigen Bits schon gesetzt, aber das warning wird ja nicht zum Spaß da
sein.
Wäre klasse, wenn mir jemand nen Tipp geben könnte.