Bom dia pessoal;
tenho uma rotina quase pronta que preciso fazer um boot a cada x tempo.
lendo na internet vi algumas possibilidades:
1) reset fisico com transistor no pino reset: (altamente desaconselhavel) **
2) utilizando o comando asm volatile (sugerido pelo LDG) - funciona 98%
3) utilizando o watchdog (este me pareceu o mais consistente, porém estou tendo problema de incompatibilidade em uma placa funciona certinho na outra não!)
tenho 2 placas arduino MEGA R3.
uma delas é identica à do site, tanto o grafismo quanto a disposição dos componentes (porém foi comprada no ML outra tem o grafismo BEM diferente do do site da arduino, mas tem a disposição dos componentes identicas ao MEGA 2560 R3, comprada aqui no LDG a unica diferença que percebi nos componenetes principais é que no do LDG o chip é um ATMEGA2560 16AU 1315 e no do ML ATMEGA1560 16AU 1320 no do ML quando aciono o WD (com o mesmo codigo que funciona no LDG) ele parece que entra em um loop infinitoTags:
Vc deve gravar um novo bootloader, tive esse problema em alguns bootloaders, que ele "pirava", e ficava travado.
opa... andei procurando tutoriais, mas não achei nada conciso...
tenho um pouco de receio em mexer nessa parte e fazer M...
vc conhece algum tutorial legal pra isso? e onde baixar o arquivo do bootloader tb?
Não precisa "baixar", no mega que está funcionando vc carrega o examples/arduinoISP na IDE do arduino, faz as ligações como manda o sketch e faz o tools/burn bootloader
De uma procurada por arduinoISP
opa fiz aqui como entendi no esquema:
estou usando um UNO R3 para carregar o bootloader no MEGA 2560 R3
UNO MEGA
10 RESET
11 51
12 50
13 52
5v 5v
GND GND
fiz a ligação dos LEDs tb no UNO
7 = Programando
8 = Erro
9 = programa rodando
carreguei o sketch no UNO
com o USB no UNO selecionei (com a board e a com do UNO selecionada)
programer = Arduino as ISP
e cliquei em Burn Bootloader:
alguns leds piscaram no uno e no MEGA
inclusive o pin 8 (erro)
e na IDE deu a seguinte mensagem:
"Error while burning bootloader"
"avrdude: Expected signature for ATMEGA328P is 1E 95 0F
Double check chip, or use -F to override this check."
OBS: o MEGA continua abrindo o pragrama que ja estava na memoria dele
vc deve selecionar, antes de fazer o burn bootloader, o modelo que quer que o bootloader seja gravadado, se vc tem o mega, deve selecionar a placa MEGA e rodar o burn bootloader.
teve algum avanço!!!
kra agora ele começou a carregar, ficou um tempo carregando, led 7 (programando) aceso e 9 (programa rodando) acendendo e apagando
mas no final dá o seguinte erro:
avrdude: verification error, first mismatch at byte 0x1e000
0xff != 0x0d
avrdude: verification error; content mismatch
o led 8 (erro) pisca duas vezes no inicio, depois não
no UNO o TX fica aceso e o RX piscando direto, mas no MEGA nada só fica o L aceso, tanto o TX como o RX nem pisca.
conferi varias vezes os cabos...
em alguns esquemas que vi na net o reset estava no arduino programador (no caso uno) e pino 53 do MEGA (a receber o bootloader)
e outro estava ao contrario pino 10 do UNO (programador) no reset do MEGA (que recebe o bootloader.... será que pode ser isso?
estou usando o pino 10 do UNO no reset do MEGA
O pino 10 do uno vai no pino de reset do MEGA.
então ta certo... o resto é isso mesmo? arduino as isp...?
melhor usar uma fonte no MEGA ou posso usar essa alimentação jumpeando o 5v e o GND do UNO
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por