我收到的错误就像是"预期的声明"
我的代码如下
#define IN_Tamper 0X00001000 /*P2.12 = EINT2*/
#define DIR_IN_Tamper { FIO2DIR &= ~0X00001000 ; }
/* main */
DIR_IN_Tamper();
if(((IN_Tamper >> 12) & 0x01) == 1)
BUZZER_ON();
else
BUZZER_OFF();
Run Code Online (Sandbox Code Playgroud)
我收到错误说
预期DIR_IN_Tamper()的声明;
期待对其他部分的陈述.....
C预处理器(至少在你使用它的方式)只是一个简单的搜索和替换,所以你有效地运行
/* main */
{ FIO2DIR &= ~0X00001000 ; } ();
Run Code Online (Sandbox Code Playgroud)
这没有任何意义.删除行中的括号
DIR_IN_Tamper();
Run Code Online (Sandbox Code Playgroud)
对于BUZZER_ON和BUZZER_OFF,您也想删除括号.如果宏没有用花括号括起来,你也想添加它们,比如
if(((IN_Tamper >> 12) & 0x01) == 1) {
BUZZER_ON
} else {
BUZZER_OFF
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2329 次 |
| 最近记录: |