RFID_开发技术及实践_(西电版)第5章_高频RFID阅读器设计教材教学课件.ppt

RFID_开发技术及实践_(西电版)第5章_高频RFID阅读器设计教材教学课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教学课件讲义PPT教学教案培训资料医学中小学上课资料

ucComMF522Buf[0] = PICC_ANTICOLL1; ucComMF522Buf[1] = 0x70; ucComMF522Buf[6] = 0; //存入buffer for (i=0; i4; i++) { ucComMF522Buf[i+2] = *(pSnr+i); ucComMF522Buf[6] ^= *(pSnr+i); } //计算校验码 CalulateCRC(ucComMF522Buf,7,ucComMF522Buf[7]); ClearBitMask(Status2Reg,0x08); status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,9,ucComMF522Buf,unLen); if ((status == MI_OK) (unLen == 0x18)) { status = MI_OK; } else { status = MI_ERR; } return status; }   PcdAuthState()函数负责验证卡片密码,具体源码如下:   【描述5.D.2】PcdAuthState()     /////////////////////////////////////////////////////////////////////     //功 能:验证卡片密码     //参数说明: auth_mode[IN]: 密码验证模式     // 0x60 = 验证A密钥     // 0x61 = 验证B密钥     // addr[IN]:块地址     // pKey[IN]:密码     // pSnr[IN]:卡片序列号,4字节     //返 回: 成功返回MI_OK ///////////////////////////////////////////////////////////////////// unsigned char PcdAuthState(unsigned char auth_mode,unsigned char addr,unsigned char *pKey,unsigned char *pSnr) { unsigned char status; unsigned int unLen; unsigned char i,ucComMF522Buf[MAXRLEN]; ucComMF522Buf[0] = auth_mode; ucComMF522Buf[1] = addr; //存入密码 for (i=0; i6; i++) { ucComMF522Buf[i+2] = *(pKey+i); } for (i=0; i6; i++) { ucComMF522Buf[i+8] = *(pSnr+i); } status = PcdComMF522(PCD_AUTHENT,ucComMF522Buf,12,ucComMF522Buf,unLen); if ((status != MI_OK) || (!(ReadRawRC(Status2Reg) 0x08))) { status = MI_ERR; } return status; }   ? ?FIFO缓冲区已满的警告:寄存器Status1Reg的HiAlert位。   ? ?FIFO缓冲区已空的警告:寄存器Status1Reg的LoAlert位。   ? 指示FIFO缓冲区已满时仍有字节写入:寄存器ErrorReg的BufferOvfl位。   ? ?BufferOvfl位可通过置位FIFOLevelReg寄存器的FlushBuffer位来清零。   当出现以下情况时,MFRC522可以产生中断信号:   ? 如果寄存器CommIEnReg的LoAlertIEn被置位,且当寄存器Status1Reg的LoAlert位变成1时,管脚IRQ激活。   ? 如果寄存器CommIEnReg的HiAlertIEn被置位,且当寄存器Status1Reg的HiAlert位变成1时,管脚IRQ激活。   ? 如果FIFO缓冲区中只允许存放WaterLevel个(在寄存器WaterLevelReg中设置)或更少的字节,则HiAlert标志置位。   上述数据满足下面的等式:   HiAlert?=?(64-FIFOLength)≤WaterLevel   ? 如果实际只有Wa

文档评论(0)

yuzongxu123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档