Przekroczono limit czasu Arduino Mega z błędem programatora

10

Mam Arduino Mega 2560 i działało dobrze do czasu przerwy na lunch, kiedy zacząłem otrzymywać ten błąd:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

Wiem, że nie jest to kod, który uruchamiam, gdy próbowałem go załadować na Uno i wydawało się, że ładuje się bez problemu. Muszę jednak użyć Mega, ponieważ ma więcej portów.

Z tego, co przeczytałem, jest to potencjalnie problem z bootloaderem i prawdopodobnie jest związany z bieżącą wersją Arduino. Praktycznie nic nie wiem o bootloaderze; wszystko, co wiem, to to, że jest on używany do przesyłania kodu do Arduino (myślę ...), dlatego obawiam się, że po prostu będę nieświadomie bawić się z powiązanymi plikami.

Te strony to te, na które patrzyłem, ale tak jak powiedziałem, tak naprawdę nie wiem wystarczająco dużo, aby czuć się swobodnie po prostu grzebiąc z plikami.

Próbowałem całkowicie odinstalować Mega, a następnie ponownie go zainstalować. Pobrałem też starszą wersję Arduino (0022) i żadna z opcji nie działała.

Nie wiem, co robić ani jak zmienić pliki „AVR”, jeśli to konieczne.

bladepanthera
źródło
Ohhh nie zauważyłem tego postu. Próbowałem już wszystkiego oprócz wypalenia bootloadera ... czy istnieje prosty sposób na zrobienie tego bez konieczności kupowania oprogramowania?
bladepanthera
zazwyczaj wystarczy przejść do IDE, zajrzeć do menu narzędzi, wybrać „Burn Bootloader”. Najpierw upewnij się, że wybrano właściwą tablicę.
TheDoctor
@Doctor, widziałem tę opcję, ale nie mam pojęcia, co robić później. Zakładam, że muszę go ponownie załadować za pomocą nowego programu „bootloader”? Jedna strona ( learn.sparkfun.com/tutorials/installing-an-arduino-bootloader ) mówi, że muszę kupić sprzęt i pobrać określone oprogramowanie ... wszystko, aby zastąpić oprogramowanie w bootloaderze ?! Nie jestem pewien, czy rozumiem dlaczego.
bladepanthera
1
Możesz użyć Uno do przeprogramowania Mega. Spójrz w góręArduinoISP
microtherion

Odpowiedzi:

3

Program ładujący na arduino to tylko oprogramowanie napisane, aby umożliwić aktualizację szkiców za pomocą połączenia USB. Bez bootloadera nie można wgrywać szkiców za pomocą ideału arduino.

Więcej informacji na temat programu ładującego można znaleźć tutaj: http://arduino.cc/en/Guide/Environment?from=Tutorial.Bootloader Zajrzyj pod nagłówek zatytułowany przesyłanie, który wyjaśnia rolę, jaką odgrywa program ładujący w przesyłaniu szkiców.

Kiedy użyjesz przycisku „Burn Bootloader” w arduino ide, spróbuje napisać nową kopię bootloadera na dołączonej płycie Arduino. Aby to zrobić, płytkę należy przymocować w określony sposób - to znaczy - używając nagłówka icsp / isp zamiast kabla USB.

Teraz, aby bezpośrednio zaprogramować układ AVR, musisz użyć zewnętrznego (sprzętowego) programatora. Na szczęście nie musisz go kupować, jeśli masz drugie arduino, ponieważ drugie arduino może być używane jako programista. Instrukcje dotyczące tego można znaleźć tutaj: http://arduino.cc/en/Tutorial/ArduinoISP

Jeszcze więcej informacji o bootloaderze: http://arduino.cc/en/Hacking/Bootloader?from=Main.Bootloader

m3z
źródło
1

Ten sam błąd wystąpił, gdy mój port COM Arduino był zajęty innymi aplikacjami. Zamknąłem tę aplikację i przesłałem szkic Arduino, a błąd zniknął.

Weka
źródło
0

Niestety ten błąd odnosi się do wielu różnych problemów i jest tak wiele postów tutaj i na innych platformach, które nie mają jednoznacznej odpowiedzi. Może zespół Arduino powinien spróbować poprawić błędy w celu odróżnienia. Ale próbowałem odpowiedzieć na to samo pytanie tutaj w tym poście SO .

co rozwiązało mój problem, to przejdź do Narzędzia> Tablice> Menedżer tablicy ... wybierz „aktualizowalny” dla „Typ” w lewym górnym rogu, a następnie wybierz pakiety do aktualizacji poniżej i kliknij aktualizację.

Foad
źródło