lvehikaru 发表于 2014-8-10 18:27:37

RFID-RC522卡的读取问题

我用的是RFID-RC522,还有Arduino Uno开发板。
参照网上的连线,已经确定各个脚都没有连错,用电压表也确定有电压输出,但是把参考程序写进去后,读不出卡的信息,刚开始能读出,但是出来是unknow,后来就读不出来了,怎么接触都不行。
我在想会不会是卡坏了,还是什么其它原因,求有这方面的经验的人给点建议。

莲子 发表于 2014-8-10 23:21:09

/*实现功能:刷卡,点亮和关闭接在数字pin3口的LED,此点灯熄灯代码为自己添加
接线:Arduino端            RC522端
       VCC----------------->3.3V
       GND----------------->GND
         D5----------------->RST
       D10----------------->SDA
       D11----------------->MOSI
       D12----------------->MISO
       D13----------------->SCK
时间:2014/6/10
修改作者:彬彬*/
#include <SPI.h>

#define uchar unsigned char
#define uint unsigned int

//data array maxium length
#define MAX_LEN 16

/////////////////////////////////////////////////////////////////////
//set the pin
/////////////////////////////////////////////////////////////////////
const int chipSelectPin = 10;
const int NRSTPD = 5;
//LED
int led=3;
char count=0;



//MF522 command bits
#define PCD_IDLE 0x00 //NO action; cancel current commands
#define PCD_AUTHENT 0x0E //verify password key
#define PCD_RECEIVE 0x08 //receive data
#define PCD_TRANSMIT 0x04 //send data
#define PCD_TRANSCEIVE 0x0C //send and receive data
#define PCD_RESETPHASE 0x0F //reset
#define PCD_CALCCRC 0x03 //CRC check and caculation

//Mifare_One card command bits
#define PICC_REQIDL 0x26 //Search the cards that not into sleep mode in the antenna area
#define PICC_REQALL 0x52 //Search all the cards in the antenna area
#define PICC_ANTICOLL 0x93 //prevent conflict
#define PICC_SElECTTAG 0x93 //select card
#define PICC_AUTHENT1A 0x60 //verify A password key
#define PICC_AUTHENT1B 0x61 //verify B password key
#define PICC_READ 0x30 //read
#define PICC_WRITE 0xA0 //write
#define PICC_DECREMENT 0xC0 //deduct value
#define PICC_INCREMENT 0xC1 //charge up value
#define PICC_RESTORE 0xC2 //Restore data into buffer
#define PICC_TRANSFER 0xB0 //Save data into buffer
#define PICC_HALT 0x50 //sleep mode


//THe mistake code that return when communicate with MF522
#define MI_OK 0
#define MI_NOTAGERR 1
#define MI_ERR 2


//------------------MFRC522 register ---------------
//Page 0:Command and Status
#define Reserved00 0x00
#define CommandReg 0x01
#define CommIEnReg 0x02
#define DivlEnReg 0x03
#define CommIrqReg 0x04
#define DivIrqReg 0x05
#define ErrorReg 0x06
#define Status1Reg 0x07
#define Status2Reg 0x08
#define FIFODataReg 0x09
#define FIFOLevelReg 0x0A
#define WaterLevelReg 0x0B
#define ControlReg 0x0C
#define BitFramingReg 0x0D
#define CollReg 0x0E
#define Reserved01 0x0F
//Page 1:Command
#define Reserved10 0x10
#define ModeReg 0x11
#define TxModeReg 0x12
#define RxModeReg 0x13
#define TxControlReg 0x14
#define TxAutoReg 0x15
#define TxSelReg 0x16
#define RxSelReg 0x17
#define RxThresholdReg 0x18
#define DemodReg 0x19
#define Reserved11 0x1A
#define Reserved12 0x1B
#define MifareReg 0x1C
#define Reserved13 0x1D
#define Reserved14 0x1E
#define SerialSpeedReg 0x1F
//Page 2:CFG
#define Reserved20 0x20
#define CRCResultRegM 0x21
#define CRCResultRegL 0x22
#define Reserved21 0x23
#define ModWidthReg 0x24
#define Reserved22 0x25
#define RFCfgReg 0x26
#define GsNReg 0x27
#define CWGsPReg 0x28
#define ModGsPReg 0x29
#define TModeReg 0x2A
#define TPrescalerReg 0x2B
#define TReloadRegH 0x2C
#define TReloadRegL 0x2D
#define TCounterValueRegH 0x2E
#define TCounterValueRegL 0x2F
//Page 3:TestRegister
#define Reserved30 0x30
#define TestSel1Reg 0x31
#define TestSel2Reg 0x32
#define TestPinEnReg 0x33
#define TestPinValueReg 0x34
#define TestBusReg 0x35
#define AutoTestReg 0x36
#define VersionReg 0x37
#define AnalogTestReg 0x38
#define TestDAC1Reg 0x39
#define TestDAC2Reg 0x3A
#define TestADCReg 0x3B
#define Reserved31 0x3C
#define Reserved32 0x3D
#define Reserved33 0x3E
#define Reserved34 0x3F
//-----------------------------------------------

//4 bytes Serial number of card, the 5 bytes is verfiy bytes
uchar serNum;


void setup()
{
    Serial.begin(57600);
   
    SPI.begin();
   
    pinMode(chipSelectPin,OUTPUT); // Set digital pin 10 as OUTPUT to connect it to the RFID /ENABLE pin
    digitalWrite(chipSelectPin, LOW); // Activate the RFID reader
    pinMode(NRSTPD,OUTPUT); // Set digital pin 5 , Not Reset and Power-down
   
    pinMode(led,OUTPUT);//位于3脚的led灯
    digitalWrite(led,LOW);//led初始状态为熄灭
   
    MFRC522_Init();
}


void loop()
{

    uchar status;
    uchar str;

   
    // Search card, return card types
    status = MFRC522_Request(PICC_REQIDL, str);
    if (status != MI_OK)
    {
      return;
    }
   
   
    // Show card type
    ShowCardType(str);
   
    //Prevent conflict, return the 4 bytes Serial number of the card
    status = MFRC522_Anticoll(str);
   
    // str: serial number of the card
    // str: XOR checksum of the SN.
    if (status == MI_OK)
    {
      Serial.print("The card's number is: ");
      memcpy(serNum, str, 5);
      ShowCardID(serNum);
   
      // Check people associated with card ID
      //我个人的理解,这里相当于一个小型的数据库,用来验证IC卡的合法性
      uchar* id = serNum;
      if( id==0xB4 && id==0xDB && id==0x97 && id==0xDD ) {
            count++;//IC卡验证通过,加1,此段代码是自己修改的,可以实现通过IC卡来点灯和熄灯
            if(count%2!=0)
            {
            Serial.println("Hello KuangBin!");
            digitalWrite(led,HIGH);//IC卡验证通过,点亮led
            }
            if(count%2==0)
            {
               Serial.println("Byebye KuangBin!");
               digitalWrite(led,LOW);//IC卡验证通过,点亮led
            }
      } else if(id==0x3B && id==0xE6 && id==0xD1 && id==0x3B) {
            Serial.println("Hello Greg!");
      }else{
            Serial.println("Hello unkown guy!");
      }
    }

   
    MFRC522_Halt(); //command the card into sleep mode

    delay(200);
}

/*
* Function:ShowCardID
* Description:Show Card ID
* Input parameter:ID string
* Return:Null
*/
void ShowCardID(uchar *id)
{
    int IDlen=4;
    for(int i=0; i<IDlen; i++){
      Serial.print(0x0F & (id>>4), HEX);
      Serial.print(0x0F & id,HEX);
    }
    Serial.println("");
}

/*
* Function:ShowCardType
* Description:Show Card type
* Input parameter:Type string
* Return:Null
*/
void ShowCardType(uchar* type)
{
    Serial.print("Card type: ");
    if(type==0x04&&type==0x00)
      Serial.println("MFOne-S50");
    else if(type==0x02&&type==0x00)
      Serial.println("MFOne-S70");
    else if(type==0x44&&type==0x00)
      Serial.println("MF-UltraLight");
    else if(type==0x08&&type==0x00)
      Serial.println("MF-Pro");
    else if(type==0x44&&type==0x03)
      Serial.println("MF Desire");
    else
      Serial.println("Unknown");
}

/*
* Function:Write_MFRC5200
* Description:write a byte data into one register of MR RC522
* Input parameter:addr--register address;val--the value that need to write in
* Return:Null
*/
void Write_MFRC522(uchar addr, uchar val)
{
    digitalWrite(chipSelectPin, LOW);

    //address format:0XXXXXX0
    SPI.transfer((addr<<1)&0x7E);
    SPI.transfer(val);
   
    digitalWrite(chipSelectPin, HIGH);
}


/*
* Function:Read_MFRC522
* Description:read a byte data into one register of MR RC522
* Input parameter:addr--register address
* Return:return the read value
*/
uchar Read_MFRC522(uchar addr)
{
    uchar val;

    digitalWrite(chipSelectPin, LOW);

    //address format:1XXXXXX0
    SPI.transfer(((addr<<1)&0x7E) | 0x80);
    val =SPI.transfer(0x00);
   
    digitalWrite(chipSelectPin, HIGH);
   
    return val;
}

/*
* Function:SetBitMask
* Description:set RC522 register bit
* Input parameter:reg--register address;mask--value
* Return:null
*/
void SetBitMask(uchar reg, uchar mask)
{
    uchar tmp;
    tmp = Read_MFRC522(reg);
    Write_MFRC522(reg, tmp | mask); // set bit mask
}


/*
* Function:ClearBitMask
* Description:clear RC522 register bit
* Input parameter:reg--register address;mask--value
* Return:null
*/
void ClearBitMask(uchar reg, uchar mask)
{
    uchar tmp;
    tmp = Read_MFRC522(reg);
    Write_MFRC522(reg, tmp & (~mask)); // clear bit mask
}


/*
* Function:AntennaOn
* Description:Turn on antenna, every time turn on or shut down antenna need at least 1ms delay
* Input parameter:null
* Return:null
*/
void AntennaOn(void)
{
    uchar temp;

    temp = Read_MFRC522(TxControlReg);
    if (!(temp & 0x03))
    {
      SetBitMask(TxControlReg, 0x03);
    }
}


/*
* Function:AntennaOff
* Description:Turn off antenna, every time turn on or shut down antenna need at least 1ms delay
* Input parameter:null
* Return:null
*/
void AntennaOff(void)
{
    ClearBitMask(TxControlReg, 0x03);
}


/*
* Function:ResetMFRC522
* Description: reset RC522
* Input parameter:null
* Return:null
*/
void MFRC522_Reset(void)
{
    Write_MFRC522(CommandReg, PCD_RESETPHASE);
}


/*
* Function:InitMFRC522
* Description:initilize RC522
* Input parameter:null
* Return:null
*/
void MFRC522_Init(void)
{
    digitalWrite(NRSTPD,HIGH);

    MFRC522_Reset();
         
    //Timer: TPrescaler*TreloadVal/6.78MHz = 24ms
    Write_MFRC522(TModeReg, 0x8D); //Tauto=1; f(Timer) = 6.78MHz/TPreScaler
    Write_MFRC522(TPrescalerReg, 0x3E); //TModeReg + TPrescalerReg
    Write_MFRC522(TReloadRegL, 30);
    Write_MFRC522(TReloadRegH, 0);
   
    Write_MFRC522(TxAutoReg, 0x40); //100%ASK
    Write_MFRC522(ModeReg, 0x3D); //CRC initilizate value 0x6363 ???

    //ClearBitMask(Status2Reg, 0x08); //MFCrypto1On=0
    //Write_MFRC522(RxSelReg, 0x86); //RxWait = RxSelReg
    //Write_MFRC522(RFCfgReg, 0x7F); //RxGain = 48dB

    AntennaOn(); //turn on antenna
}


/*
* Function:MFRC522_Request
* Description:Searching card, read card type
* Input parameter:reqMode--search methods,
* TagType--return card types
* 0x4400 = Mifare_UltraLight
* 0x0400 = Mifare_One(S50)
* 0x0200 = Mifare_One(S70)
* 0x0800 = Mifare_Pro(X)
* 0x4403 = Mifare_DESFire
* return:return MI_OK if successed
*/
uchar MFRC522_Request(uchar reqMode, uchar *TagType)
{
    uchar status;
    uint backBits; //the data bits that received

    Write_MFRC522(BitFramingReg, 0x07); //TxLastBists = BitFramingReg ???
   
    TagType = reqMode;
    status = MFRC522_ToCard(PCD_TRANSCEIVE, TagType, 1, TagType, &backBits);

    if ((status != MI_OK) || (backBits != 0x10))
    {
      status = MI_ERR;
    }
   
    return status;
}


/*
* Function:MFRC522_ToCard
* Description:communicate between RC522 and ISO14443
* Input parameter:command--MF522 command bits
* sendData--send data to card via rc522
* sendLen--send data length
* backData--the return data from card
* backLen--the length of return data
* return:return MI_OK if successed
*/
uchar MFRC522_ToCard(uchar command, uchar *sendData, uchar sendLen, uchar *backData, uint *backLen)
{
    uchar status = MI_ERR;
    uchar irqEn = 0x00;
    uchar waitIRq = 0x00;
    uchar lastBits;
    uchar n;
    uint i;

    switch (command)
    {
      case PCD_AUTHENT: //verify card password
      {
            irqEn = 0x12;
            waitIRq = 0x10;
            break;
      }
      case PCD_TRANSCEIVE: //send data in the FIFO
      {
            irqEn = 0x77;
            waitIRq = 0x30;
            break;
      }
      default:
            break;
    }
   
    Write_MFRC522(CommIEnReg, irqEn|0x80); //Allow interruption
    ClearBitMask(CommIrqReg, 0x80); //Clear all the interrupt bits
    SetBitMask(FIFOLevelReg, 0x80); //FlushBuffer=1, FIFO initilizate
   
    Write_MFRC522(CommandReg, PCD_IDLE); //NO action;cancel current command ???

    //write data into FIFO
    for (i=0; i<sendLen; i++)
    {
      Write_MFRC522(FIFODataReg, sendData);
    }

    //procceed it
    Write_MFRC522(CommandReg, command);
    if (command == PCD_TRANSCEIVE)
    {
      SetBitMask(BitFramingReg, 0x80); //StartSend=1,transmission of data starts
    }
   
    //waite receive data is finished
    i = 2000; //i should adjust according the clock, the maxium the waiting time should be 25 ms???
    do
    {
      //CommIrqReg
      //Set1 TxIRq RxIRq IdleIRq HiAlerIRq LoAlertIRq ErrIRq TimerIRq
      n = Read_MFRC522(CommIrqReg);
      i--;
    }
    while ((i!=0) && !(n&0x01) && !(n&waitIRq));

    ClearBitMask(BitFramingReg, 0x80); //StartSend=0
   
    if (i != 0)
    {
      if(!(Read_MFRC522(ErrorReg) & 0x1B)) //BufferOvfl Collerr CRCErr ProtecolErr
      {
            status = MI_OK;
            if (n & irqEn & 0x01)
            {
                status = MI_NOTAGERR; //??
            }
            
            if (command == PCD_TRANSCEIVE)
            {
                n = Read_MFRC522(FIFOLevelReg);
                lastBits = Read_MFRC522(ControlReg) & 0x07;
                if (lastBits)
                {
                  *backLen = (n-1)*8 + lastBits;
                }
                else
                {
                  *backLen = n*8;
                }
               
                if (n == 0)
                {
                  n = 1;
                }
                if (n > MAX_LEN)
                {
                  n = MAX_LEN;
                }
               
                //read the data from FIFO
                for (i=0; i<n; i++)
                {
                  backData = Read_MFRC522(FIFODataReg);
                }
            }
      }
      else
      {
            status = MI_ERR;
      }
      
    }
   
    //SetBitMask(ControlReg,0x80); //timer stops
    //Write_MFRC522(CommandReg, PCD_IDLE);

    return status;
}


/*
* Function:MFRC522_Anticoll
* Description:Prevent conflict, read the card serial number
* Input parameter:serNum--return the 4 bytes card serial number, the 5th byte is recheck byte
* return:return MI_OK if successed
*/
uchar MFRC522_Anticoll(uchar *serNum)
{
    uchar status;
    uchar i;
    uchar serNumCheck=0;
    uint unLen;
   
    //ClearBitMask(Status2Reg, 0x08); //strSensclear
    //ClearBitMask(CollReg,0x80); //ValuesAfterColl
    Write_MFRC522(BitFramingReg, 0x00); //TxLastBists = BitFramingReg

    serNum = PICC_ANTICOLL;
    serNum = 0x20;
    status = MFRC522_ToCard(PCD_TRANSCEIVE, serNum, 2, serNum, &unLen);

    if (status == MI_OK)
    {
      //Verify card serial number
      for (i=0; i<4; i++)
      {
            serNumCheck ^= serNum;
      }
      if (serNumCheck != serNum)
      {
            status = MI_ERR;
      }
    }

    //SetBitMask(CollReg, 0x80); //ValuesAfterColl=1

    return status;
}


/*
* Function:CalulateCRC
* Description:Use MF522 to caculate CRC
* Input parameter:pIndata--the CRC data need to be read,len--data length,pOutData-- the caculated result of CRC
* return:Null
*/
void CalulateCRC(uchar *pIndata, uchar len, uchar *pOutData)
{
    uchar i, n;

    ClearBitMask(DivIrqReg, 0x04); //CRCIrq = 0
    SetBitMask(FIFOLevelReg, 0x80); //Clear FIFO pointer
    //Write_MFRC522(CommandReg, PCD_IDLE);

    //Write data into FIFO
    for (i=0; i<len; i++)
    {
      Write_MFRC522(FIFODataReg, *(pIndata+i));
    }
    Write_MFRC522(CommandReg, PCD_CALCCRC);

    //waite CRC caculation to finish
    i = 0xFF;
    do
    {
      n = Read_MFRC522(DivIrqReg);
      i--;
    }
    while ((i!=0) && !(n&0x04)); //CRCIrq = 1

    //read CRC caculation result
    pOutData = Read_MFRC522(CRCResultRegL);
    pOutData = Read_MFRC522(CRCResultRegM);
}



/*
* Function:MFRC522_Write
* Description:write block data
* Input parameters:blockAddr--block address;writeData--Write 16 bytes data into block
* return:return MI_OK if successed
*/
uchar MFRC522_Write(uchar blockAddr, uchar *writeData)
{
    uchar status;
    uint recvBits;
    uchar i;
    uchar buff;
   
    buff = PICC_WRITE;
    buff = blockAddr;
    CalulateCRC(buff, 2, &buff);
    status = MFRC522_ToCard(PCD_TRANSCEIVE, buff, 4, buff, &recvBits);

    if ((status != MI_OK) || (recvBits != 4) || ((buff & 0x0F) != 0x0A))
    {
      status = MI_ERR;
    }
      
    if (status == MI_OK)
    {
      for (i=0; i<16; i++) //Write 16 bytes data into FIFO
      {
            buff = *(writeData+i);
      }
      CalulateCRC(buff, 16, &buff);
      status = MFRC522_ToCard(PCD_TRANSCEIVE, buff, 18, buff, &recvBits);
      
      if ((status != MI_OK) || (recvBits != 4) || ((buff & 0x0F) != 0x0A))
      {
            status = MI_ERR;
      }
    }
   
    return status;
}


/*
* Function:MFRC522_Halt
* Description:Command the cards into sleep mode
* Input parameters:null
* return:null
*/
void MFRC522_Halt(void)
{
    uchar status;
    uint unLen;
    uchar buff;

    buff = PICC_HALT;
    buff = 0;
    CalulateCRC(buff, 2, &buff);

    status = MFRC522_ToCard(PCD_TRANSCEIVE, buff, 4, buff,&unLen);
}

lvehikaru 发表于 2014-8-10 23:37:38

莲子 发表于 2014-8-10 23:21 static/image/common/back.gif
/*实现功能:刷卡,点亮和关闭接在数字pin3口的LED,此点灯熄灯代码为自己添加
接线:Arduino端         ...

你好,我又按照你所回复的检查了一遍连线,也把你的代码借用了,但是我用钥匙扣靠近并接触RFID-RC522的卡时,Arduino 板上的RX灯不会亮,而且串口上面也没有反馈任何信息,波特率设置肯定没错,与程序一致。请问这到底是出什么问题了?

莲子 发表于 2014-8-11 01:00:57

lvehikaru 发表于 2014-8-10 23:37 static/image/common/back.gif
你好,我又按照你所回复的检查了一遍连线,也把你的代码借用了,但是我用钥匙扣靠近并接触RFID-RC522的卡 ...

咦,你的怎么会不行咧,要不你仔细的检查一下你的硬件连接。我刚刚试了一下,我的可以的,,我的图
data:image/png;base64,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
要想灯亮,这个地方的代码必须要和卡号匹配才会亮的,,
if( id==0xB4 && id==0xDB && id==0x97 && id==0xDD ) {
            count++;//IC卡验证通过,加1,此段代码是自己修改的,可以实现通过IC卡来点灯和熄灯
data:image/png;base64,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
你先刷一下卡,看看你的卡号,然后将上面标的红颜色的数值用你的卡号(卡号共有8位)从左到右依次2位替换就可以了,,
祝你成功哦~~

lvehikaru 发表于 2014-8-11 20:14:27

莲子 发表于 2014-8-11 01:00 static/image/common/back.gif
咦,你的怎么会不行咧,要不你仔细的检查一下你的硬件连接。我刚刚试了一下,我的可以的,,我的图

要 ...

````我第一步读卡就没反应,串口的波特率设置应该没错,每次刷卡时,Arduino板上的RX灯都不会闪,好像根本没有读数据,我就是在想是不是RFID-RC522坏了,怎么测试它的好坏?我怕如果是它坏了,那我搞再多也是无用功呀:'(

lvehikaru 发表于 2014-8-11 22:36:04

莲子 发表于 2014-8-11 01:00 static/image/common/back.gif
咦,你的怎么会不行咧,要不你仔细的检查一下你的硬件连接。我刚刚试了一下,我的可以的,,我的图

要 ...

非常感谢你的帮助啊,原来是我焊接电路的时候除了问题,应该是某个脚没有焊好,我重新焊了排针后,然后显示出来了,很感谢你提供的代码:)

莲子 发表于 2014-8-12 09:53:20

lvehikaru 发表于 2014-8-11 22:36 static/image/common/back.gif
非常感谢你的帮助啊,原来是我焊接电路的时候除了问题,应该是某个脚没有焊好,我重新焊了排针后,然后显 ...

{:soso_e113:} 嘻嘻,不谢的,大家都互相学习的嘛~~

leong118 发表于 2014-8-15 15:45:27

如果要多張卡用呢?应耍怎样.谢谢!

lvehikaru 发表于 2014-8-15 20:14:34

leong118 发表于 2014-8-15 15:45 static/image/common/back.gif
如果要多張卡用呢?应耍怎样.谢谢!

你是想问多张卡刷了之后,灯会亮还是怎么样?

leong118 发表于 2014-8-15 21:01:52

非常感谢你的回復,我想問怎样可以输入多張卡号,使多张卡都可以亮灯,谢谢!

lvehikaru 发表于 2014-8-15 21:27:56

leong118 发表于 2014-8-15 21:01 static/image/common/back.gif
非常感谢你的回復,我想問怎样可以输入多張卡号,使多张卡都可以亮灯,谢谢!

if( id==0xB4 && id==0xDB && id==0x97 && id==0xDD ) {
            count++;//IC卡验证通过,加1,此段代码是自己修改的,可以实现通过IC卡来点灯和熄灯
            if(count%2!=0)
            {
            Serial.println("Hello KuangBin!");
            digitalWrite(led,HIGH);//IC卡验证通过,点亮led
            }

修改程序,这个程序中,if(id),后面,就是你事先读出的卡号,先读出你想要亮灯的卡号,写多几个if语句,然后让digitalWrite(led,HIGH),就是灯亮,这样就可以了。

leong118 发表于 2014-8-15 21:59:54

if( id==0xB4 && id==0xDB && id==0x97 && id==0xDD )//卡号1
if( id==0xB5 && id==0xDc && id==0x98 && id==0xDE )//卡号2
{
            count++;//IC卡验证通过,加1,此段代码是自己修改的,可以实现通过IC卡来点灯和熄灯
            if(count%2!=0)
            {
            Serial.println("Hello KuangBin!");
            digitalWrite(led,HIGH);//IC卡验证通过,点亮led
            }
是否这样就可以?

lvehikaru 发表于 2014-8-15 22:11:51

leong118 发表于 2014-8-15 21:59 static/image/common/back.gif
if( id==0xB4 && id==0xDB && id==0x97 && id==0xDD )//卡号1
if( id==0xB5 && id==0xD ...

额,if不能这样写的吧,你这样就会变成了两个同时成立才会亮了。
分别单独写,
if( id==0xB4 && id==0xDB && id==0x97 && id==0xDD )
{
            count++;//IC卡验证通过,加1,此段代码是自己修改的,可以实现通过IC卡来点灯和熄灯
            if(count%2!=0)
            {
            Serial.println("Hello KuangBin!");
            digitalWrite(led,HIGH);//IC卡验证通过,点亮led
            }
if( id==0xB5 && id==0xDc && id==0x98 && id==0xDE )
{
            count1++;//IC卡验证通过,加1,此段代码是自己修改的,可以实现通过IC卡来点灯和熄灯
            if(count1%2!=0)
            {
            Serial.println("Hello KuangBin!");
            digitalWrite(led,HIGH);//IC卡验证通过,点亮led
            }
另外要注意加粗的地方,为了防止不同卡之间产生干扰,最好设置不同的中间量,这样,就可以了

leong118 发表于 2014-8-15 22:22:38

count++;//IC卡验证通过,加1,此段代码是自己修改的,可以实现通过IC卡来点灯和熄灯
            if(count%2!=0)
count1++;//IC卡验证通过,加1,此段代码是自己修改的,可以实现通过IC卡来点灯和熄灯
            if(count1%2!=0)
count //卡号1
count1//卡号2
count2//卡号3
count3//卡号4.........
多張卡就是这样么?

lvehikaru 发表于 2014-8-15 22:29:36

leong118 发表于 2014-8-15 22:22 static/image/common/back.gif
count++;//IC卡验证通过,加1,此段代码是自己修改的,可以实现通过IC卡来点灯和熄灯
            if(coun ...

嗯,因为这个程序是刷一次卡,灯亮,刷第二次,灯灭。如果你的中间量都是同一个,那么第一张卡去刷,灯亮,第二张卡去刷,灯就会灭了。所以要用不同的中间量,不过记得要在最前面定义这些量~你可以用三张卡试试,说太多也没用,先连接硬件,把程序烧进去看看~~
页: [1] 2 3
查看完整版本: RFID-RC522卡的读取问题