資源簡介
里面是之前寫過的關于rc522的一點使用方法,也參考過一些文章等資料
代碼片段和文件信息
/*
?*?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);
??//復位RC522
??reset();
??//Timer:?TPrescaler*TreloadVal/6.78MHz?=?15ms
??writeMFRC522(TModeReg?0x8D);???//Tauto=1;?f(Timer)?=?6.78MHz/TPreScaler?10001101
??writeMFRC522(TPrescalerReg?0x3E);??//TModeReg[3..0]?+?TPrescalerReg?00111110
??writeMFRC522(TReloadRegL?30);
??writeMFRC522(TReloadRegH?0);
??
??writeMFRC522(TxAutoReg?0x40);????//100%ASK
??writeMFRC522(ModeReg?0x3D);????//?CRC?valor?inicial?de?0x6363??00?11?11?01
??//ClearBitMask(Status2Reg?0x08);?//MFCrypto1On=0
??//writeMFRC522(RxSelReg?0x86);???//RxWait?=?RxSelReg[5..0]
??//writeMFRC522(RFCfgReg?0x7F);?????//RxGain?=?48dB
??antennaOn();????//打開天線
}
/**********
- 上一篇:日歷記事本課設.rar
- 下一篇:spss顧客偏好分析案例數據.sav
評論
共有 條評論