Mam Arduino Duemilanove z ATmega328 . Pracuję na Ubuntu 12.04 (Precise Pangolin), a wersja Arduino IDE to 1.0. Niedawno próbowałem załadować do niego kilka przykładowych szkiców, takich jak Blink. Jednak żadna z moich prób nie działa i za każdym razem skutkuje tym samym błędem:
avrdude: stk500_recv (): programista nie odpowiada.
Włączyłem /dev/ttyUSB0
w menu Narzędzia → Port szeregowy . Z listy wybrałem również właściwą płytkę (Duemilanove z ATmega328). Jednak nie jestem w stanie rozwiązać tego problemu. Szukałem również w Internecie i żadna z innych odpowiedzi dotyczących tego problemu nie wydaje mi się skuteczna. Dlaczego napotykam ten problem i jak go rozwiązać?
Spróbowałem też przekręcić pokładową ATmegę i zamontować ją w innym kierunku. Teraz nie mam problemów z przesyłaniem, ale potem nic się nie dzieje. Wygląda na to, że wbudowana dioda LED również nie miga.
Odpowiedzi:
Miałem ten problem z Crowduino, uruchomionym Arduino IDE na OS X. Rozwiązaniem dla mnie było włączenie wyjścia w trybie verbose podczas przesyłania (w panelu preferencji Arduino IDE).
Następnie podczas przesyłania możesz zobaczyć, jak AVRDUDE wysyła trzy pakiety
avrdude: Send: 0 [30] [20]
(z odpowiednimi błyskami RX na płycie) tuż przedavrdude: ser_recv(): programmer is not responding
błędem.Sztuczka polega na wciśnięciu przycisku resetowania na tablicy bezpośrednio przed wysłaniem tych trzech pakietów. Następnie program zostanie pomyślnie przesłany.
źródło
Upewnij się, że na pinach Tx / Rx nie ma wejścia. Wtedy zadziała.
źródło
Miałem ten sam problem - dlatego znalazłem to pytanie.
Musiałem tylko zmienić procesor z „ATmego328P” na „ATmego328P (stary program ładujący)”
Problem rozwiązany - przynajmniej dla mnie.
źródło
Wśród dobrych pomysłów jest tu mowa o voodoo. Spróbujmy być bardziej realistyczni w kwestii tego, co się dzieje i podsumujmy dobre rzeczy do sprawdzenia:
Zasadniczo, gdy tak się stanie, dobrym pomysłem jest włączenie trybu pełnego dla AVRDUDE , aby uzyskać lepszy obraz tego, co się dzieje. Aby to zrobić, wystarczy przejść do preferencji i zaznaczyć pole trybu pełnego. Dobrym pomysłem jest również odejście od Arduino IDE i uruchomienie konsoli, aby wygodniej było odczytać wyjście AVRDUDE, które otrzymasz po kliknięciu
upload
przycisku.Ważne jest tutaj wstawienie 3 lub 4
-v
do wywołania polecenia. Oto jak wyglądają takie polecenia AVRDUDE, z utworzonymi parametrami, ponieważ są one całkowicie zależne od sposobu zainstalowania Arduino:Dobrym sposobem na uzyskanie prawidłowego wiersza poleceń do użycia jest skopiowanie go z pełnego wyjścia dziennika wyjściowego Arduino IDE, gdy włączona jest szczegółowość.
Kiedy otrzymasz
avrdude: stk500_recv(): programmer is not responding
, oznacza to w zasadzie, że dzieje się coś złego, zanim flashowanie się zacznie.Zasadniczo musisz sprawdzić (od sprzętu po oprogramowanie, poziom niski do wysokiego):
Rx
iTx
(zwykle piny1
i0
);1
i0
Arduino nie są używane przez jakąś tarczę lub niestandardowy projekt (/!\
nie dotyczy Leonardo, ponieważ ma niezależną obsługę USB);FTDI
na starszym Duemilanove lub ATmega16U2 na nowszym Arduino Unos);Zwykle
avrdude -v -v -v -v
może bardzo pomóc w ustaleniu, na jakim etapie zawodzi. Niezależnie od tego, czy w ogóle nie może nawiązać połączenia USB (awaria kabla, USB / UART, PCB…), czy jest to problem z bootloaderem.Obawiam się, że jeśli odwrócisz położenie ATmega, a potem nie działa, to fakt, że umieściłeś źródło zasilania na pinach cyfrowych, mógł spalić twój chip.
źródło
avrdude: no programmer has been specified on the command line or the config file Specify a programmer using the -c option and try again
avrdude -v -v -v -v -C/etc/avrdude.conf -patmega328 -carduino -P/dev/ttyACM0 -U flash:w:~/Arduino/WebServer/WebServer.ino.standard.hex
Spróbuj sprawdzić, czy Twoja tablica została wybrana poprawnie. Kliknij menu Narzędzia -> Tablica i sprawdź, czy wybrano właściwą tablicę.
źródło
Możesz sprawdzić, czy masz jakieś przewody połączeniowe podłączone do pinów 0 i 1. Te piny są używane do komunikacji szeregowej, a podłączone przewody mogą uniemożliwić załadowanie kodu na płytkę.
Jeśli nic nie jest podłączone, może to być błąd w AVRDUDE , możesz spróbować go zaktualizować.
źródło
avrdude
jest również aktualizowana i jest najnowszą wersją.Serial.println()
przykładzie, aby sprawdzić, czy to nie tylkoled 13
.Spotkałem również ten problem i rozwiązałem go, ponownie instalując sterownik szeregowy USB. Pls zobacz także: http://arduino.cc/en/Guide/Howto i http://www.ftdichip.com/Drivers/VCP.htm
źródło
Powyższy błąd występuje w 3 etapach
źródło
Rozwiązałem problem w systemie OS X 10.10 (Yosemite), postępując zgodnie z poniższymi instrukcjami:
Układ FTDI i OS X 10.10
Jednak sztuczka zaproponowana przez hoipolloi była działającym tymczasowym obejściem, również w tej wersji.
źródło
Miałem ten sam problem podczas pierwszej próby Arduino Uno.
Moje rozwiązanie było dość proste. Po prostu odłącz, a następnie podłącz kabel USB.
źródło
W systemie Windows 7 miałem ten problem wiele razy, za każdym razem z różnymi komunikatami o błędach. Zasadniczo IDE wysyła do niewłaściwego portu.
Aby to naprawić, po prostu przejdź do menu Narzędzia → Porty → [wybierz port COM, na którym znajduje się twoja płyta].
Upewnij się, że dokładnie sprawdziłeś port swojej płyty:
Uruchom Menedżera urządzeń
Upewnij się, że sterownik Arduino jest wymieniony pod portem odpowiadającym ustawieniom portu IDE (wspomnianym powyżej)
Moja płyta jest wymieniona pod portem
COM1
. Jeśli chcesz, możesz po prostu zmienić port w zaawansowanych ustawieniach sterownika:źródło
Mam ten problem również na moim Arduino działającym na Macu. Dzieje się tak na dwóch moich Arduino (A Arduino Uno i Arduino Pro połączone z FTDI).
W przypadku Uno podłączam kabel do komputera i wciskam przycisk wysyłania, a następnie zaczynam liczyć, aż dioda „TX” zacznie migać. Następnie powtórz przesyłanie, ale tuż przed miganiem diody TX, naciśnij przycisk resetowania i przesyłanie powiedzie się.
Później ustaliłem, że zmiana kabla USB rozwiązała ten problem.
źródło
Publikuję to, ponieważ nie znalazłem tej odpowiedzi gdzie indziej. Wszystkie moje klony Arduino nano chińskie (CH340) miały ten problem po aktualizacji do Arduino IDE do wersji 1.8.9. To, co zadziałało dla mnie, to użycie zapasowego oficjalnego Arduino Uno, który muszę wypalić bootloader na wadliwych nanosach, używając nagłówków ICSP w nano. W tym celu wszystko, co zrobiłem, to postępować zgodnie z instrukcjami tutaj: chiński-klon-arduino-nano-z-chipem-ch340g-jak to naprawić . JEDYNĄ rzeczą, którą zrobiłem inaczej, było zawsze ustawianie opcji „Old Bootloader”, jak powiedziałem wcześniej w tym wątku. Poza tym całkowicie postępowałem zgodnie z instrukcją na tym łączu i uratowałem moje nanos przed tym irytującym problemem. Mam nadzieję, że to komuś pomoże.
źródło
Najpierw upewnij się, że / dev / ttyUSB0 działa. Np. Podłącz mysz i sprawdź, czy działa. Po drugie, spróbuj wybrać inną tablicę. Często zdarza się, że nieoryginalne tablice nie są poprawnie rozpoznawane pod ich nazwami. Po trzecie, spróbuj ręcznie nacisnąć przycisk resetowania podczas przesyłania szkicu. Prawdopodobnie automatyczny reset jest uszkodzony.
źródło
Rozwiązałem problem w moim przypadku, pobierając i instalując stare sterowniki FDTM stąd .
Spróbuj zainstalować
FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg
, a następnie uruchom ponownie Arduino.źródło
Pomyślałem, że zwróciłbym uwagę, że moja nowa płyta Arduino Uno Rev3 używa następującego sterownika LInux:
Jest to znane jako
CONFIG_USB_ACM:
opcja : w najnowszym jądrze LInux 3.x.To urządzenie pojawia się wtedy jako:
/dev/ttyACM0
lub podobne.źródło
Czy masz coś podłączonego do
RESET
pinu w Arduino?Napotkałem ten problem z graficznym wyświetlaczem LCD, który wymagał połączenia z
RESET
pinem. Odłączenie przewodu połączeniowego między wyświetlaczem LCD aRESET
pinem podczas wgrywania kodu naprawiło to za mnie, wszystko, co musisz zrobić, to ponownie połączyć się po zakończeniu przesyłania kodu.źródło
Znalazłem przyczynę tego ...
Zmiana portu szeregowego na /dev/tty.usbmodem2131 naprawiła to. Okazuje się, że cały czas korzystałem z niewłaściwego portu szeregowego!
źródło
Możesz spróbować:
serial.debug_rate=9600
źródło
To połączenie powyższych odpowiedzi rozwiązało problem:
wykonał aktualizację Java:
sudo apt-get install default-jdk
następnie zabił Arduino IDE i zrestartował go
pokazała się moja prawidłowa płyta (Arduino Mega 2560, gdzie przed Mega 1280 była tylko opcja)
dla kierowców zrobiłem to:
sudo chmod a+rw /dev/serial/by-id/usb-Arduino__www.arduino.cc__(a bunch of numbers)
Następnie moje Arduino IDE pojawia się
/dev/ttyACM0
w menu narzędzi / portu szeregowego.Teraz wszystko działa świetnie!
źródło
Oto rozwiązanie, które działało u mnie na MacBooku Pro (stacjonarnym).
Otrzymałem ten sam błąd i okazuje się, że to dlatego, że miałem USB podłączone do urządzenia peryferyjnego (mojego monitora), a nie USB na samym komputerze. Od razu zatrzymał wszelkie błędy i jest prostym rozwiązaniem.
źródło
Dzięki @hoipolloi za właściwy kierunek w znalezieniu rozwiązania.
W każdym razie musiałem zrobić trochę inne kroki, aby rozwiązać problem.
W moim przypadku Arduino Uno działało dobrze, ale nagle przestało działać po kilku zabawach ze szkicami.
stk500_recv(): programmer is not responding
Cały czas otrzymywałem i nic nie działało. Następnie zwróciłem uwagę, że dioda 13 na mojej płycie zawsze się świeci. Wyglądało na to, że po tablicy w kółko biegał jakiś zapętlony szkic, który blokował jakiekolwiek wejście do tablicy. Nie jestem pewien, to tylko moje przypuszczenia.Próbowałem kliknąć RESET we wszystkich możliwych momentach bez powodzenia i nagle spróbowałem wykonać następujące czynności:
Po tym zauważyłem, że na pokładzie 13 diod LED zgasło na sekundę, a potem włączyło się ponownie. Wyglądało na to, że podczas resetowania płyty było krótkie okno resetowania. Następnie, podobnie jak w rozwiązaniu @ hoipolloi, złapałem moment "resetowania" tuż przed wysłaniem trzech pakietów i to zadziałało.
Mam nadzieję, że pomoże ci to rozwiązać problem, jeśli żadne inne rozwiązanie nie zadziała.
WSKAZÓWKA . Jeśli nie widzisz tych trzech
Send: 0 [30] [20]
linii podczas przesyłania szkicu do konsoli, wykonaj następujące czynności:Spójrz na okno dziennika. Będziesz mógł znaleźć taką linię:
Wygląda na to, że połyka symbole końca linii lub spacji, jak tutaj
-CE:\Program Files...
. Tak powinno być-C E:\Program Files
. Skopiuj to jak do Notatnika, dodaj brakujące spacje, aby wiersz wyglądał tak:Dodaj 4
-v
instrukcje, tak jak powyżej.Teraz dzięki 4
-v
argumentom zobaczysz znacznie więcej informacji . Początkowo Arduino Studio używa tylko jednego.źródło
Czy zainstalowałeś / zaktualizowałeś sterownik kabla FTDI? (Krok trzeci na http://arduino.cc/en/Guide/Howto ). Uruchomienie Arduino IDE z mojego Raspberry Pi działało dobrze bez jawnej instalacji sterowników (albo były one wstępnie zainstalowane, albo instalator Arduino IDE się tym zajął). Na moim Macu tak nie było i oprócz IDE musiałem zainstalować sterowniki kabli.
źródło
Właśnie spędziłem kilka ostatnich godzin nad tym samym problemem ... Po prostu przejdź tutaj " http://www.ftdichip.com/Drivers/VCP.htm ", pobierz najnowsze sterowniki i uruchom ponownie. Po tym powinno działać dobrze. Ściągnąłem też co wieczór oprogramowanie Arduino, ale nie robię różnicy.
źródło
Spróbuj załadować program bez -b (opcja szybkości transmisji). W ~ / .arduino15 / preferences.txt ustaw build.verbose = true, gdy arduino.cc nie jest uruchomiony. W szczegółowym wyjściu znajdziesz plik hex, który powinieneś załadować z konsoli:
Po prostu wymieniam chip 128 na wersję 328 iz Decimile nazwa mojej płyty została zmieniona na Uno lub Ethernet z powodu nowej szybkości transmisji 115200.
źródło
Jeśli łączysz Arduino przez koncentrator USB, spróbuj podłączyć go bezpośrednio do jednego z portów USB na komputerze Mac.
To zadziałało dla mnie.
źródło
W moim przypadku problem pojawił się, gdy próbowałem zrobić jakieś „dziwne” wyrażenia arytmetyczne
np. (3,14 / 4) / 5 lub 3,15% 2,55
Sugerowałbym więc sprawdzenie wszystkich wyrażeń arytmetycznych na wypadek, gdyby niektóre z nich nie mogły zostać obliczone przez Arduino.
Mam nadzieję, że to pomoże.
źródło
W moim przypadku (Mini Pro) rozwiązanie było tak proste, że nie wiem, jak to przegapiłem. Potrzebowałem skrzyżować przewody rx / tx.
Rozwiązanie:
źródło
W moim przypadku była to zła szybkość transmisji. Nazywa to polecenie:
Jak widać, prędkość transmisji jest ustawiona na 57600. Po usunięciu tego argumentu (-b57600) i uruchomieniu go w wierszu poleceń, działa dobrze.
źródło
Mój problem polegał na tym, że zaktualizowałem Arduino IDE do nowej wersji i nie podłączyłem ponownie przewodu. Wygląda na to, że to był problem
Po prostu odłącz kabel i podłącz ponownie. Dzięki.
źródło