Verificar conexión red

Estimados, buenas tardes.

Tengo un problema de desconexión de red en el arduino que se soluciona reseteando el mismo. Mi idea es hacer una verificación por software en donde si el mismo no tiene conexión hacer el reseteo.
Encontré una secuencia con " !Ethernet.linkStatus() " pero se la pasa reseteando todo el momento el programa. Quería ver si alguno lo pudo resolver de otra manera.

Desde ya, muchas gracias.
Copio parte del código acá abajo.

if (!Ethernet.linkStatus()) {
    Serial.println("La conexión Ethernet está inactiva. Intentando reiniciar...");
      lcd.setCursor(0, 2);
      lcd.print("Reinicio");
      delay(5000); // Espera 5 segundos antes de reiniciar
      asm volatile ("  jmp 0"); // Reinicia el Arduino por software
    } 

Saludos.

Vamos por partes...
¿Qué arduino usas?
¿Qué shield Ethernet usas? ¿Con cuál chip?
Porque linkStatus() no funciona con todos los chips Ethernet (ver documentación)

Por otro lado, según la librería (y yo agrego los comentarios)

enum EthernetLinkStatus {
	Unknown,  // por defecto es igual a 0
	LinkON,   // es igual a 1
	LinkOFF   // es igual a 2
};

Entonces

!Ethernet.linkStatus()

implica que el estado es Unknown, no LinkOFF como tu supones.

Buenas Maximo.

El arduino que uso es el mega 2560, el shield w5100. Por lo visto en la documentación no funciona para este Shield que tengo yo.

Buscaré otra forma de hacer el reset.

Gracias.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.