错误:#29:需要 C 语言的表达式

YMJ*_*YMJ 6 c embedded arm keil arm7

我的代码包含

#define READ_TAMPER_PIN()   {((FIO2PIN & PIN_TAMPER) >> 12) ;}
Run Code Online (Sandbox Code Playgroud)

哪里PIN_TAMPER又是一个宏

 #define PIN_TAMPER     0x00001000;
Run Code Online (Sandbox Code Playgroud)

在头文件之一中,并在 main() 中调用它,如下所示

x = READ_TAMPER_PIN();  
Run Code Online (Sandbox Code Playgroud)

它给出一个错误“错误:#29:需要一个表达式”

我在这里犯的可能是什么错误?

Car*_*rum 3

宏中的大括号和分号是错误的。使用:

#define READ_TAMPER_PIN()   ((FIO2PIN & PIN_TAMPER) >> 12)
Run Code Online (Sandbox Code Playgroud)