Скобки в # define-macros не работают

Программирование msp430 в CCSTUDIO. Во второй и третьей строке выражения компилируются нормально без скобок, но с круглыми скобками, как показано во второй строке, они не компилируются в строке, где используется макрос. Почему это не удается?

#define LED2 BIT0;                          // P1.0 : Green LED
#define LED2on (P1OUT |= LED2)              // P1.0 high
#define LED2off P1OUT &= ~LED2              // P1.0 low

...
LED2on;   //line 32

>> Compilation failure
subdir_rules.mk:9: recipe for target 'main.obj' failed
"../main.c", line 32: error #18: expected a ")""../main.c", line 32: error #29: expected an expression

-2

Решение

Ваша проблема здесь:

#define LED2 BIT0;

Так должно быть:

#define LED2 BIT0

В противном случае ваша строка 32 расширяется до этого:

(P1OUT |= BIT0;);

Что не так, конечно.

1

Другие решения

Других решений пока нет …