Boa tarde pessoal!
Gostaria de trocar os delays pela função millis()... alguém pode me ajudar?
Obrigado!
void loop()
{
char comando = Serial.read();
if(comando=='0')
{
digitalWrite(LED1,HIGH);
delay(2000);
digitalWrite(LED2,HIGH);
delay(2000);
digitalWrite(LED3,HIGH);
delay(2000);
digitalWrite(LED4,HIGH);
delay(2000);
}
}
Tags:
Obrigado!
Oi SHP, boa tarde.
Voce que um code ou quer aprender?
Rui
Olá Rui, gostaria de aprender e tbm se puder, reescrever o code trocando os delays pelo millis()
Obrigado
Já testou o código que eu enviei ?
tá rolando...
Já sofri muito com a função delay(). Usar um módulo GPRS por exemplo, que precisa de delays longos, inviabiliza o uso do wdt que é limitado a 8 segundos. Pra resolver isso, basta criar uma função resetando o wdt:
void myDelay(long espera){
long tempo = millis();
while ((tempo + espera) > millis()){
wdt_reset();
delay(10);
}
}
Inté,
é só colocar essa função no código
void hold(const unsigned int &ms) { // função de substituição do delay
// Non blocking delay
unsigned long m = millis();
while (millis() - m < ms) {
yield();
}
}
ai ao invés de delay vc escreve hold(2000);
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por