首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预期IAR IDE中的")“

预期IAR IDE中的")“
EN

Stack Overflow用户
提问于 2016-05-24 06:29:04
回答 1查看 2.9K关注 0票数 1

我得到了错误Error[Pe018]: expected a ")"CPU_state == cpuStateOff

当我将cpuStateOff改为0时,就可以了。我也不知道原因。

在我的PERIPHERAL_APP.h

代码语言:javascript
复制
#ifndef __PERIPHERAL_APP_H
#define __PERIPHERAL_APP_H
// CPU state
#define CPU_STATE_OFF     0;
#define CPU_STATE_ON      1;
#endif

在我的main.c

代码语言:javascript
复制
#include "PERIPHERAL_APP.h"
void main( void )
{
    initMSP430();  
    _EINT();                              
    for (;;)
    {
        if (cpuState == CPU_STATE_OFF ) // The error is hear 
        {
            __bis_SR_register(LPM3_bits);
        }
        else
        {
            __bis_SR_register(LPM0_bits); 
        } 
    } 
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-24 06:33:07

预处理宏不是C语句,因此不需要像;这样的语句结束符。

发生的情况是,当预处理程序替换宏cpuStateOff时,它使用宏的整个主体,即0;,这将产生类似于

代码语言:javascript
复制
if (CPU_state == 0; ) // Code after macro replacement

大多数编译器和环境在预处理后都有可停止的选项,如果您使用它,您可以准确地看到编译器“正确”将看到的代码。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37405932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档