Boa noite pessoal!
Já faz um tempo que não trabalho com a programação arduino e estou com uma pequena dúvida.
estou elaborando um contador de pulsos e preciso que ele incremente a partir de um numero maior que zero.
No meu caso criei uma variável: int conta = 0;
declarando essa variável a contagem é feita normalmente:
if ( digitalRead(BI9) == HIGH )
{
(delay(90));
if ( digitalRead(BI9) == LOW )
{
conta++;
Serial.println(conta);
delay (1000);
}
}
Achei que mudando o valor da variável para o numero que preciso (no meu caso 35000), ou seja:
int conta = 35000; o programa começaria a incrementar a partir dai... mas não funcionou...
Poderiam me ajudar?
Obrigado!
Tags:
Obrigado RV! fiz as correções aqui e deu tudo certo!
Só pra mim entender. Pra que serve a linha while (1) {}; já que ela trava o arduino?
Muito obrigado pela atenção!
Boa tarde KJ,
A EEPROM do Arduíno tem vida util limitada em +- 100.000 gravações.
Parece até muito, né. Nem seria preocupação. Certo?
Mais ou menos.
Veja cada operação do Arduíno é executa em um clock de 16 Mhz,
ou seja em um segundo teoricamente o Arduíno executa 16.000.000 de instruções.
Se o programa de gravar na EEPROM tiver, digamos 10 instruções, e for um ciclo repetido,
em menos de um segundo executará 1.600.000 de instruções, o que causará a "oxidação"
da EEPROM e a perda da mesma.
Claro que o resto do processador continuar funcionando, mas não poderá mais guardar
dados na EEPROM.
Para evitar este problema, eu coloquei um bloqueio e permiti que a rotina de gravar na EEPROM
só rode por completo uma vez. Usei uma função que trava o arduino
while(1){} Enquanto for 1 fique executando o while.
RV
PS
Escrevi um programa pra demostrar +- o tempo que o Arduíno leva para contar até 16.000.000.
Como o programa é em C, ao compilar ele aumenta o numero de instruções em assembly.
Usei o millis() para saber quantos milissegundos foram gastos para esta contagem.
Aqui o resultado foi. 41248 milis (41,248 segundos).
Isto informa que o programa tem +- 41 instruções de assembly.
RV
Muito obrigado RV!
Valeu pela informação!
De nada,
No natal vai atender minha solicitação?
RV
Sim! Claro!
Bom dia KJ,
lembra?
http://labdegaragem.com/forum/topics/promessa-divida-o-natal-est-ch...
Feliz natal.
RV
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por