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 を「verbose」に切り替えます。これにより、実際の C ソース コードが処理される一時フォルダーを見つけることができます。その後、実際にコンパイルおよびリンクされたプログラムを見ることができます。これは、実際の問題を見つけるのに大いに役立ちます。

詳細なコンパイラ出力を分析しながら、 Arduino ビルド プロセスの詳細を調べることもできます。

于 2013-04-17T19:52:46.023 に答える
2

arduino には、作成するスケッチの名前に関する非常に具体的な要件があります。これを「メイン」または「メイン」として保存した場合は、別の場所に別の名前で保存する必要があります。

于 2014-01-21T18:59:18.443 に答える
0

プロジェクト名を簡略化する

[名前を付けて保存] を使用してプロジェクト名を変更しましたmy-project。それがあなたが投稿したエラーの原因でした。

これを解決するには、プロジェクト名を単純化し、プロジェクト名からなどの特殊文字を除外し-ます。

于 2015-10-25T06:00:01.350 に答える
0

ここでも同じ問題。プロジェクト名のスペース文字を削除して修正しました。

于 2015-04-19T12:50:20.233 に答える
-1

外部エディターの優先設定で選択を解除する必要があります。説明:あなたのページを選択すると、arduinoは灰色になり、プログラムを書くことができます。したがって、ardublock から arduino に転送したい場合、コードは受け入れられず、ardublock は arduino の外部エディターではないため、これは正常です。選択を解除すると、arduino ページが白で始まり、コードを記述して ardublock からコードを転送できます。私は同じ問題を抱えていました。私はそれを使用し、実行しています..楽しんでください:)

于 2013-07-04T08:05:33.450 に答える