“Avrdude: stk500_getsync (): senkronize değil: resp = 0x00,” aka Avr Adında Bazı Ahbap Avr Programımı Yüklememe İzin Vermiyor


98

Geçen gün harika bir program yaptım ve Arduino'ma yüklemek istedim. Yükle düğmesine tıkladıktan sonra, avr adında bazı kötü adamlar geldi ve şöyle dediler:

Avrdude: stk500_getsync (): senkronize edilmiyor: resp = 0x00

Tek yapmak istediğim sadece programımı yüklemek, fakat avr izin vermiyor. Hatta anlaşılmazdır, o yüzden biri bana ne söylemeye çalıştığını ve ondan nasıl kurtulacağını söyleyebilir mi?


yani:

Arduino’ma bir program yüklemeye çalıştığımda şu hata mesajını alıyorum:

Avrdude: stk500_getsync (): senkronize edilmiyor: resp = 0x00

Bunun anlamı nedir ve nasıl düzeltebilirim?


4
Her zaman çözmek için önemsiz değil oldukça yaygın hata mesajı: electronics.stackexchange.com/…
jippie

12
Güzel başlık! Bu hatayı kendim de yaşadım ...
Doktor

6
Başlık için +1: D ... Bu ahbaptan senin kadar nefret ediyorum!
David Refoua

Arduino için sürücüyü (cp2102) yüklemeyi deneyin. Bu bana yardımcı oldu. Önceki cevaplar için teşekkürler ppl :-)

Bu Haziran 2018 sonrası bana (1 yanıt) için çözüldü: arduino.stackexchange.com/questions/51729/...
Michael Sims

Yanıtlar:


62

Bu, bilgisayarınız ile Arduino arasındaki genel bir bağlantı hatasından kaynaklanır ve birçok farklı özel sorundan kaynaklanabilir.

İşte bu hatayı sık sık düzeltebilecek bazı kolay şeyler:

  • USB kablosunu çıkarın ve tekrar takın.
  • Tahtadaki sıfırlama düğmesine basın.
  • Arduino IDE'yi yeniden başlatın.
  • Doğru kartı seçtiğinizden emin olun Tools ► Board ►, örneğin Duemilanove 328 kullanıyorsanız, Duemilanove 128 yerine bunu seçin. Kart, mikroçipte hangi versiyonda olduğunu söylemelidir.
  • Doğru bağlantı noktasını seçtiğinizden emin olun Tools ► Serial Port ►. Hangi bağlantı noktasında olduğunu bulmanın bir yolu, şu adımları izlemektir:
    1. USB kablosunu çıkarın.
    2. Git Tools ► Serial Port ►ve hangi bağlantı noktalarının listelendiğini gör (örn. COM4 COM5 COM14).
    3. USB kablosunu tekrar bağlayın.
    4. Geri dönün Tools ► Serial Port ►ve hangi portun daha önce bulunmadığını görün.
  • 0 ve 1 numaralı dijital pimlerin, kalkanlar dahil, bağlı hiçbir parçasının bulunmadığından emin olun.

Bunların hiçbiri işe yaramazsa, şeyleri değiştirerek sorunu izole etmeye çalışmak isteyeceksiniz: aynı arduino üzerinde farklı bir bilgisayar deneyin, aynı bilgisayarda farklı bir arduino deneyin ve farklı bir USB kablosu kullanmayı deneyin.

Sorun bilgisayarda ise:

  • Yukarıdaki "kolay düzeltmeler" listesinde bilgisayarla ilgili tüm sorunları iki kez kontrol edin.
  • IDE'yi yeniden yükleyin.
  • Sürücüleri yeniden yükleyin.

Sorun Arduino ile ise:

  • Kart ile ilgili tüm sorunları yukarıdaki "kolay düzeltmeler" listesinden tekrar kontrol edin.
  • Mikrodenetleyicinin doğru oturduğundan emin olun.
  • Bootloader'ı yakmanız gerekebilir .
  • Yakınınızda bir tane daha varsa, mikrodenetleyiciyi değiştirin.
  • Arduino'nuzu tuğla yapmış olabilirsiniz. Üzgünüm :(

3
Başka olası sebepler de var. ATmega’ya zarar vermiş olabilirsiniz, ATmega’daki önyükleyiciye zarar vermiş olabilirsiniz, güç sorunlarınız olabilir veya sayısız başka olasılıklar olabilir. Bu not in sync: resp=0x00gerçekten genel bir "ATmega cevap vermiyor" mesajıdır. ATmega'nın cevap vermemesine neden olabilecek herhangi bir şey buna neden olabilir.
Connor Wolf

Öyleyse hiç 0 veya 1'de hiçbir şey bulamaz mıyım?
Tim

2
@Tim Öğeleri bu pimlere bağlayabilirsiniz, ancak Arduino'nuzla USB kablosu aracılığıyla iletişim kurmak istiyorsanız bağlantılarını kesmeniz gerekir.
Şapkalı Adam

Bu hatayı yıllar önce ilk Duemillanove'imde gördüm. Ölü bir UART yongasıydı (ya da USB'den UART yongasına bağlandı). Çok sinir bozucu. Bir AVR programcısı aldım ve önyükleyiciyi yaktım. Önyükleyici önceden yüklenmiş olarak başka bir CPU satın aldı. Satıcı, Arduino meraklıları dünyasına katılabileceğim bir ikame gönderene kadar değildi (ve şimdi iki yedek işlemcim var).
linhartr22

"USB kablosunu çıkarın ve yeniden takın" benim için çalışıyor
Grace Shao

20

Başka bir düzeltme:

Değişim Tools->Processor->Atmega 328Piçin Atmega 328P (Old Bootloader). Bu Processorseçeneğin yalnızca adresinde belirli bir Pano seçtiğinizde kullanılabildiğini hatırlatın Tools>Board.

Bu benim Arduino Nano için CH340 ile çalıştı, Arduino IDE 1.8.5 altında Linux Ubuntu 17.10 kullandı. Ayrıca, IDE 1.8.9 veya daha yenisini kullanırsanız ve yaşlı veya klonlanmış bir Nano alırsanız bu muhtemelen olacaktır.


3
Çözüm buydu! Yeni önyükleyici iki kez baud hızı kullanır (57600 yerine 115200).
Suuuehgi

1
Cevabınız benim sorunumu çözdü. Teşekkür ederim!
Vladyslav Savchenko

12

Ne yazık ki, aynı zamanda mikrodenetleyicinizi yaktığınız anlamına da gelebilir. Yeni bir eskiz yüklemeye çalışmadan önce tehlikeli bir şey mi yapıyordun? Mikrodenetleyici daha önce yüklenmiş olan eskiziyle hala çalışıyor mu?


10

Yukarıdaki adımlardan hiçbiri işe yaramazsa, Avrdude ve avr-gcc derleyicisini yeniden yüklemeyi deneyin. Mega'm bundan acı çekmeye başladıktan sonra bunu yapmak zorunda kaldım.

Avrdude ve avr-gcc'yi ayrı olarak yüklediyseniz, bunları kaldırın. değilse, Arduino IDE'yi yeniden yüklemeniz gerekebilir. Bu adımlar işletim sisteminize bağlı olacaktır.


Sorunun, kullanılan alet zinciri nedeniyle ortaya çıkması pek olası değildir. Bu çok aşırı, IMO.
asheeshr


Bahsettiğiniz kurulum süreci nedir? Arduino editörü aracı sadece açıldı. Yükleme işlemi yok.
Connor Wolf

9

Ben de aynı mesajı aldım. Her seferinde doğru portu seçerek, yani Araçlar menüsündeki Portlar altından USB ile çözüldü. Bu basit bir adım ama her zaman unutuyorum. Mevcut programı durdurmak için Arduino'nun fişini çekeceğim, yeni programı yüklemek ve hatayı, panik, küfür ve sadece o zaman hatırlamak için bilgisayarıma tekrar takın.


1
Bunun en yaygın çözüm olduğunu düşünüyorum.
piliçler

9

Benim durumumda FTDI yongasının RTS pinini, Arduino Pro Mini'nin RST pinine giden bir kapasitöre bağlamamıştım. Bu bağlantıyı kurduğumda artık hatayı alamadım ve kod yükleyebildim.

Nick Gammon bunu forumunda açıklıyor . Kapasitörün nereye / nasıl yerleştirileceği ile ilgili bir resim ekledim. görüntü tanımını buraya girin


USB programcının güzel resmi için +1, doğrudan bir atmega çipine bağlanır.
Raddevus

Ayrıca tahta kartımda bazı kötü bağlantılar vardı, her şeyi çıkardım ve temel bir taslak yükledim ve işe yaradı. Şimdi kabloların doğru yerde olmadığına bakın
Seraf

5

Ben de aynı sorunu yaşadım. IDE'yi başka bir dizüstü bilgisayara kurmayı denedim ve programı o dizüstü bilgisayardan yükledim. Sorun çözüldü. Sonra dizüstü bilgisayarıma geri döndüm, IDE'yi kaldırdım ve yeniden kurdum .. çalışmaya başladı.

Ancak, tatmin olmadım çünkü sorunun kaynağını bulamadım ... bu yüzden her şeyi aynı şekilde tekrar denemeye çalıştım ... Sorunu buldum ama bunun gerçek nedeni olup olmadığından emin değilim .

Projemde arduino ve MATLAB (GUI) arasında seri iletişim kurmam gerekiyordu. MATLAB (GUI) seri verilerinin çıkışını (tipini) görmek / doğrulamak için HİPERTERMİNAL ve ayrıca SANAL SERİ PORT EMÜLATÖR'ü kullandım. Seri monitörümün üzerinde çalışırken hiperterminal veya VSPE çalışırken her zaman programın yükleme özelliğini bozduğunu fark ettim. VSPE veya HYPERTERMINAL yüzünden olup olmadığından emin değilim, ancak IDE'yi yeniden yüklemek benim için çalıştı.


2
Seri kontrol hatlarından biri, sanırım DTR, Arduino'yu sıfırlamak için kullanılıyor. Arduino'nuzu programlamaya çalıştığınızda terminal programınız karışıyor olabilir.
linhartr22

Bu benim için sadece tüm ayarları ve ekstra kütüphaneleri içeren Arduino Kütüphanesi klasörümü silerken de işe yaradı.
Jethro

3

Linux Nane kullanan kişiler için "Arduino" etiketli yerine "TTY SO" bağlantı noktasını seçerek çalışacağını gördüm (tam olarak söyleyemem çünkü şu anda önümde o bilgisayar yok çünkü) .

Sonra bir dahaki sefere Arduino kullandığımda yine aynı mesajı aldım, bu yüzden tekrar "Arduino" limanına döndüm ve o zamandan beri bu şekilde çalıştı.

Sizler kadar teknik olarak bilgili değilim, bu yüzden neden bunun ya da sorunun ne olduğu hakkında hiçbir fikrim yok, ama benim için tek umursadığım şey. Belki bu birisi için faydalı olacaktır.


3

IDE'yi ve sürücüleri vb. Kaldırdım, hepsini tekrar kurdum, Arduino IDE'yi yönetici olarak çalıştırdım ve uyumluluğu Windows 7 olarak çalıştıracağım (şu anda 10 kullanıyorum).

Programcıyı AVR ISS'ye de değiştirdim (bunun önemli olduğunu sanmıyorum, ancak yine de değiştirdim).

Hepsi tekrar çalışıyor ... umarım bu da başkalarına yardım edebilir


2

Alışılmadık bir durum ama mikrodenetleyicileri çok değiştirdim ve doğru oturduğumda bu hatayı aldım .. birkaç kez yakabildim ama sanırım geri çekildi - arkaya biraz itildi ATMega328’in tamir etti!


1

Arduino üzerindeki sokete kontrolörün yanlış yerleştirilme olasılığı da vardır. Bu, denetleyici için tehlikeli olabilir (zapped olabilir), ancak benim durumumda, yalnızca senkronizasyon hatası verdi ve kod yüklememi engelledi.

Bu nedenle, sadece IC üzerindeki çentiğin doğru yönde olup olmadığını kontrol edin (panodaki görüntülerle çevrimiçi olarak kontrol edebilirsiniz). Uno'nun kontrol ünitesindeki çentik kartın kenarına işaret etmelidir.


1

Ben de bu hatayı gördüm. Başlıklara lehimlendikten sonra yeni bir Arduino Nano tahtası kullanıyordu. Sadece Blink Sketch'i dinleyerek tahtaya hiçbir şey bağlı değildi.

GROUND ve RESET pinleri arasında çok az miktarda lehim buldum. Ben seçtim ve sonra yükleyebilirim.

Sanırım bir yerlerde aynı devrede kısa devre yaptıysanız, bu olabilir.


1

Yeni bir Mini Pro ile de aynı hatayı yaşadım. Çoğu Arduino ile önceden yüklenen varsayılan yanıp sönme programı çalıştığından, ünitenin muhtemelen iyi olduğunu biliyorum.

Bu yüzden sadece bir kez daha lehimleme yaptığım başlıkları inceledim ve TX0 pinlerinde yeterli lehim olmadığını buldum. Her eseri tekrar lehimlemeden sonra.


1

Çok fazla priz çıkardıktan sonra, portları kontrol ettikten, IDE'yi yeniden başlattıktan sonra, vb. Arduino Mega 2560 ile bu hatayı düzelterek bir fark yaratmış gibi görünen pencereyi Windows USB arduino sürücüsünü kaldırın ve sürücüyü buraya yeniden yükleyin ve listeden elle seçin> com portları> arduino http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows-7-64-bit.shtml olabilir uno'mda test ettikten sonra mega geri döndüm, bu yüzden uno ile konuşma şansı çok az.


1

Panolarıma yüklerken bir sorunla karşılaştığımda, blink örneği gibi farklı bir program yüklüyorum. Bu bir şeyi sıfırlıyor gibi görünüyor ve daha sonra kendi programımı yükleyebiliyorum (bu oldukça büyük).

Neden çalıştığını bilmeme rağmen, sizin durumunuzda işe yarayıp yaramadığını görmek buna değer olabilir.


hangi tahta ve bootloader?
Juraj

Arduino Nano, ATMega328P (3. parti değil). Donanım Versiyonu: 2, Firmware Versiyon: 1.16, cihazın imzası 0x1e950f oldu Bootloader'ı kontrol etmedim, ancak bunlar "geleneksel bootloader" olarak ilan edildi
Jethro

Bu yüzden cevabınız eski Nano bootloader için özeldir
Juraj

Teşekkürler! Ben bootloaders bakacağım ve yükseltmeye çalışacağım. Bu hata hakkında bilgin var mı?
Jethro

1

Uno tahtamla da benzer bir sorun yaşadım

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

Birçok yöntem denedim

  • Paketleri göndermeden önce sıfırlama tuşuna basın
  • farklı IDE sürümleri
  • Kabloyu değiştir
  • Denetleyicinin kendisini değiştir
  • Geri döngü testi

ancak yukarıdakilerin hepsi başarısız oldu.

Ubuntu 16.04.4 LTS kullanıyorum 4.15.0-33-generic(bu yorumu yazarken). CDC ACM modülü yüklenmedi, bu nedenle /dev/ttyACM0seçmek için hiçbir cihaz oluşturulmadıArduino IDE -> Tools -> Port

Bu nedenle, modül adını alın ve yükleyin

$ 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

Yukarıdaki komut gerekli modülü ekleyecektir. Şimdi doğru portu seçip kodu yükleyebiliyorum

Bunun benim için çalıştığı çeşitli çözümlerden, bunun da birine yardımcı olacağını umuyorum.


0

Kurulları güncelleyerek çözdüm ("pano yöneticisi" altında)


Arduino Nano'n var mı?
per1234,

0

Bugün aynı kod için aynı problemle karşılaştım ve aşağıdaki gibi çözdüm:

1- İlk önce basit bir LED yanıp sönen kod yazdım. Aynı hatayı verdi. Hatanın yüklenmekte olduğunu ve derleme ile ilgisi olmadığını doğrular. Ayrıca kodumun iyi derlendiğini kontrol ettim.

2-Başka bir tahta aldım, fakat bu bilgisayarda iyi çalışıyordu. Bu bilgisayar ve USB kablosu tamam demektir.

3- Arızalı kartı başka bir bilgisayara bağladım ve şaşırtıcı bir şekilde, yükleme sırasında böyle bir hata olmadı. Bu bana ilk bilgisayardaki sürücü sorunlarıyla ilgili ipucu verdi.

4- Bu yüzden gelen indirerek sürücü ve ilk PC'de yeniden yüklenmiş kaldırıldı burada

(sürücüyü bu bağlantıdan kurarken anakartınızı bilgisayara bağlı tuttuğunuzdan emin olun)

Şimdi iyi çalıştı :-)


0

Arduino Nano ile Linux Mint 17.3 dizüstü bilgisayarımda bu hatayı yaşadım avrdude: stk500_getsync (): senkronize değil: resp = 0x00

çözüldü:

  • adındaki 'arduino' veya 'avr' olanları kaldırdı
  • kaldırılan dizinler .arduino ve .arduino15 (addaki noktaya dikkat edin)
  • paketin kaldırılmasıyla 1.8.7 sürümünden kaldırıldı
  • apt-get install arduino (sürüm 1.1.0)
  • basit bir çizimle test edildi (her şey yolunda)
  • Paketin kurulumu ile birlikte 1.8.7 sürümünde yüklü
  • derlenmiş.
  • işlemci için ATmega328p (Eski önyükleyici), kart için Arduino Nano ve port için / dev / ttyUSB0 seçildi => BT İŞLER!

Görünüşe göre 'Eski bootloader' bu durumda bir püf noktasıydı. Şimdi her ikisi de 1.1.0, 1.8.7 ver, kimin umrunda.


Önce aguadopd'dan cevabı okumalısınız
Juraj
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.