Comunicação do Arduino Mega timeout com erro do programador

10

Eu tenho um Arduino Mega 2560 e estava funcionando bem até a hora do almoço quando comecei a receber este erro:

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

Eu sei que não é o código que estou executando, pois tentei carregá-lo em um Uno e ele parecia carregar sem problemas. Eu preciso usar o Mega, pois tem mais portas, no entanto.

Pelo que li, isso é potencialmente um problema com o carregador de inicialização e possivelmente está relacionado à versão atual do Arduino. Não sei praticamente nada sobre o gerenciador de inicialização; tudo o que sei é que ele é usado para fazer upload de código para o Arduino (eu acho ...), portanto, tenho medo de mexer nos arquivos relacionados sem saber.

Essas páginas são as que eu tenho visto, mas, como eu disse, eu realmente não sei o suficiente para me sentir confortável apenas brincando com os arquivos.

Tentei desinstalar meu Mega totalmente e depois reinstalá-lo. Também baixei uma versão mais antiga do Arduino (0022) e nenhuma opção parecia funcionar.

Não sei o que fazer ou como alterar os arquivos 'AVR', se necessário.

bladepanthera
fonte
Ohhh, eu não notei esse post. Eu tentei de tudo, exceto gravar o gerenciador de inicialização ... existe uma maneira simples de fazer isso sem ter que comprar software?
precisa saber é o seguinte
Normalmente, basta ir ao IDE, procurar no menu Ferramentas, selecionar "Burn Bootloader". Certifique-se de selecionar a placa certa primeiro.
precisa
@ TheDoctor, já vi essa opção, mas não tenho idéia do que fazer depois. Presumo que tenho que carregá-lo novamente com um novo programa "bootloader"? Um site ( learn.sparkfun.com/tutorials/installing-an-arduino-bootloader ) diz que preciso comprar hardware e baixar software específico ... tudo para substituir o software no carregador de inicialização ?! Não sei se entendi o porquê.
bladepanthera
1
Você pode usar o Uno para reprogramar o Mega. Procure acimaArduinoISP
microtherion 22/03

Respostas:

3

O gerenciador de inicialização em um arduino é apenas um software escrito para permitir que você atualize seus esboços usando a conexão USB. Sem o gerenciador de inicialização, você não pode enviar esboços usando apenas o ide do arduino.

Mais informações sobre o carregador de inicialização podem ser encontradas aqui: http://arduino.cc/en/Guide/Environment?from=Tutorial.Bootloader Consulte o cabeçalho intitulado uploading, que explica a parte que o bootloader desempenha no upload de esboços.

Quando você usa o botão "Burn Bootloader" no ide do arduino, ele tenta gravar uma nova cópia do bootloader na placa do Arduino conectada. Para fazer isso, a placa deve ser conectada de uma maneira específica - ou seja - usando o cabeçalho icsp / isp em vez do cabo usb.

Agora, para programar o chip avr diretamente, é necessário usar um programador externo (hardware). Felizmente, você não precisa comprar um se tiver um segundo arduino, porque o segundo arduino pode ser usado como programador. Instruções para fazer isso podem ser encontradas aqui: http://arduino.cc/en/Tutorial/ArduinoISP

Ainda mais informações sobre o carregador de inicialização: http://arduino.cc/en/Hacking/Bootloader?from=Main.Bootloader

m3z
fonte
1

Eu recebi esse mesmo erro quando minha porta do Arduino COM estava ocupada com outros aplicativos. Fechei o aplicativo e enviei o esboço do Arduino e o erro desapareceu.

Weka
fonte
0

Infelizmente, este erro refere-se a muitos problemas diferentes e há muitos posts aqui e em outras plataformas, nenhum com uma resposta definitiva. Talvez a equipe do Arduino deva tentar fornecer erros melhores para diferenciar. Mas tentei responder à mesma pergunta aqui neste post do SO .

o que resolveu meu problema foi acessar Ferramentas> Placas> Gerenciador de placas ... selecione "atualizável" para "Tipo" no canto superior esquerdo e, em seguida, selecione os pacotes atualizáveis ​​abaixo e clique em atualizar.

Foad
fonte