51单片机RC522射频卡驱动(4)

2019-06-11 18:39

{

n = ReadRawRC(ComIrqReg); i--; }

while ((i!=0) && !(n&0x01) && !(n&waitFor)); ClearBitMask(BitFramingReg,0x80);

if (i!=0) {

if(!(ReadRawRC(ErrorReg)&0x1B)) {

status = MI_OK; if (n & irqEn & 0x01)

{ status = MI_NOTAGERR; } if (Command == PCD_TRANSCEIVE) {

n = ReadRawRC(FIFOLevelReg);

lastBits = ReadRawRC(ControlReg) & 0x07; if (lastBits)

{ *pOutLenBit = (n-1)*8 + lastBits; } else

{ *pOutLenBit = n*8; } if (n == 0)

{ n = 1; } if (n > MAXRLEN)

{ n = MAXRLEN; } for (i=0; i

{ pOutData[i] = ReadRawRC(FIFODataReg); } } else

{ status = MI_ERR; } }

SetBitMask(ControlReg,0x80); // stop timer now WriteRawRC(CommandReg,PCD_IDLE); return status; }

///////////////////////////////////////////////////////////////////// //开启天线

//每次启动或关闭天险发射之间应至少有1ms的间隔

} ///////////////////////////////////////////////////////////////////// void PcdAntennaOn(void) {

uint8 xdata i;

i = ReadRawRC(TxControlReg); if (!(i & 0x03)) {

SetBitMask(TxControlReg, 0x03); } }

///////////////////////////////////////////////////////////////////// //关闭天线

///////////////////////////////////////////////////////////////////// void PcdAntennaOff(void) { ClearBitMask(TxControlReg, 0x03); }

///////////////////////////////////////////////////////////////////// //rc522初始化

///////////////////////////////////////////////////////////////////// void InitRc522(void) {

PcdReset();

PcdAntennaOff(); delay1ms500us(); PcdAntennaOn();

M500PcdConfigISOType( 'A' ); }


51单片机RC522射频卡驱动(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:质量管理的常用工具与手法(含试题及答案) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: