首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino RC522 Bytes和十六进制

Arduino RC522 Bytes和十六进制
EN

Stack Overflow用户
提问于 2013-11-27 08:33:58
回答 1查看 2.4K关注 0票数 0

我对RFID很陌生,我需要一些帮助!我需要从我的RC522中得到我的卡片的价值,它们看起来像这样。

示例1:

代码语言:javascript
复制
byte card1[5] = {0xAD,0xB2,0xDB,0xEA,0x3E}; // card1

但是现在我似乎只能把它打印成小数!就像这样。

示例2:

代码语言:javascript
复制
173 , 178 , 219 , 234 , 46 

我如何获得第一个例子中卡片的序列号?

更新

代码语言:javascript
复制
 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");
}

这是用于数组的代码。

代码语言:javascript
复制
  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

**

原始代码,例如2

代码语言:javascript
复制
#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();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-27 12:11:28

代码语言:javascript
复制
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("}");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20237342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档