Hello guys,
I have this code:
int getid(){
if(!mfrc522.PICC_IsNewCardPresent()){
return 0;
}
if(!mfrc522.PICC_ReadCardSerial()){
return 0;
}
Serial.println("ID:");
for(int i=0;i<4;i++){ //
readcard[i]=mfrc522.uid.uidByte[i];
array_to_string(readcard, 4, str);
UserID = str;
}
mfrc522.PICC_HaltA();
return 1;
}
void array_to_string(byte array[], unsigned int len, char buffer[])
{
for (unsigned int i = 0; i < len; i++)
{
byte nib1 = (array[i] >> 4) & 0x0F;
byte nib2 = (array[i] >> 0) & 0x0F;
buffer[i*2+0] = nib1 < 0xA ? '0' + nib1 : 'A' + nib1 - 0xA;
buffer[i*2+1] = nib2 < 0xA ? '0' + nib2 : 'A' + nib2 - 0xA;
}
buffer[len*2] = '\0';
}
Can someone explain to me what happened in these functions? Can you explain to me line by line?
What are those values from function 2?