Atmega 16, dados estranho na memoria

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

Atmega 16, dados estranho na memoria

Mensagempor sandei » 21 Dez 2007 07:19

Boa dia, Sr.

Estou escrevendo dados em algumas posição de memoria em 16bits , até ai tudo bem, oque ocorre é que em alguma vezes por exemplo escrevo o valor 800 na memoria tudo funcionando mil maravilhas depois do nada ele altera esse valor p/ qualquer numero tipo 33364 ou 15640 qualquer coisa, não entendo por que disso sendo que não subscrevo essa posição de memoria.

Oque pode ser ?

Fabio.
sandei
Byte
 
Mensagens: 278
Registrado em: 13 Out 2006 08:15

Mensagempor RobL » 21 Dez 2007 09:50

Há várias causas:

Supondo que não há escrita sem querer por erro no SW, seja por endereço errado, etc.

1- Escrever e ler sem verificar se a operação de escrita está completa. Esta deve ser a mais forte hipótese.
Nos AVRs é recomendável verificar o bit EEPE antes de se fazer uma escrita ou leitura. Deve testar no topo da rotina.

2- Interrupção durante escrita.

3- Hardware. Tensão baixa, ou ruído na linha de alimentação, durante acesso a EEProm. Falta de capacitor sobre VDD e VSS ou capacitância insuficiente.
O uso do BOD pode ajudar mas glitchs não são percebidos pelo BOD mas detonam a escrita na eeprom.

Sou mais o ítem 1.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor sandei » 21 Dez 2007 13:42

Muito bem observado. vou fazer os testes, agora vou procurar saber se o BASCOM AVR na sua rotina de escrita e leitura verifica a memoria poder ser Escrita ou Lida.Quanto as interrupção durante escrita e leitura o Bascom desabilita durante escrita ou leitura e subsequentemente habilita as mesma.


Obrigado pela info.


Fabio.,
sandei
Byte
 
Mensagens: 278
Registrado em: 13 Out 2006 08:15

Mensagempor RobL » 21 Dez 2007 17:29

Lembrei de outro detalhe muito importante.
Oscilador Interno com fuses inadequados (ou cristal) fora da faixa recomendável. Dá erro na EEPROM.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor sandei » 24 Dez 2007 08:08

Olá Sr.

Para testar desabilitei a escrita na E2prom e passei a trabalhar somente com os Registradores, mesmo assim o problema persiste sem motivo algum, o valor da variavel é alterado sem nenhum significado.

Alguma sugestão ?

Fabio.
sandei
Byte
 
Mensagens: 278
Registrado em: 13 Out 2006 08:15


Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x