微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 有没有RC522与上位机通信软件?

有没有RC522与上位机通信软件?

时间:10-02 整理:3721RD 点击:
   要做RC522模块,上位机测试软件打开老是出问题,求大神帮忙


有,到百度直接搜

有的#include <intrins.h>
#include "reg52.h"
#include "main.h"
#include "mfrc522.h"
#include <string.h>
#define MAXRLEN 18                        
/////////////////////////////////////////////////////////////////////
//1|    ?ü£o?°?¨
//2?êy?μ?÷: req_code[IN]:?°?¨·?ê?
//                0x52 = ?°?Dó|???ú?ùóD·?o?14443A±ê×?μ??¨
//                0x26 = ?°?′??è?DY??×′ì?μ??¨
//          pTagType[OUT]£o?¨??ààDí′ú??
//                0x4400 = Mifare_UltraLight
//                0x0400 = Mifare_One(S50)
//                0x0200 = Mifare_One(S70)
//                0x0800 = Mifare_Pro(X)
//                0x4403 = Mifare_DESFire
//·μ    ??: 3é1|·μ??MI_OK
/////////////////////////////////////////////////////////////////////
char PcdRequest(unsigned char req_code,unsigned char *pTagType)
{
   char status;  
   unsigned int  unLen;
   unsigned char ucComMF522Buf[MAXRLEN];
//  unsigned char xTest ;
   ClearBitMask(Status2Reg,0x08);
   WriteRawRC(BitFramingReg,0x07);
//  xTest = ReadRawRC(BitFramingReg);
//  if(xTest == 0x07 )
//   { LED_GREEN  =0 ;}
// else {LED_GREEN =1 ;while(1){}}
   SetBitMask(TxControlReg,0x03);

   ucComMF522Buf[0] = req_code;
   status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,1,ucComMF522Buf,&unLen);
//     if(status  == MI_OK )
//   { LED_GREEN  =0 ;}
//   else {LED_GREEN =1 ;}
   if ((status == MI_OK) && (unLen == 0x10))
   {   
       *pTagType     = ucComMF522Buf[0];
       *(pTagType+1) = ucComMF522Buf[1];
   }
   else
   {   status = MI_ERR;   }
   
   return status;
}
/////////////////////////////////////////////////////////////////////
//1|    ?ü£o·à3?×2
//2?êy?μ?÷: pSnr[OUT]:?¨??DòáDo?£?4×??ú
//·μ    ??: 3é1|·μ??MI_OK
/////////////////////////////////////////////////////////////////////  
char PcdAnticoll(unsigned char *pSnr)
{
    char status;
    unsigned char i,snr_check=0;
    unsigned int  unLen;
    unsigned char ucComMF522Buf[MAXRLEN];
   
    ClearBitMask(Status2Reg,0x08);
    WriteRawRC(BitFramingReg,0x00);
    ClearBitMask(CollReg,0x80);

    ucComMF522Buf[0] = PICC_ANTICOLL1;
    ucComMF522Buf[1] = 0x20;
    status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,2,ucComMF522Buf,&unLen);
    if (status == MI_OK)
    {
             for (i=0; i<4; i++)
         {   
             *(pSnr+i)  = ucComMF522Buf[i];
             snr_check ^= ucComMF522Buf[i];
         }
         if (snr_check != ucComMF522Buf[i])
         {   status = MI_ERR;    }
    }
   
    SetBitMask(CollReg,0x80);
    return status;
}

已经收藏了,十分感谢

软件不用安装,打开就能用

小编串口可以通信吗,我上位机可以连接,但是读不到卡的信息

我的也是,调半天出不来。

同样 N次都读不到东西 单片机有没有卡都能检到 就是读不来

你好,请问现在解决了吗?我也遇到了同样的问题。

后来行了嘛?同样的问题头疼啊

PRO1520  pin对pin 兼容 CV520,RC522,FM17520,FM17522质量第一,价格第二。 E-mail:bin.hu@profact.net  扣扣:1101521061 资料齐全 和我们取得联络

看看先~~,是了~

同样问题,求解决方法;谢谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top