[Solucionado]Problema con WatchD

Tengo problemas con un sketch luego que añadí un WatchDog.
Ahora se reinicia constantemente encendiendo el led en pin 13. y no me deja cargar ningun otro sketch

Ya resolvi, envie a cargar el sketch nuevo justo antes que terminara la compilación conecte el arduino en el puerto USB.

#include <avr/wdt.h> 

byte dato[40];//={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int cuen_dat = 0;
boolean negativo = false;
boolean inestable= false;
boolean overload= false;
boolean bruto=false;
int bits = 4;
unsigned long tiempo;


void setup(){
  pinMode(13,OUTPUT);  
  pinMode(3,INPUT);
  digitalWrite(3,HIGH);
  Serial.begin(115200);
  Serial.println("LISTO");
  digitalWrite(21,HIGH);  
  attachInterrupt(2, tomadatos, RISING);
  wdt_enable(WDTO_500MS);
}

void tomadatos(){
  if(bits==0){
    bits=4;
    cuen_dat++;
  }
  bits--;
  bitWrite(dato[cuen_dat], bits, digitalRead(3));
  if (cuen_dat==1 && digitalRead(3)==0){
    switch (bits){
      case 3:
        overload= true;
      break;
      case 2:
        negativo= true;
      break;
      case 1:
        inestable= true;
      break;
      case 0:
        bruto=true;
      break;
    }    
    
  }
  wdt_reset(); 
  tiempo= millis();
}

void loop(){
  wdt_reset(); 
  if(millis()-tiempo > 200 && dato[1]>0){
      noInterrupts();
     // Serial.print(dato[0],HEX);
     // Serial.print(dato[1],DEC);
      if (overload== false){
        switch (inestable){
          case false:
            Serial.print("ST,");
          break;
          case true:
            Serial.print("US,");
          break;
        }
      }
      else {Serial.print("OL,");}
      switch (bruto){
        case false:
          Serial.print("NT,");
        break;
        case true:
          Serial.print("GS,");
        break;
      
      }
      
      switch (negativo){
        case false:
          Serial.print(" ");
        break;
        case true:
          Serial.print("-");
        break;
      }      
      for (int i = 2; i < 8; i++){
        Serial.print(dato[i],HEX);
        
        dato[i]=0;
      }
      cuen_dat=0;
      bits=4;
      negativo = false;
      inestable= false;
      overload= false;
      bruto=false;
      dato[0]=0;
      dato[1]=0;
      tiempo= millis();
      interrupts();
  }
}