struct Message msg[MAXMSG] = {
{ { 0xFF, 0, 0xFF, 0, 0, 0, 0}, 3}, // idle msg
{ { locoAdr, 0x3F, 0, 0, 0, 0, 0}, 4} // locoMsg with 128 speed
steps
}; // loco msg must be filled later with speed and XOR
data byte
3}, // idle msg
4} // locoMsg with
Was bewirkt das Komma nach der geschweiften Klammer?
4}, // locoMsg with
mit Komma entsteht kein Compiler Fehler!
also die formatierung ist ja grauenhaft man kann hier auch automatisch formatieren!
Poste mal die Definition von struct MESSAGE. Welchen Wert hat MAXMSG? Code und Text kann man durch Formatierung voneinaner trennen. Dann kann man Dein Problem besser verstehen.
Das abschließende Komma macht nix, ist aber in einigen Fällen ganz nützlich:
1 | struct Message msg[MAXMSG] = { |
2 | { { 0xFF, 0, 0xFF, 0, 0, 0, 0}, 3}, |
3 | { { locoAdr, 0x3F, 0, 0, 0, 0, 0}, 4}, |
4 | #if ADDITONAL_MESSAGE_PRESENT
|
5 | { { 0xC0, 0xDE, 0, 0, 0, 0, 0}, 5}, |
6 | #endif
|
7 | // { { 0xAF, 0xFE, 0, 0, 0, 0, 0}, 6},
|
8 | |
9 | |
10 | };
|
Grade bei µC Projekten kommt hier oft der Präprozessor zum Einsatz, um leicht verschiedene Varianten desselben Projektes zu erzeugen.
Al. K. schrieb: > Was bewirkt das Komma nach der geschweiften Klammer? Das trennt die einzelnen Array-Elemente voneinander. > 4}, // locoMsg with > mit Komma entsteht kein Compiler Fehler! Das Komma nach dem letzten Array-Element ist optional. Logisch gesehen braucht man es nicht. Allerdings ist das Einfügen und Löschen von Zeilen sowie das Schreiben von Programmen, die die Initialisierungslisten automatisch generieren, dadurch etwas einfacher.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.