4

每次我运行下面的代码而不保存时,它都会编译。当我保存它时,我收到错误:

C:\Program Files (x86)\Arduino\arduino-1.0.4\hardware\arduino\cores\arduino/main.cpp:11:未定义对“设置”的引用

C:\Program Files (x86)\Arduino\arduino-1.0.4\hardware\arduino\cores\arduino/main.cpp:14:未定义对“循环”的引用

我已经尝试在 中删除我的 Arduino 文件夹C:\Program Files (x86),下载并更新驱动程序。

其他程序似乎运行良好。我该如何解决它,有什么问题?

#define m_pin1 13
#define m_pin2 12
#define sensorPin 0

int val1;
int val2;
int avg;
int threshold;
int flipTimer = 100;

void setup(){
    pinMode(m_pin1, OUTPUT);
    pinMode(m_pin2, OUTPUT);
    pinMode(sensorPin, INPUT);
    Serial.begin(9600);
    Serial.println("Sensor 1 Average:");
}

void loop(){
    moisture_val();
}

int moisture_val(){
    setSensorPolarity(true);
    delay(flipTimer);
    int val1 = analogRead(sensorPin);
    delay(flipTimer);
    setSensorPolarity(false);
    delay(flipTimer);
    int avg = reportLevels(val1,val2);
    int val2 = 1023 - analogRead(sensorPin);
}

void setSensorPolarity(boolean flip){
    if(flip){
        digitalWrite(m_pin1, HIGH);
        digitalWrite(m_pin2, LOW);
    }
    else{
        digitalWrite(m_pin1, LOW);
        digitalWrite(m_pin2, HIGH);
    }
}

int reportLevels(int val1,int val2){
    int avg = (val1 + val2) / 2;
    return(avg);
}
4

6 回答 6

3

IDE 期望在同名文件夹中找到该文件。查看应有的工作的文件和文件夹的结构。一旦名称匹配,问题就会消失。如果不是这样,请将 IDE 切换为“详细”以进行编译。这将允许您找到处理实际 C 源代码的临时文件夹。然后,您可以查看实际编译和链接的程序。这对于找出真正的问题大有帮助。

在分析详细编译器输出时,您可能还想查看Arduino 构建过程的详细信息。

于 2013-04-17T19:52:46.023 回答
2

我发现了问题:INO 文件名不能与类名相同。

我有三个文件: DB1280.ino DB1280.cpp DB1280.h 编译错误出来了。所以我更改了 DB1280.ino 名称。比如 SimpleDB1280.ino。错误消失了。

于 2014-03-06T02:01:27.477 回答
2

arduino 对您构建的草图的名称有非常具体的要求。如果您将其保存为“Main”或“main”,则需要在其他地方以不同的名称保存它。

于 2014-01-21T18:59:18.443 回答
0

这里同样的问题。通过删除项目名称中的空格字符来修复它。

于 2015-04-19T12:50:20.233 回答
0

简化项目名称

我已经使用Save as to更改了我的项目名称my-project。这导致了您发布的错误。

为了解决这个问题,简化项目名称,排除项目名称等特殊字符-

于 2015-10-25T06:00:01.350 回答
-1

您必须选择优先选择外部编辑器。说明:当它被选中时,你的页面 arduino 是灰色的,你可以编写程序。因此,当您想从 ardublock 转移到 arduino 时,您的代码不被接受,这很正常,因为 ardublock 不是 arduino 的外部编辑器。取消选择,您的 arduino 页面开始为白色,您可以编写代码并从 ardublock 传输代码。我有同样的问题,我使用它并且它正在运行..玩得开心:)

于 2013-07-04T08:05:33.450 回答