Hi zusammen,
habe einen Fehler im c-Code, den ich nicht verstehe. Es kommt immer die
Meldung "invalid lvalue" vom Compiler.
Hier mal der Code:
1 | //Präprozessor
|
2 |
|
3 | #define Radgeschwindigkeit_NormFactor (long) 1311
|
4 | #define Bremse_BZ_MAX 15
|
5 | #define Zaehler_Stillstand (long) 0
|
6 |
|
7 | //Auslesen aus Ringpuffer der CAN-Mailbox (Makro)
|
8 |
|
9 | #define Radgeschwindigkeit_Receive_Mak(x)\
|
10 | {\
|
11 | Radgeschwindigkeit = (unsigned long)(x.b.data[1]);\
|
12 | Radgeschwindigkeit = ((unsigned long)Radgeschwindigkeit) | (((unsigned long)x.b.data[0]) << 8);\
|
13 | Radgeschwindigkeit = (unsigned long) Radgeschwindigkeit & 65535;\
|
14 | Radgeschwindigkeit = (Radgeschwindigkeit) * Radgeschwindigkeit_NormFactor;\
|
15 | }\
|
16 |
|
17 | #define Event_Event_Bremse \
|
18 | Bremse_BZ++;\
|
19 | if (Bremse_BZ > Bremse_BZ_MAX)\
|
20 | Bremse_BZ = 0;\
|
21 | if (Radgeschwindigkeit == 0)\
|
22 | Zaehler_Stillstand++;\
|
23 | else\
|
24 | Zaehler_Stillstand = 0;\
|
25 | if (Zaehler_Stillstand == 10)\
|
26 | {\
|
27 | Stillstand = 1;\
|
28 | Zaehler_Stillstand = 0;\
|
29 | }\
|
30 | else\
|
31 | Stillstand = 0;\
|
32 |
|
33 |
|
34 | //Deklaration in einer eingebundenen Header-Datei
|
35 |
|
36 | EXTERN long Radgeschwindigkeit, Bremse_BZ;
|
37 | EXTERN char Stillstand;
|
Der Fehler "invalid value" geht von folgender Zeile aus:
...
if (Radgeschwindigkeit == 0)\
...
Hoffe ihr könnt mir helfen!
Gruß
Jörg