MFRC522 Writing and reading RFID tag

Dependencies:   mbed

Revision:
1:0cc7ec8623d2
Parent:
0:f7bdb80c0ef2
--- a/main.cpp	Mon Apr 10 05:47:48 2017 +0000
+++ b/main.cpp	Wed Aug 30 09:48:28 2017 +0000
@@ -1,20 +1,21 @@
-//Test of cheap 13.56 Mhz RFID-RC522 module from eBay
-//This code is based on Martin Olejar's MFRC522 library. Minimal changes
-//Adapted for Nucleo STM32 F401RE. Should work on other Nucleos too
-
+//Test of cheap 13.56Mhz RFID-RC522 module
 //Connect as follows:
-//RFID pins        ->  Nucleo header CN5 (Arduino-compatible header)
+//RFID pins        ->  WIZWiki-W7500 header CN5 (Arduino-compatible header)
 //----------------------------------------
-//RFID IRQ=pin5    ->   Not used. Leave open
-//RFID MISO=pin4   ->   Nucleo SPI_MISO=PA_6=D12
-//RFID MOSI=pin3   ->   Nucleo SPI_MOSI=PA_7=D11
-//RFID SCK=pin2    ->   Nucleo SPI_SCK =PA_5=D13
-//RFID SDA=pin1    ->   Nucleo SPI_CS  =PB_6=D10
-//RFID RST=pin7    ->   Nucleo         =PA_9=D8
+//1.RFID IRQ    ->   Not used. Leave open
+//2.RFID MISO   ->   WIZWiki-W7500 SPI_MISO     =D12
+//3.RFID MOSI   ->   WIZWiki-W7500 SPI_MOSI     =D11
+//4.RFID SCK    ->   WIZWiki-W7500 SPI_SCK      =D13
+//5.RFID SDA    ->   WIZWiki-W7500 SPI_CS       =D10
+//6.RFID RST    ->   WIZWiki-W7500              =D9
 //3.3V and Gnd to the respective pins
 
+
+//Adding Library for Mbed
 #include "mbed.h"
+//Adding Library for MFRC522
 #include "MFRC522.h"
+//Adding Library for SPI protocol
 #include "SPI.h"
 #define VERSION "RFID_2017_04_03"
 #define CIBLE "WIZwiki-W7500"
@@ -26,9 +27,11 @@
 #define SPI_SCLK    D13
 #define SPI_CS      D10
 
-// Nucleo Pin for MFRC522 reset (pick another D pin if you need D8)
+// WIZWiki-W7500 Pin for MFRC522 reset(pick another D pin if you need D8)
 #define MF_RESET    D9
 
+
+//Declaration of LED
 DigitalOut LedGreen(D7);
 DigitalOut LedRed(D6);
 DigitalOut LedYellow(D5);
@@ -36,6 +39,8 @@
 //Serial connection to PC for output
 Serial pc(USBTX, USBRX);
 
+
+//Declaration MFRC522 class
 MFRC522    RfChip (SPI_MOSI, SPI_MISO, SPI_SCLK, SPI_CS, MF_RESET);
 
 //* Local functions */
@@ -44,16 +49,14 @@
 void DumpMifareClassicSectorToSerial(MFRC522::Uid *uid, MFRC522::MIFARE_Key *key, uint8_t sector);
 void DumpMifareUltralightToSerial   (void);
 
-/**
- * Dumps debug info about the selected PICC to Serial.
- * On success the PICC is halted after dumping the data.
- * For MIFARE Classic the factory default key of 0xFFFFFFFFFFFF is tried.
- */
 
+//Create function for writting data
 void WriteToRfidTag(MFRC522::Uid *uid)
 {
 
+    //Declaration of MFRC522 key
     MFRC522::MIFARE_Key key;
+    //Declaration of MFRC522 status
     MFRC522::StatusCode status;
     uint8_t buffer[16];
     uint8_t block;
@@ -88,7 +91,7 @@
         printf("\n\r");
         pc.printf("Enter 1 block: "); // Enter Data
         len=sizeof(buffer);
-        for(uint8_t i = 0; i < len; i++) {
+        for(uint8_t i = 0; i < 16; i++) {
             buffer[i] = pc.putc(pc.getc());
         }
         printf("\n\r");
@@ -115,7 +118,7 @@
         printf("\n\r");
         pc.printf("Enter 2 block: "); // Enter Data
         len=sizeof(buffer);
-        for(uint8_t i = 0; i < len; i++) {
+        for(uint8_t i = 0; i < 16; i++) {
             buffer[i] = pc.putc(pc.getc());
         }
         printf("\n\r");
@@ -140,14 +143,14 @@
             LedYellow=1;
             pc.printf("Succesfully Written to tag: ");
         }
-         printf("\n\r");
-        pc.printf("Enter 8 block: "); // Enter Data
+        printf("\n\r");
+        pc.printf("Enter 4 block: "); // Enter Data
         len=sizeof(buffer);
-        for(uint8_t i = 0; i < len; i++) {
+        for(uint8_t i = 0; i < 16; i++) {
             buffer[i] = pc.putc(pc.getc());
         }
         printf("\n\r");
-        block = 8;
+        block = 4;
         pc.printf("Authenticating using key A...");
         status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
         if (status != MFRC522::STATUS_OK) {
@@ -168,13 +171,68 @@
             pc.printf("Succesfully Written to tag: ");
         }
         printf("\n\r");
-        pc.printf("Enter 33 block: "); // Enter Data
+        pc.printf("Enter 5 block: "); // Enter Data
         len=sizeof(buffer);
-        for(uint8_t i = 0; i < len; i++) {
+        for(uint8_t i = 0; i < 16; i++) {
             buffer[i] = pc.putc(pc.getc());
         }
         printf("\n\r");
-        block = 33;
+        block = 5;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
+        printf("\n\r");
+        pc.printf("Enter 6 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
+        printf("\n\r");
+        block = 6;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
+        printf("\n\r");
+        pc.printf("Enter 8 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
+        printf("\n\r");
+        block = 8;
         pc.printf("Authenticating using key A...");
         status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
         if (status != MFRC522::STATUS_OK) {
@@ -196,13 +254,13 @@
             pc.printf("Succesfully Written to tag: ");
         }
         printf("\n\r");
-        pc.printf("Enter 44 block: "); // Enter Data
+        pc.printf("Enter 9 block: "); // Enter Data
         len=sizeof(buffer);
-        for(uint8_t i = 0; i < len; i++) {
+        for(uint8_t i = 0; i < 16; i++) {
             buffer[i] = pc.putc(pc.getc());
         }
         printf("\n\r");
-        block = 44;
+        block = 9;
         pc.printf("Authenticating using key A...");
         status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
         if (status != MFRC522::STATUS_OK) {
@@ -211,6 +269,7 @@
             LedRed=1;
             continue;
         }
+
         // Write block
         status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
         if (status != MFRC522::STATUS_OK) {
@@ -223,13 +282,13 @@
             pc.printf("Succesfully Written to tag: ");
         }
         printf("\n\r");
-        pc.printf("Enter 52 block: "); // Enter Data
+        pc.printf("Enter 10 block: "); // Enter Data
         len=sizeof(buffer);
-        for(uint8_t i = 0; i < len; i++) {
+        for(uint8_t i = 0; i < 16; i++) {
             buffer[i] = pc.putc(pc.getc());
         }
         printf("\n\r");
-        block = 52;
+        block = 10;
         pc.printf("Authenticating using key A...");
         status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
         if (status != MFRC522::STATUS_OK) {
@@ -250,10 +309,66 @@
             LedYellow=1;
             pc.printf("Succesfully Written to tag: ");
         }
-       /* printf("\n\r");
+        printf("\n\r");
+        pc.printf("Enter 12 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
+        printf("\n\r");
+        block = 12;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
+        printf("\n\r");
+        pc.printf("Enter 13 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
+        printf("\n\r");
+        block = 13;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
+        printf("\n\r");
         pc.printf("Enter 14 block: "); // Enter Data
         len=sizeof(buffer);
-        for(uint8_t i = 0; i < len; i++) {
+        for(uint8_t i = 0; i < 16; i++) {
             buffer[i] = pc.putc(pc.getc());
         }
         printf("\n\r");
@@ -278,10 +393,40 @@
             LedYellow=1;
             pc.printf("Succesfully Written to tag: ");
         }
+
+
+        printf("\n\r");
+        pc.printf("Enter 16 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
+        printf("\n\r");
+        block = 16;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
         printf("\n\r");
         pc.printf("Enter 17 block: "); // Enter Data
         len=sizeof(buffer);
-        for(uint8_t i = 0; i < len; i++) {
+        for(uint8_t i = 0; i < 16; i++) {
             buffer[i] = pc.putc(pc.getc());
         }
         printf("\n\r");
@@ -307,9 +452,9 @@
             pc.printf("Succesfully Written to tag: ");
         }
         printf("\n\r");
-        pc.printf("Enter 19 block: "); // Enter Data
+        pc.printf("Enter 18 block: "); // Enter Data
         len=sizeof(buffer);
-        for(uint8_t i = 0; i < len; i++) {
+        for(uint8_t i = 0; i < 16; i++) {
             buffer[i] = pc.putc(pc.getc());
         }
         printf("\n\r");
@@ -334,10 +479,11 @@
             LedYellow=1;
             pc.printf("Succesfully Written to tag: ");
         }
+
         printf("\n\r");
         pc.printf("Enter 20 block: "); // Enter Data
         len=sizeof(buffer);
-        for(uint8_t i = 0; i < len; i++) {
+        for(uint8_t i = 0; i < 16; i++) {
             buffer[i] = pc.putc(pc.getc());
         }
         printf("\n\r");
@@ -363,13 +509,97 @@
             pc.printf("Succesfully Written to tag: ");
         }
         printf("\n\r");
-        pc.printf("Enter 60 block: "); // Enter Data
+        pc.printf("Enter 21 block: "); // Enter Data
         len=sizeof(buffer);
-        for(uint8_t i = 0; i < len; i++) {
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
+        printf("\n\r");
+        block = 21;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
+        printf("\n\r");
+        pc.printf("Enter 22 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
             buffer[i] = pc.putc(pc.getc());
-        }*/
+        }
+        printf("\n\r");
+        block = 22;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
+        printf("\n\r");
+        pc.printf("Enter 24 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
         printf("\n\r");
-        block = 60;
+        block = 24;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
+        printf("\n\r");
+        pc.printf("Enter 25 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
+        printf("\n\r");
+        block = 25;
         pc.printf("Authenticating using key A...");
         status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
         if (status != MFRC522::STATUS_OK) {
@@ -390,12 +620,139 @@
             LedYellow=1;
             pc.printf("Succesfully Written to tag: ");
         }
+        printf("\n\r");
+        pc.printf("Enter 26 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
+        printf("\n\r");
+        block = 26;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
+        printf("\n\r");
+        pc.printf("Enter 28 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
+        printf("\n\r");
+        block = 28;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
+        printf("\n\r");
+        pc.printf("Enter 29 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
+        printf("\n\r");
+        block = 29;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
+        printf("\n\r");
+        pc.printf("Enter 30 block: "); // Enter Data
+        len=sizeof(buffer);
+        for(uint8_t i = 0; i < 16; i++) {
+            buffer[i] = pc.putc(pc.getc());
+        }
+        printf("\n\r");
+        block = 30;
+        pc.printf("Authenticating using key A...");
+        status = (MFRC522::StatusCode)RfChip.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(RfChip.uid));
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("PCD_Authenticate() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        }
+
+        // Write block
+        status = (MFRC522::StatusCode)RfChip.MIFARE_Write(block, buffer, 16);
+        if (status != MFRC522::STATUS_OK) {
+            pc.printf("MIFARE_Write() failed: ");
+            pc.printf(RfChip.GetStatusCodeName(status));
+            LedRed=1;
+            continue;
+        } else {
+            LedYellow=1;
+            pc.printf("Succesfully Written to tag: ");
+        }
+
+        /* Here I am writing 3 Sector ie 1,2,4,5,6,7,8,9,10,12,13,14 blocks
+        If we you want to write more block so you should to define that block
+        .........................
+        ..........block..........
+        .........................
+        ..........block..........
+        .........................
+        ..........block..........
+        .........................
+        ..........block..........
+                    61
+                    62
+        */
         DumpToSerial(&(RfChip.uid));
         wait_ms(200);
     }
 
-}
+} //End WriteToRfidTag()
 
+//Create function for reading data
 void DumpToSerial(MFRC522::Uid *uid)
 {
     MFRC522::MIFARE_Key key;
@@ -444,7 +801,7 @@
 
     printf("\n\r");
 
-    RfChip.PICC_HaltA(); // Already done if it was a MIFARE Classic PICC.
+    RfChip.PICC_HaltA();
 } // End PICC_DumpToSerial()
 
 /**
@@ -675,8 +1032,8 @@
     printf("MFRC522 version: %d\n\r", temp & 0x07);
     printf("\n\r");
 
-    while(1) {
-       
+    while(true) {
+
         LedGreen = 1;
 
         // Look for new cards
@@ -695,7 +1052,7 @@
 
         LedGreen = 0;
 
-        //Write name to RFID tags
+        //Calling WriteToRfidTag()
         WriteToRfidTag(&(RfChip.uid));
         wait_ms(200);