• 大小: 9KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签: RFID.H  Arduino  

资源简介

ESP8266和RC522,Arduino IDE环境中用到的RFID.h头文件

资源截图

代码片段和文件信息

/*
 * RFID.cpp - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT.
 * based on code Dr.Leong   ( WWW.B2CQSHOP.COM )
 * Created by Miguel Balboa Jan 2012.
 * Released into the public domain.
 * 整理者:极客工坊bg1lsy (lsy@sogou.com)
 * 整理时间:2013.05.25
 */

/******************************************************************************
 * 包含文件
 ******************************************************************************/
#include 
#include 

/******************************************************************************
 * 构造 RFID
 * int chipSelectPin RFID /ENABLE pin
 ******************************************************************************/
RFID::RFID(int chipSelectPin int NRSTPD)
{
  _chipSelectPin = chipSelectPin;
  _NRSTPD = NRSTPD;

  pinMode(_chipSelectPinOUTPUT);     // 设置管脚_chipSelectPin为输出并连接到模块使能口
  digitalWrite(_chipSelectPin LOW);


  pinMode(_NRSTPDOUTPUT);            // 设置管脚NRSTPD为输出,非重置或掉电
  digitalWrite(_NRSTPD HIGH);
}

/******************************************************************************
 * 用户 API
 ******************************************************************************/

/******************************************************************************
 * 函 数 名:isCard
 * 功能描述:寻卡
 * 输入参数:无
 * 返 回 值:成功返回ture 失败返回false
 ******************************************************************************/
bool RFID::isCard()
{
  unsigned char status;
  unsigned char str[MAX_LEN];

  status = MFRC522Request(PICC_REQIDL str);
  if (status == MI_OK)
    return true;
  else
    return false;
}

/******************************************************************************
 * 函 数 名:readCardSerial
 * 功能描述:返回卡的序列号 4字节
 * 输入参数:无
 * 返 回 值:成功返回ture 失败返回false
 ******************************************************************************/
bool RFID::readCardSerial(){

  unsigned char status;
  unsigned char str[MAX_LEN];
  
  // 防冲撞,返回卡的序列号 4字节,存入serNum中
  status = anticoll(str);
  memcpy(serNum str 5);
  
  if (status == MI_OK)
    return true;
  else
    return false;
}

/******************************************************************************
 * 函 数 名:init
 * 功能描述:初始化RC522
 * 输入参数:无
 * 返 回 值:无
 ******************************************************************************/
void RFID::init()
{
  digitalWrite(_NRSTPDHIGH);

  reset();

  //Timer: TPrescaler*TreloadVal/6.78MHz = 24ms
  writeMFRC522(TModeReg 0x8D);   //Tauto=1; f(Timer) = 6.78MHz/TPreScaler
  writeMFRC522(TPrescalerReg 0x3E);  //TModeReg[3..0] + TPrescalerReg
  writeMFRC522(TReloadRegL 30);
  writeMFRC522(TReloadRegH 0);
  writeMFRC522(TxAutoReg 0x40);    //100%ASK
  writeMFRC522(ModeReg 0x3D);    // CRC valor inicial de 0x6363

  //ClearBitMask(Status2Reg 0x08); //MFCrypto1On=0
  //writeMFRC522(RxSelReg 0x86);   //RxWait = RxSelReg[5..0]
  //writeMFRC522(RFCfgReg 0x7F);     //RxGain = 48dB

  antennaOn();    //打开天线
}

/*************************************************************************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-16 23:48  RFID\
     目录           0  2018-12-16 23:48  RFID\examples\
     目录           0  2018-12-16 23:48  RFID\examples\pruebaLibreriaRFID\
     文件         839  2013-05-25 20:53  RFID\examples\pruebaLibreriaRFID\pruebaLibreriaRFID.ino
     目录           0  2018-12-16 23:48  RFID\examples\ReadAndWriteRFID\
     文件        2655  2013-05-25 20:54  RFID\examples\ReadAndWriteRFID\ReadAndWriteRFID.ino
     文件         734  2012-09-09 13:04  RFID\keywords.txt
     文件       15971  2013-05-25 20:52  RFID\RFID.cpp
     文件        5896  2013-05-25 20:52  RFID\RFID.h

评论

共有 条评论