“Avrdude: stk500_getsync (): não está sincronizado: resp = 0x00”, também conhecido como Algum cara chamado Avr não permite que eu faça upload do meu programa


98

Eu fiz um programa incrível no outro dia e queria enviá-lo para o meu Arduino. Depois de clicar no botão de upload, um cara malvado chamado avr apareceu e me parou, dizendo:

avrdude: stk500_getsync (): não está sincronizado: resp = 0x00

Tudo o que eu quero fazer é apenas fazer upload do meu programa, mas o avr não me permite. Ele é até ininteligível, então alguém pode me dizer o que diabos ele está tentando dizer e como se livrar dele?


ou seja:

Sempre que tento carregar um programa no meu Arduino, recebo esta mensagem de erro:

avrdude: stk500_getsync (): não está sincronizado: resp = 0x00

O que isso significa e como posso corrigi-lo?


4
Mensagem de erro bastante comum, nem sempre é trivial para resolver: electronics.stackexchange.com/…
jippie

12
Bom título! Eu mesmo tive esse erro ...
TheDoctor 12/02

6
+1 para o título: D ... Eu realmente odeio esse cara tanto quanto você!
David Refoua

Tente instalar o driver (cp2102) para o arduino. Isso me ajudou. Obrigado pelas respostas anteriores pessoas :-)

Esta 2018 pós junho resolvido para mim (1º resposta): arduino.stackexchange.com/questions/51729/...
Michael Sims

Respostas:


62

Isso é causado por um erro genérico de conexão entre o computador e o Arduino e pode resultar de muitos problemas específicos diferentes.

Aqui estão algumas coisas fáceis que geralmente podem corrigir esse erro:

  • Desconecte e reconecte o cabo USB.
  • Pressione o botão de reset no quadro.
  • Reinicie o IDE do Arduino.
  • Certifique-se de selecionar a placa correta Tools ► Board ►, por exemplo, se você estiver usando o Duemilanove 328, selecione-o em vez do Duemilanove 128. A placa deve dizer qual versão está no microchip.
  • Verifique se você selecionou a porta correta Tools ► Serial Port ►. Uma maneira de descobrir em qual porta ela está é seguindo estas etapas:
    1. Desconecte o cabo USB.
    2. Vá para Tools ► Serial Port ►e veja quais portas estão listadas (por exemplo, COM4 COM5 COM14).
    3. Reconecte o cabo USB.
    4. Volte para Tools ► Serial Port ►e veja qual porta apareceu que não existia antes.
  • Verifique se os pinos digitais 0 e 1 não possuem nenhuma peça conectada, incluindo blindagens.

Se nenhuma dessas opções funcionar, tente isolar o problema substituindo as coisas: tente um computador diferente no mesmo arduino, tente um arduino diferente no mesmo computador e tente usar um cabo USB diferente.

Se o problema estiver no computador:

  • Verifique novamente todos os problemas relacionados ao computador na lista "correções fáceis" acima.
  • Reinstale o IDE.
  • Reinstale os drivers.

Se o problema for com o Arduino:

  • Verifique novamente todos os problemas relacionados à placa na lista "correções fáceis" acima.
  • Verifique se o microcontrolador está encaixado corretamente.
  • Pode ser necessário gravar o gerenciador de inicialização .
  • Substitua o microcontrolador se você tiver outro por perto.
  • Você pode ter emparelhado seu Arduino. Desculpa :(

3
Existem outras causas possíveis. Você pode ter danificado o ATmega, o carregador de inicialização do ATmega, problemas de energia ou uma infinidade de outras possibilidades. A not in sync: resp=0x00é realmente um genérico "ATmega não está respondendo" mensagem. Qualquer coisa que possa fazer com que o ATmega não responda pode causar isso.
Connor Lobo

Então, eu não posso ter nada em 0 ou 1?
Tim

2
@ Tim Você pode conectar itens a esses pinos, mas precisará desconectá-los se quiser se comunicar com o seu Arduino através do cabo USB.
O cara com o chapéu

Eu recebi esse erro no meu primeiro Duemillanove anos atrás. Era um chip UART morto (ou conexão do USB ao chip UART). Muito frustrante. Comprei um programador AVR e queimei o gerenciador de inicialização. Adquiriu outra CPU com o carregador de inicialização pré-carregado. Não foi até o fornecedor enviar um substituto que eu pude ingressar no mundo dos aficionados do Arduino (e agora tenho duas CPUs sobressalentes).
linhartr22

"Desconecte e reconecte o cabo USB" funciona para mim
Graça Shao

20

Outra correção:

Mude Tools->Processor->Atmega 328Ppara Atmega 328P (Old Bootloader). Lembre que a Processoropção está disponível apenas quando você seleciona algumas placas específicas em Tools>Board.

Isso funcionou para o meu Arduino Nano com CH340, usando o Arduino IDE 1.8.5 no Linux Ubuntu 17.10. Além disso, isso provavelmente acontecerá se você usar o IDE 1.8.9 ou mais recente e obter um Nano antigo ou clonado.


3
Essa foi a solução! O novo carregador de inicialização usa o dobro da taxa de transmissão (115200 em vez de 57600).
Suuuehgi 2/01

1
Sua resposta corrige meu problema. Obrigado!
Vladyslav Savchenko

12

Infelizmente, também pode significar que você queimou seu microcontrolador. Você estava fazendo algo perigoso antes de tentar fazer upload de um novo esboço? O microcontrolador ainda está funcionando, com seu esboço carregado anteriormente?


10

Se nenhuma das etapas acima funcionar, tente reinstalar o Avrdude e o compilador avr-gcc. Eu tive que fazer isso depois que meu Mega começou a sofrer com isso.

Se você instalou o Avrdude e o avr-gcc separadamente, basta desinstalá-los. caso contrário, talvez seja necessário reinstalar o IDE do Arduino. Essas etapas dependerão do seu sistema operacional.


É altamente improvável que o problema seja causado por causa do uso da cadeia de ferramentas. Isso é muito extremo, IMO.
asheeshr

3
É a única maneira que eu poderia resolver o meu problema
TheDoctor

Do que você está falando neste processo de instalação? A ferramenta de edição do arduino é apenas descompactada. Não há processo de instalação.
Connor Wolf

9

Eu tive a mesma mensagem. Sempre que tiver sido resolvido, selecione a porta correta, ou seja, USB, no menu Ferramentas e Portas. É um passo simples, mas eu sempre esqueço. Vou desconectar o Arduino para interromper o programa atual, conectá-lo novamente ao meu computador para carregar o novo programa e obter o erro, pânico, maldição e só então, lembre-se.


1
Eu acho que essa é a solução mais comum.
chicks

9

No meu caso, eu não tinha conectado o pino RTS do chip FTDI a um capacitor que foi ao pino RST do Arduino Pro Mini. Depois de instalar esta conexão, não recebi mais o erro e consegui fazer o upload do código.

Nick Gammon explica isso em seu fórum . Adicionei uma imagem de onde / como o capacitor deve ser colocado. insira a descrição da imagem aqui


+1 para a bela imagem da conexão do programador usb diretamente a um chip atmega.
raddevus

Eu também tinha algumas conexões ruins na minha placa, desconectei tudo e enviei um esboço básico e funcionou. Agora vá descobrir o cabo que não está no lugar certo
Seraf

5

Eu tive o mesmo problema. Tentei instalar o IDE em outro laptop e carreguei o programa desse laptop. Problema resolvido. Então voltei para o meu laptop, desinstalei o IDE e reinstale-o .. ele começou a funcionar.

No entanto, não fiquei satisfeito porque não consegui encontrar a fonte do problema ... então tentei executar tudo novamente da mesma maneira exata ... Encontrei o problema, mas não tinha certeza se essa poderia ser a causa real dele. .

No meu projeto, eu precisava realizar uma comunicação serial entre o arduino e o MATLAB (GUI). Para ver / verificar a saída (tipo) dos dados seriais do MATLAB (GUI), usei HYPERTERMINAL e também EMULADOR DE PORTA SERIAL VIRTUAL. Percebi que toda vez que o hiperterminal está sendo executado ou o VSPE está sendo executado enquanto o meu monitor serial está nele, estraga o recurso de upload do programa. Não tenho certeza se é por causa do VSPE ou HYPERTERMINAL, mas a reinstalação do IDE funcionou para mim.


2
Uma das linhas de controle serial, acho que é o DTR, é usada para redefinir o Arduino. Quando você tenta programar o seu Arduino, o programa do seu terminal pode estar interferindo.
Linhartr22

Isso funcionou para mim apenas quando eu também excluí minha pasta da Biblioteca do Arduino, que contém todas as configurações e bibliotecas extras.
Jethro

3

Para as pessoas que usam o Linux Mint, descobri que, ao selecionar a porta "TTY SO" em vez da porta "Arduino", ela funcionaria (não posso lhe dizer exatamente porque não tenho esse computador na minha frente agora) .

Então, na próxima vez em que usei o Arduino, recebi novamente a mesma mensagem. Voltei à porta "Arduino" e funcionou dessa maneira desde então.

Eu não sou tão tecnicamente experiente quanto o resto de vocês, então não tenho idéia do por que isso funciona ou qual foi o problema, mas funcionou, e é isso que me interessa. Talvez isso seja útil para alguém.


3

Desinstalei o IDE e os drivers, etc, instalei tudo novamente, executei o IDE do Arduino como administrador e configurei a compatibilidade com o Windows 7 (atualmente estou usando o 10).

Também mudei o programador para AVR ISP (acho que isso não importa, mas mudei mesmo assim).

Tudo está funcionando de novo ... espero que isso possa ajudar outra pessoa também.


2

Um incomum, mas eu tenho trocado muito os microcontroladores e recebi esse erro quando um não estava encaixado corretamente. Consegui gravar algumas vezes, mas acho que ele escapou - um pequeno empurrão nas costas do ATMega328 consertou!


1

Também existe a possibilidade de o próprio controlador ser colocado de maneira errada no soquete do Arduino. Isso pode ser perigoso para o controlador (que pode sofrer um zapping), mas, no meu caso, só deu o erro de falta de sincronização, impedindo-me de fazer o upload de código.

Portanto, basta verificar se o entalhe no IC está na direção certa (você pode verificar com imagens da placa on-line). O entalhe no controlador do Uno deve apontar para a borda da placa.


1

Eu também tive esse erro. Foi a primeira vez que usei uma nova placa Arduino Nano depois de soldar nos cabeçalhos. Apenas rodando o Blink Sketch, nada estava conectado ao quadro.

Encontrei um pouco de solda entre os pinos GROUND e RESET. Eu peguei e pude fazer o upload ok.

Suponho que isso possa acontecer se você tiver o mesmo curto em um circuito em algum lugar.


1

Só tive esse mesmo erro com um novo Mini Pro. Como o programa padrão de intermitência que foi pré-carregado com a maioria dos Arduino está em execução, eu sei que a unidade provavelmente está OK.

Por isso, inspecionei os cabeçalhos que acabei de soldar mais uma vez e constatei que não havia solda suficiente nos pinos TX0. Depois de re-soldar todos os trabalhos.


1

Após muitos desconectamentos, verificação de portas, reinicialização do IDE etc. O problema que parecia fazer a diferença na correção dessa falha com o Arduino Mega 2560 era desinstalar o driver do arduino USB do Windows e reinstalá-lo usando o driver aqui e selecione manualmente na lista> portas com> arduino http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows-7-64-bit.shtml Talvez eu tenha testei no meu uno e depois voltei ao mega, então há uma pequena chance de conversar com o uno fez AVRDUDE feliz, mas improvável.


1

Quando encontro um problema ao carregar em meus quadros, carrego um programa diferente, como o exemplo do blink. Isso parece redefinir algo e, em seguida, sou capaz de fazer upload de meu próprio programa (que é bastante grande).

Pode valer a pena tentar fazer isso para ver se funciona no seu caso, embora eu não tenha idéia do por que funciona.


qual placa e bootloader?
Juraj

Arduino Nano, ATMega328P (não de terceiros). Hardware Versão: 2, Firmware Versão: 1.16, assinatura de dispositivo é 0x1e950f Eu não tenho verificado o bootloader, mas eles são anunciados como o "bootloader tradicional"
Jethro

para que a sua resposta é específica para o velho bootloader Nano
Juraj

Obrigado! Vou olhar para os gerenciadores de inicialização e tentar atualizá-lo. Você tem alguma informação sobre esse bug?
Jethro #

1

Eu tive um problema semelhante com minha placa Uno

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

Tentei muitos métodos

  • Pressione reset antes de enviar pacotes
  • diferentes versões do IDE
  • Troque o cabo
  • Alterar o próprio controlador
  • Teste de loopback

mas todas as opções acima falharam.

Eu uso o Ubuntu 16.04.4 LTS 4.15.0-33-generic(ao escrever este comentário). O módulo CDC ACM não foi carregado, portanto, nenhum /dev/ttyACM0dispositivo foi criado para selecionarArduino IDE -> Tools -> Port

Portanto, obtenha o nome do módulo e carregue-o

$ 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

O comando acima irá inserir o módulo necessário. Agora consigo selecionar a porta correta e fazer o upload do código

Das várias soluções que funcionaram para mim, espero que isso ajude alguém também.


0

Eu o resolvi atualizando os conselhos (em "gerente do conselho")


Você tem um Arduino Nano?
per1234

0

Eu enfrentei o mesmo problema para alguns códigos hoje e resolvi-o da seguinte forma:

1- Primeiro, executei um código básico de LED piscando. Deu o mesmo erro. Ele confirma que o erro está no upload e não tem nada a ver com a compilação. Também verifiquei se meu código estava compilando bem.

2- Peguei outra placa, mas estava funcionando bem neste PC. Isso significa que o computador e o fio USB estão OK.

3- Conectei a placa defeituosa a outro PC e, surpreendentemente, não houve esse erro no upload. Isso me deu uma dica sobre problemas no driver no primeiro PC.

4- Desinstalei o driver e o reinstalei no primeiro PC baixando aqui

(certifique-se de que ao instalar o driver a partir deste link, você mantenha sua placa conectada ao PC)

Funcionou bem agora :-)


0

Eu tive esse erro no meu laptop Linux Mint 17.3 com o Arduino Nano avrdude: stk500_getsync (): não está sincronizado: resp = 0x00

Resolvido:

  • removeu tudo o que tinha 'arduino' ou 'avr' em seu nome
  • diretórios removidos .arduino e .arduino15 (Observe o ponto no nome)
  • versão 1.8.7 removida com desinstalação do pacote
  • apt-get install arduino (versão 1.1.0)
  • testado com um esboço simples (tudo OK)
  • versão 1.8.7 instalada com a instalação do pacote
  • compilado.
  • selecionou ATmega328p (carregador de inicialização antigo) para processador, Arduino Nano para placa e / dev / ttyUSB0 para porta => FUNCIONA!

Parece que o 'Old bootloader' foi o truque neste caso. Agora eu tenho ambos ver 1.1.0 e 1.8.7, quem se importa.


você deve primeiro ler a resposta de aguadopd
Juraj
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.