IR: Ricevo codice,memorizzo codice, trasmetto

lesto:
scusa non ti segui, puoi postare il codice che funziona e quello che non funziona?

Ineffetti ho fatto un po' di confusione,e capisco che ci voglia tanta buona volonta per capire quello che ho detto ahah.
In definitiva questo non funziona:

#include <IRremote.h>

int RECV_PIN = 11;
IRsend led;         //mio led

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); 
}


void dump(decode_results *results) {
  
  int count = results->rawlen; 
  
  Serial.print("Raw (");
  Serial.print(count, DEC);
  Serial.print("): {");
  
  unsigned int code[count];     //vettore per i raw 
  
  for (int i = 1; i < count; i++) {     //parto da 1 per eliminare il primo codice
    if ((i % 2) == 1) {
      Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
      code[i-1]=results->rawbuf[i]*USECPERTICK;     //carico
      
    } 
    else {
      Serial.print((int)results->rawbuf[i]*USECPERTICK, DEC); //ho tolto il "-"
      code[i-1]=(int)results->rawbuf[i]*USECPERTICK; //carico
      
      
    }
    Serial.print(",");
  }
  Serial.println("};");
  
  delay(5000);
  
  while(1){                         //invio continuo di..
  for (int c = 0; c < 3; c++) {
      led.sendRaw(code, count,38);  //vettore di codici lungo count e con frequenza 38
      delay(40);
  }
  Serial.println("invio");
  delay(1000);            
  }
  
}


void loop() {

  if (irrecv.decode(&results)) {
    dump(&results);
    
    irrecv.resume(); // Receive the next value
  }
}

Mentre questo, chiamiamolo ad-hoc, che contiene il codice raw, funziona:

#include <IRremote.h>

IRsend led;

void setup()
{
  Serial.begin(9600);
}

void loop() {

  delay(1000);
  unsigned int cd[68] = {4550,4350,650,1600,600,1600,650,1600,600,500,650,500,600,500,600,500,650,500,600,1600,650,1600,600,1600,650,500,600,500,650,500,600,500,650,500,600,500,600,1650,600,500,600,500,650,1600,600,500,650,500,600,500,650,1600,600,500,650,1600,600,1600,650,500,600,1600,650,1600,600,1600,650};
                       
  for (int c = 0; c < 3; c++) {
      led.sendRaw(cd, 68,38);  
      delay(40);
  }
  Serial.println("invio");
  delay(1000);  
  
}

La cosa strana, come ho detto sopra, sta nel fatto che se quel codice nel loop qui sopra lo metto in un qualsiasi punto del primo codice, non funziona.

Quindi non capisco quale potrebbe essere il problema!