これは、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ライトが点滅します。私はほとんどすべてをウェブで試しました。何が問題ですか?
Mega 2560のこのエラーのもう1つの考えられる理由は、コードに3つの感嘆符が連続している場合です。おそらく最近追加された文字列です。
3個の連続したマークがあると、Mega 2560ブートローダーはモニターモードになり、そこからプログラミングを終了できません。
"!!!"<--- Mega 2560ブートローダーが壊れます。
修正するには、Arduino USBを取り外してCOMポートをリセットし、感嘆符を2つだけ使用するか、スペースを空けて再コンパイルします。その後、Arduinoとプログラムを通常どおり再接続します。
はい、これは昨日私に噛み付き、今日私は犯人を追跡しました。詳細はこちらのリンクをご覧ください。 http://forum.arduino.cc/index.php?topic=132595.
このエラーメッセージは基本的に、プログラマがデバイスのブートローダーに接続できないことを意味します。アップロードしようとしているコードは問題に関係ありません。
これの原因は多数あり、さまざまで、いくつかの考えられる問題があります。
UART通信
点滅が発生しているため、間違ったポートを使用していないことを願っています。ただし、USB COMデバイスが奇妙なポート番号にインストールされることがあります。
TXをRXに接続し(可能な場合はAVRから切断します)、COMポートのターミナルを開きます。入力すると文字がエコー表示されます。そうしないと、チップの上流で何かが間違っている、それが通信チップである可能性があります(Arduino 2560は何らかの理由でFTDIではなくセカンダリAVRを使用しているため、ソフトウェアまたはハードウェア)
ATmega*
ブートローダー
AVRは何らかの理由でブートローダーを実行していません。プログラマが接続を試みる前にマイクロをリセットしていない場合、これが原因である可能性があります。プログラマーが接続を試みている間に、AVRをリセットしてください(ボタンを押して放します)。タイトループで実行されるソフトウェアがブートローダーの接続を妨げることがあります。
それがなければ、ヒューズがめちゃくちゃになっているか、コードが消去されている可能性があります。ブートローダーと適切なヒューズを再度フラッシュする必要があります。デバイスの適切な情報ページを参照してください。
Arduino Mega 2560のみ:ATmega8U/16Uソフトウェア
ボード、AVR、またはFTDIチップのハードウェア損傷
これを確認してください フォーラムの投稿 さらにアイデアがあります。
Avrdudeコマンドラインで正しいプログラマーを指定しなかったため、このエラーが発生しました。 Arduinoボードを使用している場合は、「-c arduino」を指定する必要があります。
次のコマンド例は、hfuseのステータスを読み取ります。
avrdude -c arduino -P /dev/ttyACM0 -p atmega328p -U hfuse:r:-:h
私の謙虚な理解に、このエラーはさまざまなシナリオで発生します
ボードにワイヤが接続されていると、これが起こることがあります。インストールしたブレッドボードまたはワイヤからボードを分離して、もう一度アップロードする必要があります。シリアル通信に使用できるピン0(RX)と1(TX)は問題があるようで、コードのアップロード中は空いている方が良いでしょう。
特定の理由もなくランダムに発生することもあります!
インターネットにはあらゆる種類のソリューションがあり、魔法との違いを見分けるのは難しい場合があります! Arduinoチームは、ユーザーがこれらのさまざまな原因を区別するのに役立つコンパイラエラーを改善することを検討する必要があります。
同じ問題が私に起こり、上記の解決策のどれもうまくいきませんでした。起こったことは、私がArduino unoを使用していて、すべてが順調だったということでしたが、Arduino Mega 2560を購入すると、どのスケッチをアップロードしようとしてもエラーが発生しました:
avrdude: stk500v2_ReceiveMessage(): timeout
そして、それは私のWindowsコンピューターの1つにあり、もう1つはそのまま使用できました。
解決策:
私の問題を解決したのは、[ツール]> [ボード]> [ボードマネージャー]に移動し、開いたウィンドウの左上の[タイプ]セクションで[更新可能]を選択することでした。次に、リスト内のアイテムを選択し、右側の更新を押します。
これで全員の問題が解決するかどうかはわかりませんが、少なくとも私の問題は解決しました。
ラップトップでUSBポートに直接接続しましたが、タイムアウトの問題は解決しました。
以前はポートレプリケーターによって試行されましたが、arduinoを認識しなかったため、間違ったポートを選択しました-タイムアウトメッセージが表示されました。
つまり、OSから見えるようにしてください。
Inoコマンドラインを使用する場合:
ino upload
arduinoソフトウェアを同時に使用しているために、それを殺そうとする可能性があります。
私はArduinoセットアップからこのコードを実行していましたが、変更後に同じエラーが解決しました
COM13へのシリアルポート
GO TOオプション
tool >>シリアルポート>> COM132
シリアルモニターが実行されておらず、読み取り/書き込みが何もないことを確認しますdev/tty/S0
(または使用しているポート)、アップロードの干渉を引き起こす可能性があります。
これは実際には解決策ではありませんが、他の人を助けるかもしれません。ニックが私に言ったのとは異なり、それは私のプログラムのコードによるものでした。メガADKモデルを持っています。この問題は、Androidへのusb接続から返されたbyte []を処理および解析するためのswitchステートメントに関連付けられていました。毎回完全にコンパイルされますが、OPが述べたように失敗するため、非常に奇妙です。私はそれをコメントアウトし、うまくいきました。