“Avrdude: stk500_getsync (): tidak sinkron: resp = 0x00,” alias Beberapa Pria Bernama Avr Tidak Akan Biarkan Saya Mengunggah Program Saya

98

Suatu hari saya membuat program yang luar biasa, dan saya ingin mengunggahnya ke Arduino saya. Setelah mengklik tombol unggah, beberapa lelaki jahat bernama avr datang dan menghentikan saya, mengatakan:

avrdude: stk500_getsync (): tidak sinkron: resp = 0x00

Yang ingin saya lakukan hanyalah mengunggah program saya, tetapi avr tidak mengizinkan saya. Dia bahkan tidak bisa dimengerti, jadi bisakah seseorang memberitahuku apa yang dia coba katakan dan bagaimana cara menyingkirkannya?


yaitu:

Setiap kali saya mencoba mengunggah program ke Arduino saya, saya mendapatkan pesan kesalahan ini:

avrdude: stk500_getsync (): tidak sinkron: resp = 0x00

Apa artinya ini, dan bagaimana saya bisa memperbaikinya?

The Guy with The Hat
sumber
4
Pesan kesalahan yang cukup umum, tidak selalu sepele untuk dipecahkan: electronics.stackexchange.com/…
jippie
12
Judul yang bagus! Saya sendiri mengalami kesalahan itu ...
TheDoctor
6
+1 untuk judul: D ... Saya sangat membenci pria ini sebanyak yang Anda lakukan!
David Refoua
Coba instal driver (cp2102) untuk arduino. Itu memang membantu saya. Terima kasih atas jawaban sebelumnya, ppl :-)
Posting Juni 2018 ini menyelesaikannya untuk saya (jawaban pertama): arduino.stackexchange.com/questions/51729/…
Michael Sims

Jawaban:

62

Ini disebabkan oleh kesalahan koneksi generik antara komputer Anda dan Arduino, dan dapat disebabkan oleh berbagai masalah spesifik.

Berikut adalah beberapa hal mudah yang sering dapat memperbaiki kesalahan ini:

  • Putuskan dan sambungkan kembali kabel USB.
  • Tekan tombol reset di papan tulis.
  • Mulai ulang IDE Arduino.
  • Pastikan Anda memilih papan yang tepat Tools ► Board ►, misalnya. Jika Anda menggunakan Duemilanove 328, pilih yang bukan Duemilanove 128. Papan harus mengatakan versi apa yang ada di microchip.
  • Pastikan Anda memilih port yang tepat Tools ► Serial Port ►. Salah satu cara untuk mengetahui port mana yang aktif adalah dengan mengikuti langkah-langkah ini:
    1. Lepaskan koneksi kabel USB.
    2. Pergi ke Tools ► Serial Port ►dan lihat port mana yang terdaftar (mis. COM4 COM5 COM14).
    3. Hubungkan kembali kabel USB.
    4. Kembali ke Tools ► Serial Port ►, dan lihat port mana yang muncul yang tidak ada sebelumnya.
  • Pastikan pin digital 0 dan 1 tidak memiliki bagian yang terhubung, termasuk perisai apa pun.

Jika tidak ada yang berhasil, Anda akan ingin mencoba mengisolasi masalah dengan mengganti beberapa hal: coba komputer yang berbeda pada arduino yang sama, coba arduino yang berbeda di komputer yang sama, dan coba gunakan kabel USB yang berbeda.

Jika masalah dengan komputer:

  • Periksa ulang semua masalah terkait komputer di daftar "perbaikan mudah" di atas.
  • Pasang kembali IDE.
  • Instal ulang driver.

Jika masalahnya ada pada Arduino:

  • Periksa ulang semua masalah yang berhubungan dengan papan di daftar "perbaikan mudah" di atas.
  • Pastikan mikrokontroler terpasang dengan benar.
  • Anda mungkin perlu membakar bootloader .
  • Ganti mikrokontroler jika ada yang lain di dekat Anda.
  • Anda mungkin telah merusak Arduino Anda. Maaf :(
The Guy with The Hat
sumber
3
Ada kemungkinan penyebab lain. Anda bisa merusak ATmega, Anda bisa merusak bootloader pada ATmega, Anda bisa mengalami masalah daya, atau segudang kemungkinan lainnya. Ini not in sync: resp=0x00benar-benar pesan "ATmega tidak merespons" generik. Apa pun yang dapat menyebabkan ATmega tidak merespons dapat menyebabkannya.
Connor Wolf
Jadi, bisakah saya tidak memiliki apa pun dalam 0 atau 1?
Tim
2
@Tim Anda dapat menyambungkan hal-hal ke pin tersebut, tetapi Anda harus memutuskannya jika Anda ingin berkomunikasi dengan Arduino Anda melalui kabel USB.
The Guy with The Hat
Saya mendapatkan kesalahan ini pada Duemillanove pertama saya tahun yang lalu. Itu adalah chip UART mati (atau koneksi dari USB ke chip UART). Sangat membuat frustrasi. Saya membeli seorang programmer AVR dan membakar bootloader. Membeli CPU lain dengan bootloader yang dimuat sebelumnya. Tidak sampai vendor mengirim pengganti yang saya dapat bergabung dengan dunia penggemar Arduino (dan saya sekarang memiliki dua CPU cadangan).
linhartr22
"Putuskan dan sambungkan kembali kabel USB" berfungsi untuk saya
Grace Shao
20

Perbaikan lain:

Ubah Tools->Processor->Atmega 328Pke Atmega 328P (Old Bootloader). Ingatkan bahwa Processoropsi ini hanya tersedia ketika Anda memilih beberapa Dewan khusus di Tools>Board.

Ini bekerja untuk Arduino Nano saya dengan CH340, menggunakan Arduino IDE 1.8.5 di Linux Ubuntu 17.10. Selain itu, ini mungkin akan terjadi jika Anda menggunakan IDE 1.8.9 atau lebih baru dan Anda mendapatkan Nano lama atau kloning.

aguadopd
sumber
3
Itu solusinya! Bootloader baru menggunakan baud rate dua kali lipat (115200 bukannya 57600).
Suuuehgi
1
Jawaban Anda memperbaiki masalah saya. Terima kasih!
Vladyslav Savchenko
12

Sayangnya, ini juga bisa berarti Anda membakar mikrokontroler Anda. Apakah Anda melakukan sesuatu yang berbahaya tepat sebelum Anda mencoba mengunggah sketsa baru? Apakah mikrokontroler masih berfungsi, dengan sketsa yang dimuat sebelumnya?

Ricardo
sumber
10

Jika tidak ada langkah-langkah di atas yang berfungsi, coba instal ulang Avrdude dan kompiler avr-gcc. Saya harus melakukan ini setelah Mega saya mulai menderita ini.

Jika Anda menginstal Avrdude dan avr-gcc secara terpisah, cukup hapus instalannya. jika tidak, Anda mungkin harus menginstal ulang IDE Arduino. Langkah-langkah ini akan tergantung pada sistem operasi Anda.

Dokter
sumber
Sangat tidak mungkin bahwa masalah akan disebabkan karena toolchain yang digunakan. Ini terlalu ekstrem, IMO.
asheeshr
3
Ini satu-satunya cara saya bisa menyelesaikan masalah saya
TheDoctor
Apa proses instalasi yang Anda bicarakan? Alat editor Arduino baru saja membuka ritsleting. Tidak ada proses instalasi.
Connor Wolf
9

Saya memiliki pesan yang sama. Setiap kali telah diselesaikan dengan memilih port yang tepat yaitu USB di bawah menu Tools kemudian Ports. Ini langkah sederhana tapi saya selalu lupa. Saya akan mencabut Arduino untuk menghentikan program saat ini, tancapkan lagi ke komputer saya untuk mengunggah program baru dan mendapatkan kesalahan, panik, kutukan, dan hanya kemudian, ingat.

Gabe Ruiz
sumber
1
Saya pikir ini adalah solusi yang paling umum.
anak ayam
9

Dalam kasus saya, saya belum menghubungkan pin RTS dari chip FTDI ke kapasitor yang pergi ke pin RST dari Arduino Pro Mini. Setelah saya menginstal koneksi ini, saya tidak lagi mendapatkan kesalahan dan saya dapat mengunggah kode.

Nick Gammon menjelaskan ini di forumnya . Saya telah menambahkan gambar di mana / bagaimana kapasitor harus ditempatkan. masukkan deskripsi gambar di sini

tr4nc3
sumber
+1 untuk gambar yang bagus dari koneksi programmer usb langsung ke chip atmega.
raddevus
Saya juga memiliki beberapa koneksi buruk di papan saya, saya mencabut semuanya dan mengunggah sketsa dasar dan itu berhasil. Sekarang
coba bayangkan
5

Saya memiliki masalah yang sama persis. Saya mencoba menginstal IDE di laptop lain dan mengunggah program dari laptop itu. Masalah terpecahkan. Kemudian saya kembali ke laptop saya, mencopot IDE dan menginstalnya kembali .. mulai berfungsi.

Namun, saya tidak puas karena saya tidak dapat menemukan sumber masalahnya ... jadi saya mencoba menjalankan semuanya lagi dengan cara yang persis sama ... Saya menemukan masalah tetapi tidak yakin apakah itu dapat menjadi penyebab sebenarnya dari itu. .

Dalam proyek saya, saya perlu melakukan komunikasi serial antara Arduino dan MATLAB (GUI). Untuk melihat / memverifikasi output (tipe) dari data serial MATLAB (GUI), saya menggunakan HYPERTERMINAL dan juga VIRTUAL SERIAL PORT EMULATOR. Saya perhatikan bahwa setiap kali ketika HyperTerminal berjalan atau VSPE berjalan saat monitor serial saya di atasnya mengacaukan fitur pengunggahan program. Saya tidak yakin apakah itu karena VSPE atau HYPERTERMINAL, tetapi menginstal ulang IDE bekerja untuk saya.

Hrdip
sumber
2
Salah satu garis Kontrol Serial, saya pikir itu DTR, digunakan untuk mengatur ulang Arduino. Ketika Anda mencoba memprogram Arduino Anda, program terminal Anda bisa mengganggu.
linhartr22
Ini bekerja hanya untuk saya ketika saya juga menghapus folder Perpustakaan Arduino saya, yang berisi semua pengaturan dan lib ekstra.
Jethro
3

Untuk orang yang menggunakan Linux Mint saya menemukan bahwa dengan memilih port "TTY SO" bukan yang berlabel "Arduino" itu akan berfungsi (saya tidak dapat memberi tahu Anda secara pasti karena saya tidak memiliki komputer di depan saya saat ini) .

Kemudian pada saat saya menggunakan Arduino lagi saya mendapatkan pesan yang sama jadi saya beralih kembali ke port "Arduino" dan sejak itu telah bekerja seperti itu.

Saya tidak memiliki pengetahuan teknis seperti kalian semua, jadi saya tidak tahu mengapa ini berhasil atau apa masalahnya, tapi itu berhasil yang hanya saya pedulikan. Mungkin ini akan bermanfaat bagi seseorang.

Mikech
sumber
3

Saya uninstall IDE dan driver dll, menginstal semuanya lagi, kemudian saya menjalankan Arduino IDE sebagai administrator dan mengatur untuk menjalankan kompatibilitas sebagai windows 7 (Saya saat ini menggunakan 10).

Saya juga mengubah programmer ke AVR ISP (Saya pikir ini tidak penting, tapi saya tetap mengubahnya).

Semua berfungsi lagi ... semoga ini bisa membantu orang lain juga.

hari
sumber
2

Yang tidak biasa tapi saya sudah banyak menukar mikrokontroler dan saya mendapat kesalahan ini ketika seseorang tidak duduk dengan benar .. saya bisa membakar beberapa kali tapi saya kira itu menyelinap keluar - sedikit dorongan di belakang ATMega328 memperbaikinya!

takut sekali
sumber
1

Ada juga kemungkinan controller itu sendiri ditempatkan dengan cara yang salah di soket pada Arduino. Ini bisa berbahaya bagi pengontrol (yang mungkin terkena sengatan listrik) tetapi, dalam kasus saya, itu hanya memberikan kesalahan sinkronisasi, mencegah saya mengunggah kode.

Jadi cukup periksa apakah takik pada IC berada di arah yang benar (Anda dapat mengecek silang dengan gambar board online). Takik pada pengontrol Uno harus mengarah ke tepi papan.

Arijit
sumber
1

Saya punya kesalahan ini juga muncul. Ini adalah pertama kalinya menggunakan papan Nano Arduino baru setelah saya disolder di header. Hanya mengikat Sketsa Blink, tidak ada yang terhubung ke papan tulis.

Saya menemukan sedikit solder di antara pin GROUND dan RESET. Saya mengambilnya dan kemudian saya bisa mengunggahnya.

Saya kira ini mungkin terjadi jika Anda memiliki kekurangan yang sama pada suatu sirkuit di suatu tempat.

Wilkie
sumber
1

Baru saja mengalami kesalahan yang sama dengan Mini Pro baru. Karena program blink default yang sudah dimuat sebelumnya dengan sebagian besar Arduino berjalan, saya tahu bahwa unit mungkin OK.

Jadi saya memeriksa header saya hanya menyolder sekali lagi, dan menemukan bahwa tidak ada cukup solder pada pin TX0. Setelah menyolder ulang setiap karya.

pertama
sumber
1

Setelah banyak mencabut kabel, memeriksa port, me-restart IDE, dll. Masalah yang tampaknya membuat perbedaan dengan memperbaiki kesalahan ini dengan Arduino Mega 2560 adalah menghapus instalasi windows USB driver arduino kemudian instal ulang dengan menggunakan driver di sini & pilih secara manual dari daftar> com ports> arduino http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows-7-64-bit.shtml Saya mungkin punya mengujinya di uno saya kemudian kembali ke mega jadi ada kesempatan kecil berbicara dengan uno membuat AVRDUDE senang tapi tidak mungkin.

Hamish_Fernsby
sumber
1

Ketika saya mendapatkan masalah saat mengunggah ke papan saya, saya mengunggah program yang berbeda seperti contoh blink. Ini sepertinya mengatur ulang sesuatu dan saya kemudian dapat mengunggah program saya sendiri (yang cukup besar).

Mungkin ada baiknya mencoba ini untuk melihat apakah itu bekerja dalam kasus Anda, meskipun saya tidak tahu mengapa itu berhasil.

Yitro
sumber
apa board dan bootloader?
Juraj
Arduino Nano, ATMega328P (bukan pihak ke-3). Versi Perangkat Keras: 2, Versi Firmware: 1.16, tanda tangan perangkat adalah 0x1e950f Saya belum memeriksa bootloader, tetapi mereka diiklankan sebagai "bootloader tradisional"
Jethro
jadi jawaban Anda khusus untuk bootloader Nano lama
Juraj
Terima kasih! Saya akan melihat bootloader dan mencoba memutakhirkannya. Apakah Anda memiliki info tentang bug ini?
Jethro
1

Saya memiliki masalah serupa dengan papan Uno saya

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

Mencoba banyak metode

  • Tekan reset sebelum mengirim paket
  • versi IDE yang berbeda
  • Ganti kabel
  • Ubah pengontrol itu sendiri
  • Tes loopback

tetapi semua hal di atas gagal.

Saya menggunakan Ubuntu 16.04.4 LTS 4.15.0-33-generic(saat menulis komentar ini). Modul ACC CDC tidak dimuat, oleh karena itu tidak ada /dev/ttyACM0perangkat yang dibuat untuk memilihArduino IDE -> Tools -> Port

Oleh karena itu, Dapatkan nama modul dan muat

$ 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

Perintah di atas akan memasukkan modul yang diperlukan. Sekarang saya dapat memilih port yang tepat dan mengunggah kodenya

Dari berbagai solusi ini berhasil bagi saya, semoga ini membantu seseorang juga.

Chethan baru
sumber
0

Saya menyelesaikannya dengan memperbarui papan (di bawah "manajer papan")

pablo
sumber
Apakah Anda memiliki Arduino Nano?
per1234
0

Saya menghadapi masalah yang sama untuk beberapa kode hari ini dan saya menyelesaikannya sebagai berikut:

1- Pertama saya menjalankan kode berkedip LED dasar. Itu memberi kesalahan yang sama. Ini mengkonfirmasi bahwa kesalahan dalam pengunggahan dan tidak ada hubungannya dengan kompilasi. Saya juga memeriksa kode saya kompilasi dengan baik.

2 - Saya mengambil papan lain, tetapi itu berfungsi dengan baik pada PC ini. Itu berarti komputer dan kabel USB tidak apa-apa.

3 - Saya menghubungkan papan yang salah ke PC lain, dan yang mengejutkan, tidak ada kesalahan dalam mengunggah. Itu memberi saya petunjuk tentang masalah pada driver di PC pertama.

4 - Jadi saya menghapus driver dan menginstalnya kembali pada PC pertama dengan mengunduh dari sini

(pastikan saat menginstal driver dari tautan ini, Anda menjaga board Anda terhubung ke PC)

Ini bekerja dengan baik sekarang :-)

gpuguy
sumber
0

Saya mengalami kesalahan ini di laptop Linux Mint 17.3 saya dengan Arduino Nano avrdude: stk500_getsync (): tidak sinkron: resp = 0x00

Terpecahkan:

  • menghapus semua yang memiliki 'arduino' atau 'avr' dalam namanya
  • menghapus direktori .arduino dan .arduino15 (Perhatikan titik pada namanya)
  • dihapus ver 1.8.7 dengan menghapus paket
  • apt-get install arduino (ver 1.1.0)
  • diuji dengan sketsa sederhana (semuanya OK)
  • diinstal ver 1.8.7 dengan menginstal paket
  • dikompilasi.
  • ATmega328p (bootloader lama) terpilih untuk prosesor, Arduino Nano untuk kartu dan / dev / ttyUSB0 untuk port => IT WORKS!

Tampaknya 'bootloader lama' adalah trik dalam kasus ini. Saya sekarang keduanya ver 1.1.0 sebuah 1.8.7, siapa yang peduli.

Mistofeles
sumber
Anda harus terlebih dahulu membaca jawaban dari aguadopd
Juraj