Mfrc522 funziona solo la prima volta

Ciao a tutti,
sto provando a scrivere e leggere su tag rfid
dentro il mio loop ho

if(!mfrc522.PICC_IsNewCardPresent()) {
    return 0;
  }
  if(!mfrc522.PICC_ReadCardSerial()) {
    Serial.println("No card serial");
    return 0;
  }
 writeBlock(block, blockcontent);
readBlock(block, readbackblock);//read the block back

La prima volta che avvigino il tag tutto funziona correttamente, ma dalla seconda volta in poi mfrc522.PICC_ReadCardSerial() restituisce 0 e quindi non riesco più a leggere o scrivere

Se aggiungo

mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); 

dopo il readBlock allora funziona sempre, ma non voglio usare questo espediente spartano, vorrei capire il perchè del problema sopra

E' come se dopo il read non si ruiscisse più a leggere il serial del tag
Se però ricompilo tutto torna a funzionare sempre una volta sola

Qualche idea?
Grazie

Fosse anche una sola riga, il codice va racchiuso negli appositi tag ...

... cortesementequindi edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona la parte di codice e premi l'icona </> nella barra degli strumenti per contrassegnarla come codice. Così com'è non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac all'intero del IDE). Grazie.

Guglielmo

Grazie, fatto

Hai ancora il problema?

Se sì, cortesemente metti l'intero programma