我对RFID场景很陌生,我需要一些帮助! 我需要从我的RC522获取我的卡的价值,他们需要看起来像这样。
示例1:
byte card1[5] = {0xAD,0xB2,0xDB,0xEA,0x3E}; // card1
但此刻我似乎只能将它打印出小数值! 像这样。
示例2:
173 , 178 , 219 , 234 , 46
如何在第一个示例中获取卡的序列号?
更新
Serial.print(" ");
if(data[0] < 16){
Serial.print("0");
}
Serial.print(data[0],HEX);
if(data[1] < 16){
Serial.print("0");
}
Serial.print(data[1],HEX);
if(data[2] < 16){
Serial.print("0");
}
Serial.print(data[2],HEX);
if(data[3] < 16){
Serial.print("0");
}
Serial.print(data[3],HEX);
if(data[4] < 16){
Serial.print("0");
}
这是用于数组的代码
if (rfid.isCard()){ // Found valid card
if (rfid.readCardSerial()){ // Reads the card
delay(1000);
data[0] = rfid.serNum[0]; // Array's for Card serial number.
data[1] = rfid.serNum[1];
data[2] = rfid.serNum[2];
data[3] = rfid.serNum[3];
data[4] = rfid.serNum[4];
}
**
**
示例2的原始代码
#include <SPI.h>
#include <RFID.h>
RFID rfid(10,5);
void setup()
{
Serial.begin(9600);
SPI.begin();
rfid.init();
}
void loop()
{
if (rfid.isCard()) {
Serial.println("IS CARD");
if (rfid.readCardSerial()) {
Serial.println(" ");
Serial.println("The serial number of the card is : ");
Serial.print(rfid.serNum[0],DEC);
Serial.print(" , ");
Serial.print(rfid.serNum[1],DEC);
Serial.print(" , ");
Serial.print(rfid.serNum[2],DEC);
Serial.print(" , ");
Serial.print(rfid.serNum[3],DEC);
Serial.print(" , ");
Serial.print(rfid.serNum[4],DEC);
Serial.println(" ");
delay(1555); // Delay before reading again
}
}
rfid.halt();
}
答案 0 :(得分:2)
for(int i=0; i<5; ++i) {
Serial.print(i?", 0x":"{0x");
if (rfid.serNum[i]<0x10) Serial.print("0");
Serial.print(rfid.serNum[i], HEX);
}
Serial.println("}");