「avrdude:stk500_getsync():同期していません:resp = 0x00」


98

先日、素晴らしいプログラムを作成し、それをArduinoにアップロードしたいと思いました。アップロードボタンをクリックした後、avrという名前の男がやってきて、私を止めました。

avrdude:stk500_getsync():同期していません:resp = 0x00

すべて私がやりたいことは、私のプログラムをアップロードされますが、AVRは私をさせません。彼は理解できないので、誰かが彼が何を言おうとしているのか、どのように彼を取り除くのかを教えてもらえますか?


すなわち:

Arduinoにプログラムをアップロードしようとするたびに、次のエラーメッセージが表示されます。

avrdude:stk500_getsync():同期していません:resp = 0x00

これはどういう意味ですか、どうすれば修正できますか?


4
かなり一般的なエラーメッセージ、解決することは必ずしも容易ではない:electronics.stackexchange.com/...
jippie

12
素敵なタイトル!私は...それは自分自身を持っていたエラー
TheDoctor

6
タイトルの+1:D ...あなたと同じくらいこの男が本当に嫌いです!
デビッドRefoua

arduino用のドライバー(cp2102)をインストールしてみてください。それは私を助けてくれました。以前の回答をありがとうppl :-)

この2018年6月ポストは私のために(第一の答えを)それを解く:arduino.stackexchange.com/questions/51729/...
マイケル・シムズ

回答:


62

これは、コンピューターとArduinoの間の一般的な接続エラーが原因であり、さまざまな特定の問題が原因で発生する可能性があります。

このエラーを頻繁に修正できる簡単なものを次に示します。

  • USBケーブルを取り外して再接続します。
  • ボードのリセットボタンを押します。
  • Arduino IDEを再起動します。
  • で正しいボードを選択していることを確認してくださいTools ► Board ►。例えば、Duemilanove 328を使用している場合、Duemilanove 128の代わりにそれを選択してください。
  • で正しいポートを選択したことを確認してくださいTools ► Serial Port ►。どのポートにあるかを判断する1つの方法は、次の手順に従うことです。
    1. USBケーブルを取り外します。
    2. Tools ► Serial Port ►リストにあるポートに移動して確認します(例:COM4 COM5 COM14)。
    3. USBケーブルを再接続します。
    4. に戻りTools ► Serial Port ►、以前は存在しなかったポートを確認します。
  • デジタルピン0および1に、シールドなどの部品が接続されていないことを確認してください。

これらのいずれも機能しない場合は、同じものを交換して問題を切り分けようとします。同じarduinoで別のコンピューターを試し、同じコンピューターで別のarduinoを試し、別のUSBケーブルを使用します。

問題がコンピューターにある場合:

  • 上記の「簡単な修正」リストのすべてのコンピューター関連の問題を再確認してください。
  • IDEを再インストールします。
  • ドライバーを再インストールします。

問題がArduinoにある場合:

  • 上記の「簡単な修正」リストのボード関連の問題をすべて再確認してください。
  • マイクロコントローラーが正しく装着されていることを確認してください。
  • ブートローダー焼く必要があるかもしれません。
  • 近くに別のマイクロコントローラーがある場合は、マイクロコントローラーを交換してください。
  • Arduinoをブリックした可能性があります。ごめんなさい :(

3
他にも考えられる原因があります。ATmegaを損傷したり、ATmegaのブートローダーを損傷したり、電源の問題が発生したり、その他の無数の可能性があります。これnot in sync: resp=0x00は実際には一般的な「ATmegaが応答していません」というメッセージです。ATmegaが応答しない原因となるものは何でもそれを引き起こす可能性があります。
コナーウルフ

だから、私は0または1に何かを持つことはできませんか?
ティム

2
@Timこれらのピンには何かを接続できますが、USBケーブルを介してArduinoと通信する場合は、それらを切断する必要があります。
帽子を持つ男

数年前の最初のDuemillanoveでこのエラーが発生しました。デッドUARTチップ(またはUSBからUARTチップへの接続)でした。とてもイライラします。AVRプログラマーを購入し、ブートローダーを焼きました。ブートローダーがプリロードされた別のCPUを購入しました。ベンダーが交換品を送るまで、私はArduinoの愛好家の世界に参加することができませんでした(そして今は2つの予備のCPUを持っています)。
linhartr22

「USBケーブルの切断と再接続」が機能する
グレースシャオ

20

別の修正:

に変更Tools->Processor->Atmega 328PAtmega 328P (Old Bootloader)ます。このProcessorオプションは、で特定のボードを選択した場合にのみ使用できることに注意してくださいTools>Board

これは、Linux Ubuntu 17.10でArduino IDE 1.8.5を使用して、Arduino NanoとCH340で機能しました。それに、IDE 1.8.9以降を使用していて、古いまたはクローン化されたNanoを取得すると、おそらくこれが発生します。


3
それが解決策でした!新しいブートローダーは、2倍のボーレート(57600ではなく115200)を使用します。
スウエギ

1
あなたの答えは私の問題を修正します。ありがとうございました!
Vladyslav Savchenko

12

残念ながら、それはまた、マイクロコントローラーを焼いたことを意味します。新しいスケッチをアップロードしようとする直前に何か危険なことをしていましたか?以前に読み込まれたスケッチで、マイクロコントローラーはまだ動作していますか?


10

上記の手順のいずれも機能しない場合は、Avrdudeとavr-gccコンパイラを再インストールしてみてください。私のメガがこれに苦しみ始めた後、私はこれをしなければなりませんでした。

Avrdudeとavr-gccを別々にインストールした場合は、単にアンインストールします。そうでない場合は、Arduino IDEを再インストールする必要があります。これらの手順は、オペレーティングシステムによって異なります。


ツールチェーンが使用されているために問題が発生する可能性は非常に低いです。これは極端すぎる、IMO。
asheeshr

3
それは私が私の問題を解決できる唯一の方法だ
TheDoctor

あなたが話しているこのインストールプロセスとは何ですか?arduinoエディターツールは解凍されたばかりです。インストールプロセスはありません。
コナーウルフ14

9

同じメッセージがあります。メニューの[ツール]から[ポート]の下で正しいポート(USB)を選択して解決するたびに。その簡単なステップですが、私はいつも忘れています。Arduinoを取り外して現在のプログラムを停止し、コンピューターに再度接続して新しいプログラムをアップロードし、エラー、パニック、呪いを取得します。


1
これが最も一般的なソリューションだと思います。

9

私の場合、FTDIチップのRTSピンをArduino Pro MiniのRSTピンに接続するコンデンサに配線していませんでした。この接続をインストールすると、エラーが発生しなくなり、コードをアップロードできました。

Nick Gammonはこれを彼のフォーラムで説明しています。コンデンサを配置する場所/方法の写真を追加しました。 ここに画像の説明を入力してください


USBプログラマーのatmegaチップへの直接接続の素敵な写真のために+1。
raddevus

ボードに接続不良もありました。すべてのプラグを抜いて基本的なスケッチをアップロードしましたが、うまくいきました。次に、ケーブルが適切な場所にないことを把握します
Seraf

5

私はまったく同じ問題を抱えていました。IDEを別のラップトップにインストールしてみて、そのラップトップからプログラムをアップロードしました。問題が解決しました。その後、ラップトップに戻り、IDEをアンインストールして再インストールしました。動作し始めました。

しかし、私は問題の原因を見つけることができなかったため満足していませんでした...それで私はすべてを同じ正確な方法で再度実行しようとしました...私は問題を見つけましたが、それが実際の原因であるかどうかわかりません。

私のプロジェクトでは、arduinoとMATLAB(GUI)の間でシリアル通信を実行する必要がありました。MATLAB(GUI)シリアルデータの出力(タイプ)を表示/検証するために、ハイパーターミナルと仮想シリアルポートエミュレーターを使用しました。ハイパーターミナルが実行されているとき、またはシリアルモニターがオンになっているときにVSPEが実行されているときはいつでも、プログラムのアップロード機能が台無しになることに気付きました。VSPEかHYPERTERMINALのどちらなのかはわかりませんが、IDEの再インストールはうまくいきました。


2
Arduinoをリセットするために使用されるのは、DTRのシリアルコントロールラインの1つです。Arduinoをプログラムしようとすると、ターミナルプログラムが干渉する可能性があります。
linhartr22

これは、すべての設定と追加のライブラリを含むArduino Libraryフォルダーも削除した場合にのみ機能しました。
ジェスロ

3

Linux Mintを使用している人にとっては、「Arduino」というラベルの付いたポートではなく「TTY SO」ポートを選択することで機能することがわかりました(そのコンピューターが目の前にないため、正確にはわかりません) 。

次に、Arduinoを使用したときに同じメッセージが再び表示されたので、「Arduino」ポートに切り替えて、それ以降は正常に機能しています。

私は他の皆さんほど技術的な知識はないので、これがなぜ機能するのか、何が問題なのかはわかりませんが、私が気にするのはそれだけです。たぶんこれは誰かに役立つでしょう。


3

IDEとドライバーなどをアンインストールし、すべてを再度インストールした後、管理者としてArduino IDEを実行し、Windows 7として互換性を実行するように設定しました(現在10を使用しています)。

また、プログラマーをAVR ISPに変更しました(これは重要ではないと思いますが、とにかく変更しました)。

すべてが再び機能しています...うまくいけば、これは他の人にも役立つことができます。


2

異常なものですが、マイクロコントローラを頻繁に交換しており、正しく装着されていないときにこのエラーが発生しました。 ATMega328が修正しました!


1

また、コントローラー自体がArduinoのソケットに間違った方法で配置される可能性もあります。これは、コントローラー(ザップされる可能性があります)にとって危険な場合がありますが、私の場合は、非同期エラーが発生しただけで、コードをアップロードできません。

したがって、ICのノッチが正しい方向にあるかどうかを確認してください(オンラインのボードの画像とクロスチェックできます)。Unoのコントローラーのノッチは、ボードの端を向いている必要があります。


1

このエラーも発生しました。ヘッダーにはんだ付けした後、新しいArduino Nanoボードを使用したのは初めてでした。Blink Sketchを結ぶだけで、ボードには何も接続されませんでした。

GROUNDピンとRESETピンの間に小さなはんだのショートが見つかりました。私はそれを選択し、[OK]をアップロードできました。

どこかの回路で同じ短絡があった場合、これが起こる可能性があると思います。


1

新しいMini Proでも同じエラーが発生しました。ほとんどのArduinoにプリロードされたデフォルトの点滅プログラムが実行されているので、ユニットはおそらく大丈夫であることを知っています。

それで、もう一度はんだ付けしたばかりのヘッダーを検査しましたが、TX0ピンに十分なはんだがないことがわかりました。すべての作品を再はんだ付けした後。


1

多くのプラグを抜いて、ポートをチェックし、IDEを再起動した後など。 COMポート> arduinoの http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows-7-64-bit.shtml 私が持っていること私のunoでそれをテストしてからメガに戻ったので、unoと話をする少しの機会がありますが、AVRDUDEは幸せですが、ありそうにありませんでした。


1

ボードへのアップロードで問題が発生した場合、まばたきの例のような別のプログラムをアップロードします。これにより何かがリセットされたように見えるので、自分のプログラムをアップロードできます(非常に大きい)。

それがあなたのケースで動作するかどうかを確認するのにこれを試す価値があるかもしれませんが、なぜ動作するのか分かりません。


どのボードとブートローダー?
ジュラジ

Arduino Nano、ATMega328P(サードパーティではない)。ハードウェアのバージョン:2は、ファームウェアバージョン:1.16には、デバイスの署名は、私はブートローダをチェックしていないが、彼らは「伝統的なブートローダ」として宣伝されている0x1e950fある
ジェスロ

ので、あなたの答えは、古いナノブートローダに特異的である
ユライ

ありがとう!ブートローダーを見て、アップグレードを試みます。このバグに関する情報はありますか?
ジェスロ

1

Unoボードで同様の問題が発生しました

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x90

多くの方法を試した

  • パケットを送信する前にリセットを押します
  • 異なるIDEバージョン
  • ケーブルを変更する
  • コントローラー自体を変更する
  • ループバックテスト

しかし、上記のすべてが失敗しました。

私はUbuntu 16.04.4 LTSを使用しています4.15.0-33-generic(このコメントを書いている間)。CDC ACMモジュールがロードされなかったため、/dev/ttyACM0選択するデバイスが作成されませんでしたArduino IDE -> Tools -> Port

したがって、モジュール名を取得してロードします

$ lsusb 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


$ sudo modprobe cdc-acm

上記のコマンドは、必要なモジュールを挿入します。これで、適切なポートを選択してコードをアップロードできます

これが私のために働いたさまざまな解決策のうち、これが誰かにも役立つことを願っています。


0

ボードを更新して解決しました(「ボードマネージャー」の下)


Arduino Nanoを持っていますか?
per1234

0

今日、いくつかのコードで同じ問題に直面し、次のように解決しました。

1-最初に、基本的なLED点滅コードを実行しました。同じエラーが発生しました。エラーがアップロードにあり、コンパイルとは無関係であることを確認します。また、コードが正常にコンパイルされていることも確認しました。

2-別のボードを取りましたが、このPCで正常に機能していました。つまり、コンピューターとUSBワイヤは問題ありません。

3-故障したボードを別のPCに接続しましたが、驚くべきことに、アップロード時にそのようなエラーはありませんでした。これにより、最初のPCのドライバーの問題に関するヒントが得られました。

4-だから、ドライバーをアンインストールし、ここからダウンロードして最初のPCに再インストールしました

(このリンクからドライバーをインストールする間、ボードをPCに接続したままにしてください)

今はうまくいきました:-)


0

Arduino Nano avrdudeを搭載したLinux Mint 17.3ラップトップでこのエラーが発生しました:stk500_getsync():not in sync:resp = 0x00

解決済み:

  • 名前に「arduino」または「avr」が含まれているものをすべて削除しました
  • .arduinoおよび.arduino15ディレクトリを削除しました(名前のドットに注意してください)
  • パケットのアンインストールでver 1.8.7を削除
  • apt-get install arduino(ver 1.1.0)
  • 簡単なスケッチでテスト済み(すべてOK)
  • パケットのインストールでver 1.8.7をインストールしました
  • 編集済み。
  • プロセッサにATmega328p(古いブートローダー)、カードにArduino Nano、ポートに/ dev / ttyUSB0を選択=> IT WORKS!

この場合、「古いブートローダー」がトリックだったようです。私は今、バージョン1.1.0と1.8.7の両方を持っています。


最初にaguadopdからの回答を読む必要があります
Juraj
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.