[Resolvido] EEPROM do Attiny85 sendo zerada a cada vez que reinicio o chip.

Segue em anexo o Teste.ino, a imagem anexada é praticamente igual, só simplifiquei um pouco para deixar só a parte de lógica.

Basicamente estou escrevendo 8 caracteres na EEPROM e tentando ler, no arduino uno sempre funcionou perfeitamente, no Attiny se eu chamar a função gravaNome() ele grava tudo e consegue ler normalmente, se eu não chamo, mesmo tendo gravado anteriormente, o chip não consegue ler nada.

Pensei que pudesse ser uma  memória volátil no Attiny, mas abri o datasheet ( http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2586-AVR-8-bi... ) e já na primeira página fala: 

Non-volatile Program and Data Memories
– 128/256/512 Bytes In-System Programmable EEPROM

Tem algo de diferente entre escrever na memória do Attiny e do arduino? O que estaria errado?

Obrigado.

Exibições: 766

Anexos

Responder esta

Respostas a este tópico

O Arduino Uno tem MCU ATmega328P no qual o EEAR e EEDR (endereços da EEPROM) estão mapeados nos endereços 0x40, 0x41 e 0x42.

MCU ATtiny tem os registradores EEAR e EEDR mapeados nos endereços 0x1D, 0x1E e 0x1F.

Então, quando for gravar em um ou no outro MCU, vc precisa compilar de acordo com o MCU. Se gravar o mesmo bitstream nos dois, um deles não vai funcionar.

Entendi o que estava ocorrendo.

Acho que entendi, o Attiny85 apaga toda a EEPROM caso ele seja programado via ISP, fiz um botão e esse botão acionava uma função que gravava na EEPROM, testei a impressão antes do botão e tava tudo em branco, apertei o botão e funcionou. Desliguei e liguei de novo e continuou escrito.

Valeu!

Ok, vi no datasheet que por padrão apaga a EEPROM quando grava via ISP, mas dá pra mudar alterando o "Fuse High Byte" EESAVE de 1 pra 0. Nesse caso preserva a EEPROM quando grava via ISP.

Valeu pela dica!

Acho que entendi, o Attiny85 apaga toda a EEPROM caso ele seja programado via ISP:

https://stackoverflow.com/questions/36623186/attiny85-eeprom-erase-...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço