Tom schrieb:
> Hat wer noch eine Idee?
Kriegst du auch den Fehler, wenn du selbst erst mal Präprozessor spielst
und die Makrosubstitution machst?
1 | #define Makro(port,pin) ((port*PIN_PER_PORT)+((uint8_t)pin))
|
2 |
|
3 | typedef enum
|
4 | {
|
5 | Name1 = ((PORTB*PIN_PER_PORT)+((uint8_t)1u)),
|
6 | Name2 = Makro(PORT_B, 2u),
|
7 | Name3 = Makro(PORT_B, 4u),
|
8 | .....
|
Wenn ja: dann teil das in mehrere Zeilen auf
1 | Name1 = (
|
2 | (
|
3 | PORTB
|
4 | *
|
5 | PIN_PER_PORT
|
6 | )
|
7 | +
|
8 | (
|
9 | (uint8_t)
|
10 | 1u
|
11 | )
|
12 | ),
|
13 | ...
|
und achte auf die Zeilennummer des Fehlers. Bei welchem Bestandteil
kracht es? Wenns nicht mehr kracht, dann sukzessive (und in Schritten)
die einzelnen Zeilen wieder in die ursprüngliche Form bringen, bis es
kracht.
-> Mitteilung an den Hersteller deines Checkers, dass er einen Fehler im
Code hat. Über dein Minimalbeispiel, mit dem er das nachvollziehen kann
wird er sich freuen.