#define-macros 中的括号失败
Parentheses in #define-macros fail
在 CCSTUDIO 中对 msp430 进行编程。在第二行和第三行中,表达式在没有括号的情况下编译得很好,但是在第二行中显示的括号中,它们无法在使用宏的行进行编译。为什么会失败?
#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
您的问题在这里:
#define LED2 BIT0;
应该是:
#define LED2 BIT0
否则您的第 32 行将扩展为:
(P1OUT |= BIT0;);
当然是错的。
在 CCSTUDIO 中对 msp430 进行编程。在第二行和第三行中,表达式在没有括号的情况下编译得很好,但是在第二行中显示的括号中,它们无法在使用宏的行进行编译。为什么会失败?
#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
您的问题在这里:
#define LED2 BIT0;
应该是:
#define LED2 BIT0
否则您的第 32 行将扩展为:
(P1OUT |= BIT0;);
当然是错的。