Se tilda el arduino con ethernet

Hola. Luego de estar probando códigos que no funcionaban, encontré uno básico y lo amoldé a mi necesidad, por ahora en fase de prueba que es simplemente hacer encender un led y apagarlo ya sea mediante pagina web o una app de android. pero veo que luego de encenderlo y apagarlo por unos pocos minutos este deja de funcionar. es como que se queda sin memoria??

Arduino UNO + HR911105A (ENC28J60)

#include <etherShield.h>
#include <ETHER_28J60.h>
#define ON      HIGH
#define OFF     LOW
#define LED2 3

static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};  
static uint8_t ip[4] = {192, 168, 0, 23}; 
static uint16_t port = 80; 

ETHER_28J60 client;

void setup() {
client.setup(mac, ip, port);
pinMode(LED2, OUTPUT);

}
void loop() {
  char* params;
  if (params = client.serviceRequest()) {    

    if (strcmp(params, "?LED2=ON") == 0) {
      digitalWrite(LED2, ON);
    }
    if (strcmp(params, "?LED2=OFF") == 0) {
      digitalWrite(LED2, OFF);
    } 
    client.respond();
  }
}

Prueba a ver si es memoria, existe un código que te dice cuanta RAM te queda disponible y si estas en el limite seguramente esa será la causa.

Arduino Memory Available

surbyte:
Prueba a ver si es memoria, existe un código que te dice cuanta RAM te queda disponible y si estas en el limite seguramente esa será la causa.

Arduino Memory Available

FreeMemory = 1121 y no disminuye

No esta mal considerando que tienes 2k no?

EDITO: cuida ese puntero

char* params;

Asegúrate de ponerlo en NULL cuando no lo uses.
Bueno se me cruzó NULL con el Raspi.. usa 0 mejor, ya que NULL no esta definido si no agregas librerias.
Basicamente no dejes que params se vuelva una bola de nieve. Se entiende?

surbyte:
No esta mal considerando que tienes 2k no?

EDITO: cuida ese puntero

char* params;

Asegúrate de ponerlo en NULL cuando no lo uses.
Bueno se me cruzó NULL con el Raspi.. usa 0 mejor, ya que NULL no esta definido si no agregas librerias.
Basicamente no dejes que params se vuelva una bola de nieve. Se entiende?

Disculpa que no entiendo mucho de programacion. Si le asigno valor = 0 no perjudicaria el uso de la deteccion de la pagina web cuando envio un comando? o simplemente que luego de usarlo, le reasigne el 0 para eliminar cualquier carácter y luego el codigo le da un valor momentaneo?