mein code enthält
#define READ_TAMPER_PIN() {((FIO2PIN & PIN_TAMPER) >> 12) ;}
wo PIN_TAMPER
ist wieder eine makro-
#define PIN_TAMPER 0x00001000;
in einer der header-Datei, und es wird als in main() wie
x = READ_TAMPER_PIN();
gibt es eine Fehlermeldung "Fehler: #29: erwartet Ausdruck"
was könnte möglich sein, Fehler, die ich hier machen??
- Hinweis: "Fehler: erwartet Ausdruck" in embedded C
Den Klammern und Semikolon in deinem makro falsch sind. Verwendung:
{}
. 2. Vermutlich haben Sie nicht versucht, sich zu weisen das ErgebnisDIR_TAMPER_IN_PORT()
auf eine variable. Wenn Sie dies tun, erhalten Sie den gleichen Fehler.unsigned char x
ist in Ordnung.Laut c99-standard (§6.10.3 #10)
Einem preprocessing-Richtlinie der form
# define identifier lparen identifier-listopt ) replacement-list new-line
# define identifier lparen ... ) replacement-list new-line
# define identifier lparen identifier-Liste , ... ) replacement-list new-line
{}
nicht zu, dass die Aufgabe er machen will, Platz zu nehmen.