“ avrdude: stk500_getsync (): not in sync: resp = 0x00, ” alias Ktoś zwany Avr Wygrał ' t Pozwól mi przesłać mój program

Niedawno stworzyłem niesamowity program i chciałem załadować go do mojego Arduino. Po kliknięciu przycisku przesyłania pojawił się jakiś wredny gość o imieniu avr i zatrzymał mnie, mówiąc:

avrdude: stk500_getsync (): not in sync: resp = 0x00

Chcę tylko przesłać swój program, ale avr mi na to nie pozwala. niezrozumiałe, więc czy ktoś może mi powiedzieć, co u licha próbuje powiedzieć i jak się go pozbyć?


czyli:

Ilekroć próbuję załadować program do mojego Arduino, otrzymuję ten komunikat o błędzie:

avrdude: stk500_getsync (): not in sync: resp = 0x00

Co to oznacza i jak mogę to naprawić?

Komentarze

  • Dość częsty komunikat o błędzie , nie zawsze łatwe do rozwiązania: electronics.stackexchange.com/…
  • Ładny tytuł ! ' sam miałem ten błąd …
  • +1 dla tytułu: D … Naprawdę nienawidzę tego gościa tak samo jak zrobiłeś!
  • Spróbuj zainstalować sterownik (cp2102) dla arduino. To mi pomogło. Dziękuję za poprzednie odpowiedzi ppl 🙂
  • Ten post z czerwca 2018 roku rozwiązał to za mnie (pierwsza odpowiedź): arduino.stackexchange.com/questions/51729 / …

Odpowiedź

To jest spowodowane ogólnym błędem połączenia między komputerem a Arduino i może wynikać z wielu różnych konkretnych problemów.

Oto kilka prostych rzeczy, które często mogą naprawić ten błąd:

  • Odłącz i ponownie podłącz kabel USB.
  • Naciśnij przycisk resetowania na płycie.
  • Zrestartuj Arduino IDE.
  • Upewnij się, że wybrałeś właściwą kartę w Tools ► Board ►, np Jeśli używasz Duemilanove 328, wybierz to zamiast Duemilanove 128. Płytka powinna powiedzieć, jaka jest wersja na mikroczipie.
  • Upewnij się, że wybrałeś właściwy port w Tools ► Serial Port ►. Jednym ze sposobów sprawdzenia, który port jest włączony, jest wykonanie następujących czynności:
    1. Odłącz kabel USB.
    2. Przejdź do Tools ► Serial Port ► i zobacz które porty są wymienione (np. COM4 COM5 COM14).
    3. Podłącz ponownie kabel USB.
    4. Wróć do Tools ► Serial Port ► i zobacz, który port wyglądało na to, że wcześniej go tam nie było.
  • Upewnij się, że styki cyfrowe 0 i 1 nie mają podłączonych żadnych części, w tym żadnych osłon.

Jeśli żadna z tych opcji nie zadziała, spróbuj wyodrębnić problem, zastępując rzeczy: wypróbuj inny komputer na tym samym arduino, wypróbuj inne arduino na tym samym komputerze i spróbuj użyć innego kabla USB.

Jeśli problem dotyczy komputera:

  • Sprawdź dokładnie wszystkie problemy związane z komputerem na powyższej liście „łatwych poprawek”.
  • Zainstaluj ponownie środowisko IDE.
  • Zainstaluj ponownie sterowniki.

Jeśli problem dotyczy Arduino:

  • Sprawdź dokładnie wszystkie problemy związane z płytą w listę „łatwych rozwiązań” powyżej.
  • Upewnij się, że mikrokontroler jest prawidłowo osadzony.
  • Może być konieczne wypalenie bootloadera .
  • Wymień mikrokontroler, jeśli masz inny pod ręką.
  • Możliwe, że Twoje Arduino zostało uszkodzone. Przepraszamy 🙁

Komentarze

  • Istnieją inne możliwe przyczyny. Mogłeś uszkodzić ATmega, mogłeś uszkodzić bootloader ATmega, możesz mieć problemy z zasilaniem lub mnóstwo innych możliwości. not in sync: resp=0x00 to tak naprawdę typowy ” ATmega nie odpowiada ” wiadomość. Wszystko, co mogłoby spowodować brak odpowiedzi ATmega, może to spowodować.
  • Czy nie mogę mieć niczego w 0 lub 1 kiedykolwiek?
  • @Tim Możesz podłączyć rzeczy do tych pinów, ale musisz je odłączyć, jeśli chcesz komunikować się z Arduino za pomocą kabla USB.
  • Otrzymałem ten błąd na moim pierwszym Duemillanove lata temu. był martwy układ UART (lub połączenie z USB do układu UART). Bardzo frustrujące. Kupiłem programator AVR i spaliłem bootloader. Kupiłem inny procesor z wstępnie załadowanym bootloaderem. Nie ' t sprzedawca wysłał zamiennik, że mogłem dołączyć do wor ld miłośników Arduino (mam teraz dwa zapasowe procesory).
  • ” Odłącz i ponownie podłącz kabel USB ” mi pasuje

Odpowiedź

Kolejna poprawka:

Zmień do Atmega 328P (Old Bootloader). Przypomnij, że opcja Processor jest dostępna tylko po wybraniu określonych tablic w Tools>Board.

To zadziałało dla mojego Arduino Nano z CH340, używając Arduino IDE 1.8.5 pod Linux Ubuntu 17.10. Poza tym prawdopodobnie tak się stanie, jeśli używasz IDE 1.8.9 lub nowszego i otrzymasz stare lub sklonowane Nano.

Komentarze

  • To była rozwiązanie! Nowy program ładujący używa dwukrotnie większej szybkości transmisji (115200 zamiast 57600).

Odpowiedź

Niestety może oznacza również, że spaliłeś mikrokontroler. Czy robiłeś coś niebezpiecznego tuż przed przesłaniem nowego szkicu? Czy mikrokontroler nadal działa z wcześniej załadowanym szkicem?

Odpowiedź

Jeśli żaden z powyższych kroków nie działa, spróbuj ponownie zainstalować Avrdude i kompilator avr-gcc. Musiałem to zrobić po tym, jak mój Mega zaczął cierpieć z tego powodu.

Jeśli zainstalowałeś Avrdude i avr-gcc osobno, po prostu je odinstaluj. jeśli nie, może być konieczna ponowna instalacja Arduino IDE. Te kroki będą zależeć od systemu operacyjnego.

Komentarze

  • Jest bardzo mało prawdopodobne, że problem może być spowodowany użyciem łańcucha narzędzi. To zbyt ekstremalne, IMO.
  • Na czym polega ten proces instalacji, o którym mówisz? Narzędzie edytora arduino zostało właśnie rozpakowane. Nie ma procesu instalacji.

Odpowiedź

Otrzymałem tę samą wiadomość. Za każdym razem rozwiązany przez wybranie odpowiedniego portu, np. USB w menu Narzędzia, a następnie Porty. To prosty krok, ale zawsze zapominam. Odłączę Arduino, aby zatrzymać bieżący program, podłączę go ponownie do komputera, aby załadować nowy program i uzyskać błąd, panika, przekleństwo i dopiero wtedy pamiętaj.

Odpowiedź

W moim przypadku nie podłączyłem RTS pin układu FTDI do kondensatora, który trafił do pinu RST Arduino Pro Mini. Po zainstalowaniu tego połączenia nie dostałem już błędu i udało mi się załadować kod.

Nick Gammon wyjaśnia to na jego forum . Dodałem obrazek, gdzie / jak należy umieścić kondensator. tutaj wprowadź opis obrazu

Komentarze

  • +1 za ładne zdjęcie podłączania programatora USB bezpośrednio do układu atmega.
  • Miałem też złe połączenia na płycie, odłączyłem wszystko i wgrałem podstawowy szkic i zadziałało . Teraz pomyśl, który kabel nie jest we właściwym miejscu

Odpowiedź

Miałem dokładnie ten sam problem. Próbowałem zainstalować IDE na innym laptopie i wgrałem program z tego laptopa. Problem rozwiązany. Potem wróciłem do laptopa, odinstalowałem IDE i przeinstalowałem… zaczęło działać.

Jednak nie byłem usatysfakcjonowany, ponieważ nie mogłem znaleźć źródła problemu … więc spróbowałem uruchomić wszystko ponownie dokładnie w ten sam sposób … Znalazłem problem, ale nie jestem pewien, czy to może być rzeczywistą tego przyczyną.

W moim projekcie potrzebowałem przeprowadzić komunikację szeregową między arduino a MATLABEM (GUI). Aby zobaczyć / zweryfikować wyjście (typ) danych szeregowych MATLAB (GUI), użyłem HIPERTERMINAL a także VIRTUAL SERIAL PORT EMULATOR. Zauważyłem, że za każdym razem, gdy działa hyperterminal lub VSPE, podczas gdy mój monitor szeregowy jest włączony, psuje funkcję ładowania programu. Nie jestem pewien, czy to z powodu VSPE czy HYPERTERMINAL, ale ponowna instalacja IDE zadziałała.

Komentarze

  • Jeden z Linie sterowania szeregowego, myślę, że to DTR, służą do resetowania Arduino. Kiedy próbujesz zaprogramować Arduino, twój program terminala może przeszkadzać.
  • To zadziałało tylko wtedy, gdy usunąłem również mój folder Arduino Library, który zawiera wszystkie ustawienia i dodatkowe biblioteki.

Odpowiedź

Dla osób używających Linux Mint stwierdziłem, że wybierając port „TTY SO” zamiast portu oznaczonego „Arduino” zadziała (nie mogę powiedzieć dokładnie, ponieważ nie mam teraz komputera przede mną).

Potem następnym razem, gdy użyłem Arduino, ponownie otrzymałem tę samą wiadomość, więc przełączyłem się z powrotem na port „Arduino” i od tamtej pory działa w ten sposób.

Nie mam takiej wiedzy technicznej jak reszta z was, więc nie mam pojęcia, dlaczego to działa ani w czym był problem, ale zadziałało, na czym mi zależy. Może to się komuś przyda.

Odpowiedź

Odinstalowałem IDE i sterowniki itp., Zainstalowałem wszystko ponownie, a potem uruchomiłem Arduino IDE jako administrator i ustawiłem na kompatybilność z Windows 7 (obecnie używam 10).

Zmieniłem także programator na AVR ISP (nie sądzę, żeby to miało znaczenie, ale ja i tak to zmienił).

Wszystko znów działa … miejmy nadzieję, że może to pomóc komuś innemu.

Odpowiedź

Nietypowe, ale często wymieniałem mikrokontrolery i otrzymałem ten błąd, gdy go nie było ” t prawidłowo siedział … udało mi się kilka razy spalić, ale wydaje mi się, że wypadł z powrotem – małe naciśnięcie z tyłu ATMega328 naprawiło to!

Odpowiedź

Istnieje również możliwość niewłaściwego umieszczenia samego kontrolera w gnieździe Arduino. Może to być niebezpieczne dla kontrolera (który może zostać zablokowany), ale w moim przypadku spowodował tylko błąd braku synchronizacji, uniemożliwiając mi przesłanie kodu.

Więc po prostu sprawdź, czy wycięcie na IC jest we właściwym kierunku (możesz sprawdzić zdjęcia tablicy online). Wycięcie na kontrolerze Uno powinno wskazywać na krawędź płytki.

Odpowiedź

Również ten błąd wystąpił. Po raz pierwszy użyłem nowej płyty Arduino Nano po przylutowaniu na nagłówkach. Po zawiązaniu Blink Sketch nic nie było podłączone do płytki.

Znalazłem niewielki brak lutu między GROUND i RESET Piny. Wybrałem to, a następnie mogłem przesłać ok.

Przypuszczam, że mogłoby się to zdarzyć, gdybyś miał gdzieś takie samo zwarcie w obwodzie.

Odpowiedź

Po prostu wystąpił ten sam błąd z zupełnie nowym Mini Pro. Ponieważ domyślny program migania, który był fabrycznie załadowany z większością Arduino, działa, wiem, że urządzenie jest prawdopodobnie w porządku.

Więc sprawdziłem nagłówki, które właśnie przylutowałem jeszcze raz i stwierdziłem, że na pinach TX0 nie ma wystarczającej ilości lutu. Po ponownym lutowaniu wszystkich prac.

Odpowiedź

Po wielu odłączeniach, sprawdzaniu portów, ponownym uruchomieniu IDE itp. Czynnikiem, który wydawał się mieć znaczenie w naprawieniu tego błędu w Arduino Mega 2560, było odinstalowanie sterownika USB arduino dla systemu Windows, a następnie ponowne zainstalowanie go przy użyciu sterownika tutaj & wybierz ręcznie z listy> porty com > arduino http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows-7-64-bit.shtml Mogłem przetestować to na moim uno, a potem wrócić do mega, więc jest mała szansa na rozmowę do uno sprawiło, że AVRDUDE była szczęśliwa, ale mało prawdopodobna.

Odpowiedź

Kiedy mam problem z przesyłaniem danych na moje tablice, przesyłam inny program, jak w przykładzie z miganiem. Wydaje się, że coś zresetowało i jestem w stanie załadować własny program (który jest dość duży).

Warto spróbować tego, aby sprawdzić, czy zadziała w Twoim przypadku, chociaż nie mam pojęcia, dlaczego to działa.

Komentarze

  • jaka płyta i jaki program ładujący?
  • Arduino Nano, ATMega328P (nie innej firmy). Wersja sprzętu: 2, Wersja oprogramowania układowego: 1.16, sygnatura urządzenia to 0x1e950f Nie sprawdzałem programu ładującego, ale są one reklamowane jako ” tradycyjny program ładujący ”
  • więc twoja odpowiedź jest specyficzna dla starego bootloadera Nano
  • Dzięki! Przyjrzę się bootloaderom i spróbuję je zaktualizować. Czy masz jakieś informacje na temat tego błędu?

Odpowiedź

Miałem podobny problem z moją tablicą Uno

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

Wypróbowałem wiele metod

  • Naciśnij reset przed wysłaniem pakietów
  • różne wersje IDE
  • Zmień kabel
  • Zmień sam kontroler
  • Test pętli zwrotnej

ale wszystkie powyższe zawiodły.

I użyj Ubuntu 16.04.4 LTS 4.15.0-33-generic (podczas pisania tego komentarza). Moduł CDC ACM nie został załadowany, dlatego żadne urządzenie /dev/ttyACM0 nie zostało utworzone do wybrania w Arduino IDE -> Tools -> Port

W związku z tym Get nazwę modułu i załaduj go

$ 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 

Powyższe polecenie wstawi wymagany moduł. Teraz mogę wybrać właściwy port i przesłać kod.

Spośród różnych rozwiązań, które mi pomogły, mam nadzieję, że to też komuś pomoże.

Odpowiedź

Rozwiązałem to, aktualizując tablice (w sekcji „zarządca tablicy”)

Komentarze

  • Czy masz Arduino Nano?

Odpowiedź

Napotkałem dziś ten sam problem dla jakiegoś kodu i rozwiązałem wygląda to następująco:

1- Najpierw uruchomiłem podstawowy kod migania diod LED. Dał ten sam błąd. Potwierdza, że błąd jest w przesyłaniu i nie ma nic wspólnego z kompilacją. Sprawdziłem również, że mój kod jest kompilacja dobrze.

2 – Wziąłem inną płytę, ale działała dobrze na tym komputerze. Oznacza to, że komputer i przewód USB są w porządku.

3 – Podłączyłem wadliwą płytę na inny komputer i, co zaskakujące, nie było takiego błędu podczas przesyłania, co dało mi wskazówkę co do problemów ze sterownikiem na pierwszym komputerze.

4- Dlatego odinstalowałem sterownik i ponownie zainstalowałem go na pierwszym komputerze, pobierając z tutaj

(upewnij się, że instalując sterownik z tego linku, Twoja płyta główna jest podłączona do komputera)

Teraz działało dobrze 🙂

Odpowiedź

Wystąpił ten błąd na moim laptopie Linux Mint 17.3 z Arduino Nano avrdude: stk500_getsync (): niezsynchronizowany: resp = 0x00

Rozwiązany:

  • usunął wszystko, co miało w nazwie „arduino” lub „avr”
  • usunął katalogi .arduino i .arduino15 (zwróć uwagę na kropkę w nazwie)
  • usunięta wersja 1.8.7 z odinstalowaniem pakietu
  • apt-get install arduino (wersja 1.1.0)
  • przetestowana za pomocą prostego szkicu (wszystko w porządku)
  • zainstalowana wersja 1.8.7 z instalacją pakietu
  • skompilowana.
  • wybrany ATmega328p (stary bootloader) dla procesora, Arduino Nano dla karty i / dev / ttyUSB0 dla portu => TO DZIAŁA!

Wygląda na to, że „Stary program ładujący” była sztuczka w tym przypadku. Mam teraz obie wersje 1.1.0 i 1.8.7, kogo to obchodzi.

Komentarze

  • najpierw przeczytaj odpowiedź od aguadopd

Odpowiedź

Próbowałem nie łączyć uziemienia jednej płyty z uziemieniem drugiej płyty. To zatrzymało problem.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *