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 infinito

Exibições: 665

Responder esta

Respostas a este tópico

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

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço