Pessoal, fiz um relógio com a função millis... porém após o tp de 7 hrs ligado percebi q o mesmo se adiantou 42 segundos em relação a outro relógio. Alguém já teve tal problema? Agradeço que puder ajudar.

Exibições: 618

Responder esta

Respostas a este tópico

Posta o codigo

isto ocorre por causa do tempo de processamanto do sistema, ai vc tem que ficar ajustando usando 999 ao inves de 1000 por exemplo pra ver se fica bom

Realmente a diferença de tempo está de acordo com o tempo de processamento, mas esse tempo de processamento não deveria provocar um atraso no relogio?

é, não tinha reparado que tava adiantando, mas provavelmente ele esta contando 1 microssegundo a menos por vez na programação. aí tem quer ver o código pra saber

Irei postar o codigo ainda hj

Olá,

O millis usa o timer do atmega, e não é influenciado pelo "processamento".

O adiantamento observado muito provavelmente deve ser em função da tolerância do cristal do clock da placa, que deve estar com uma frequência um pouco acima dos 16MHz nominais, o que é muito normal...

Para obter uma precisão maior, só mesmo usando um chip de RTC e com um cristal de qualidade.

Abraço.

Nesse caso, fazendo as devidas contas chegamos a uma frenquencia de 16,0267MHz ou 16026,7KHz. Fazendo outras leituras dessa diferença de tempo você consegue calcular com maior precisão a frenquencia do cristal e com isso fazer o ajuste de tempo.

Por exemplo, considerando que a frequencia é 16,0267MHz, você teria uma diferença de tempo seria de

0,00000011ms por ciclo, então no loop principal você colocaria uma variavel para ler a função millis() e descontar esse valor

tempo = millis() - 0,00000011;

Lembrando que essa dedução é completamente teorica e eu não testei, caso você teste, ficaria feliz se você me contar o resultado.

Melhor ainda seria usar a função micros().

A respeito do que o Wiechert disse, o RTC é realmente a melhor saida, mas tenta melhorar esse com a função millis como um experimento didático e depois usa o RTC =) 

Ok irei fazr os devidos testes e retorno aqui o(s) resultado(s).. agradeço a todos.. VLW

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço