36

これは、ARDUINO プログラムを実行しようとしたときに表示される主なエラーです。エラーの完全なリストは次のとおりです。

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

私のコードは次のとおりです。

int led=13;
void setup()
{
    pinMode(13,OUTPUT);
}

void loop()
{
    digitalWrite(13,HIGH);
    delay(1000);
    digitalWrite(13,LOW);
    delay(1000);
}

ドライバーを更新して(完全に更新されています)、いくつかのプログラムをダウンロードしてみました。私は Windows 7 を使用しており、私の arduino は MEGA 2560 です。デバイス マネージャーに表示され、すべての接続が正しいです。緑色の PWR ライトが点灯し、L ライトが点滅しています。更新すると、RX と TX のライトが点滅します。私はウェブ上のほとんどすべてを試しました。何が問題ですか?

4

14 に答える 14

20

Mega 2560 でこのエラーが発生する別の理由として考えられるのは、コードに 3 つの感嘆符が連続して含まれている場合です。おそらく、最近追加された文字列にあります。

連続して 3 つの強打マークがあると、Mega 2560 ブートローダーがモニター モードになり、そこからプログラミングを終了できなくなります。

「!!!」 <--- Mega 2560 ブートローダが壊れます。

修正するには、Arduino USB を取り外して COM ポートをリセットし、感嘆符を 2 つだけ使用するか、間にスペースを入れて再コンパイルします。次に、Arduino を再接続し、通常どおりにプログラムします。

はい、これは昨日私を噛みました、そして今日私は犯人を突き止めました. 詳細情報のリンクは次のとおりです: http://forum.arduino.cc/index.php?topic=132595.0

于 2015-03-19T00:16:06.143 に答える
15

エラー メッセージは基本的に、プログラマがデバイスのブートローダーに接続できないことを意味します。アップロードしようとしているコードは問題とは関係ありません。

これを引き起こす原因は数多くあり、さまざまな可能性があり、いくつかの問題が考えられます。

  1. UART通信

    • 点滅が発生しているので、間違ったポートを使用していないことを願っています。ただし、USB COM デバイスが奇妙なポート番号にインストールされることがあります。

    • TX を RX に接続し (可能であれば AVR から切り離します)、COM ポートでターミナルを開きます。入力すると文字がエコーされます。そうしないと、チップの上流に何か問題があり、通信チップである可能性があります (Arduino 2560 は、何らかの理由で FTDI の代わりにセカンダリ AVR を使用していると思います。そのため、ソフトウェアまたはハードウェア)

  2. ATmega*ブートローダー

    • AVR が何らかの理由でブートローダーを実行していません。プログラマーが接続を試みる前にマイクロをリセットしていない場合、これが原因である可能性があります。プログラマーが接続を試みている間に、AVR のリセット (ボタンを押して放す) を試みてください。タイト ループで実行されるソフトウェアが、ブートローダーの接続を妨げる場合があります。

    • それがなければ、ヒューズがめちゃくちゃになったか、コードが消去された可能性があります. ブートローダーと適切なヒューズを再フラッシュする必要があります。デバイスの適切な情報ページを参照してください。

  3. Arduino Mega 2560 のみ: ATmega8U/16U ソフトウェア

    • 機能しない可能性があり、再プログラミングが必要になります。情報ページの「プログラミング」セクションを参照してください。ターゲットを再フラッシュするには、コンピューターにファームウェアと Atmel 互換の DFU (デバイス ファームウェア アップデート) ソフトウェアが必要です。
  4. ボード、AVR、または FTDI チップのハードウェアの損傷

    • あなたはうんざりしています。新しいチップが必要です。

他のアイデアについては、このフォーラムの投稿を確認してください。

于 2013-10-28T22:00:06.467 に答える
7

avrdude コマンド ラインで正しいプログラマを指定しなかったため、このエラーが発生しました。Arduino ボードを使用している場合は、「-c arduino」を指定する必要があります。

この例のコマンドは、hfuse のステータスを読み取ります。

avrdude -c arduino -P /dev/ttyACM0 -p atmega328p -U hfuse:r:-:h
于 2014-02-05T11:29:14.530 に答える
4

私の謙虚な理解では、このエラーはさまざまなシナリオで発生します

  1. 間違ったポートを選択したか、まったく選択していません。ツール>ポートに移動し、Arduinoが接続されているcomポートを選択します
  2. 間違ったボードを選択しました。ツール>ボードに移動し、適切なボードを探します
  3. これらのarduinoのレプリカの1つを持っているか、マイクロコントローラーにブートローダーがインストールされていません。これの解決策がわかりません!わかっている場合は、私の投稿を編集して指示を追加してください。
  4. (Windows のみ) 適切なドライバーがインストールされていません。手動で更新する必要があります。
  5. ボードにワイヤが接続されていると、これが発生することがあります。取り付けたブレッドボードやワイヤからボードを切り離して、もう一度アップロードを試みる必要があります。シリアル通信に使用できるピン 0 (RX) と 1 (TX) は問題があり、コードをアップロードする間は空いている方がよいようです。

  6. 特定の理由なしにランダムに発生することもあります。

インターネット上にはあらゆる種類のソリューションがあり、魔法で違いを見分けるのが難しい場合もあります。おそらく、Arduino チームは、ユーザーがこれらのさまざまな原因を区別するのに役立つ、より良いコンパイラ エラーを考えるべきです。

同じ問題が発生し、上記の解決策はどれも機能しませんでした。何が起こったのかというと、私は Arduino uno を使用していて、すべて問題ありませんでしたが、Arduino Mega 2560 を購入すると、アップロードしようとしたスケッチに関係なく、エラーが発生しました。

avrdude: stk500v2_ReceiveMessage(): timeout

そして、それは私のWindowsコンピューターの1つだけで、もう1つは箱から出して問題ありませんでした.

解決:

私の問題を解決したのは、ツール>ボード>ボードマネージャー...に移動し、開いたウィンドウの左上にある「タイプ」セクションで「更新可能」を選択することでした。次に、リスト内のアイテムを選択し、右側の更新を押します。

これで全員の問題が解決するかどうかはわかりませんが、少なくとも私の場合は解決しました。

于 2017-07-18T12:59:40.500 に答える
0

私はArduinoのセットアップからこのコードを実行していましたが、
シリアルポートをCOM13に変更した後、同じエラー解決を得ました
GO TO Option
tool>> serial port>> COM132

于 2014-08-21T09:24:38.350 に答える
0

シリアル モニタが実行されていないこと、および読み取り/書き込みdev/tty/S0(または使用しているポート) が何も行われていないことを確認します。これにより、アップロードの干渉が発生する可能性があります。

于 2019-01-14T23:10:13.183 に答える
0

私は同じ問題に直面しました。問題の根本原因。誤った通信が設定されたため、通信タイムアウトが発生しました。

解決策: USB ポートを介してラップトップに接続した場合。ポートを USB に変更します。手順に従ってください

  1. Arduino-IDEを開く
  2. メニュー「ツール --> ポート」に移動し、オプション「USB」を選択します {私の場合は /dev/ttyUSB0 と表示されます}

それは私にとってはうまくいきます。

于 2021-06-08T16:39:15.977 に答える