[求,快哭了]MSP430 + RC522 设计

2019-03-24 12:30发布

已经弄了两天了,SPI没有问题,自收自发OK的.

QQ截图20130610165023.png

QQ截图20130610165057.png

无法寻卡吧,属于.

代码:

RC522_2452.zip (55.63 KB, 下载次数: 25) 2013-6-10 16:53 上传 点击文件名下载附件

关键代码:
  1. void CtrlRC522(){
  2.         if( PcdRequest( PICC_REQALL, &CardRevBuf[0] ) != MI_OK )//寻天线区内未进入休眠状态的卡,返回卡片类型 2字节
  3.         {
  4.                 if( PcdRequest( PICC_REQALL, &CardRevBuf[0] ) != MI_OK )//寻天线区内未进入休眠状态的卡,返回卡片类型 2字节
  5.                 {
  6.                         return;
  7.                 }
  8.         }

  9.         if( PcdAnticoll( &CardRevBuf[2] ) != MI_OK ) //防冲撞,返回卡的序列号 4字节
  10.         {
  11.                 return;
  12.         }

  13.         if( PcdSelect( &CardRevBuf[2] ) != MI_OK )//选卡
  14.         {
  15.                 return;
  16.         }

  17.         _bis_SR_register(LPM4_bits);
  18.         return;
  19. }
复制代码
  1. char PcdRequest(unsigned char req_code,unsigned char *pTagType)
  2. {
  3.         char status;
  4.         unsigned int unLen;
  5.         unsigned char ucComMF522Buf[MAXRLEN];

  6.         ClearBitMask(Status2Reg,0x08);
  7.         WriteRawRC(BitFramingReg,0x07);
  8.         SetBitMask(TxControlReg,0x03);

  9.         ucComMF522Buf[0] = req_code;

  10.         status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,1,ucComMF522Buf,&unLen);

  11.         if ((status == MI_OK) && (unLen == 0x10))
  12.         {
  13.                 *pTagType     = ucComMF522Buf[0];
  14.                 *(pTagType+1) = ucComMF522Buf[1];
  15.         }
  16.         else
  17.         {
  18.                 status = MI_ERR;
  19.         }

  20.         return status;
  21. }
复制代码或者有做过RC522的大神能给个参考么,我这个是用网上流传的C51版本原封不动移植过来的,或者求个查错思路. 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
wusi524888
2019-03-24 21:32
 精彩回答 2  元偷偷看……0人看过

一周热门 更多>

相关问题

    相关文章