Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
莫名其妙;错误C141:语法错误";阿杜伊诺上的C_C_Arduino_Syntax Error - Fatal编程技术网

莫名其妙;错误C141:语法错误";阿杜伊诺上的C

莫名其妙;错误C141:语法错误";阿杜伊诺上的C,c,arduino,syntax-error,C,Arduino,Syntax Error,我最近刚开始编程一个Arduino,我遇到了一些奇怪的语法错误,在我的一些第一次练习中我根本不理解这些错误 这是第一个: #include <REG552.h> #define LEDS P4; #define SWITCH P5; sbit led1 = P4^0; sbit led2 = P4^1; sbit led3 = P4^2; sbit led4 = P4^3; sbit led5 = P4^4; sbit led6 = P4^5; sbit led7 = P4^6;

我最近刚开始编程一个Arduino,我遇到了一些奇怪的语法错误,在我的一些第一次练习中我根本不理解这些错误

这是第一个:

#include <REG552.h>

#define LEDS P4;
#define SWITCH P5;

sbit led1 = P4^0;
sbit led2 = P4^1;
sbit led3 = P4^2;
sbit led4 = P4^3;
sbit led5 = P4^4;
sbit led6 = P4^5;
sbit led7 = P4^6;
sbit led8 = P4^7;

void main() {
    while(1){
        if(SWITCH == 0x0F){
            led1 = 0;
            led2 = 0;
            led3 = 0;
            led4 = 0;
            msec(1000);
            led1 = 1;
            led2 = 1;
            led3 = 1;
            led4 = 1;
        }
        if (SWITCH == 0xF0){
            led5 = 0;
            led6 = 0;
            led7 = 0;
            led8 = 0;
            msec(3000);
            led5 = 1;
            led6 = 1;
            led7 = 1;
            led8 = 1;
        }else
            LEDS = SWITCH;
    }
}

void msec(unsigned int tt){
    unsigned char jj;
    while (tt-- > 0){
        for (jj=0;jj<125;jj++){;}
        }
    }
}

这里我在第15行得到两个语法错误,一个靠近
'='
,另一个靠近
'宏中不使用分号

#define LEDS P4;
#define SWITCH P5;

不要在宏中使用分号

#define LEDS P4;
#define SWITCH P5;

不要在宏中使用分号

#define LEDS P4;
#define SWITCH P5;

不要在宏中使用分号

#define LEDS P4;
#define SWITCH P5;

您必须记住,预处理器(处理宏)不是编译器,不需要分号来终止“语句”

宏被逐字替换,因此在后一个示例中

LEDS = 0x01;
在预处理器替换
LED
宏后,是否会

P4; = 0x01;

不是有效的C语句。

您必须记住,预处理器(处理宏)不是编译器,不需要分号来终止“语句”

宏被逐字替换,因此在后一个示例中

LEDS = 0x01;
在预处理器替换
LED
宏后,是否会

P4; = 0x01;

不是有效的C语句。

您必须记住,预处理器(处理宏)不是编译器,不需要分号来终止“语句”

宏被逐字替换,因此在后一个示例中

LEDS = 0x01;
在预处理器替换
LED
宏后,是否会

P4; = 0x01;

不是有效的C语句。

您必须记住,预处理器(处理宏)不是编译器,不需要分号来终止“语句”

宏被逐字替换,因此在后一个示例中

LEDS = 0x01;
在预处理器替换
LED
宏后,是否会

P4; = 0x01;

这不是有效的C语句。

谢谢大家!我以为会是这样愚蠢的事情:汉克斯兄弟!我以为会是这样愚蠢的事情:汉克斯兄弟!我以为会是这样愚蠢的事情:汉克斯兄弟!我以为会是这样愚蠢的事情:p