[资料分享与下载] RFID RC522读取测试成功

[复制链接]
1406|4
 楼主| 春风的暖暖 发表于 2015-11-3 20:58 | 显示全部楼层 |阅读模式
如题:
  rc522 SPI 读取成功了。。
  
  



rc522.rar

4.85 KB, 下载次数: 39

 楼主| 春风的暖暖 发表于 2015-11-3 20:59 | 显示全部楼层
附件是RC522的驱动文件。。

读取一个 扇区的数据并打印
  1. void ReadSector(unsigned char Sector)
  2. {
  3.     unsigned char i;
  4.           status = PcdAuthState(PICC_AUTHENT1A,Sector*4,Card_KEY,Card_ID);
  5.                 if(status == MI_OK)
  6.      {
  7.                          status = PcdRead(Sector*4,Card_Data1);                    //再一次把它读取出来16字节的卡片数据
  8.                    if(status == MI_OK)
  9.                      {
  10.                                          printf("Sector %u of 1 Read OK.The Data Is:0x",Sector);      
  11.                                          myDelay(50);
  12.                                          for(i=0;i<16;i++)
  13.                                                  {  
  14.                                                   printf("%x",Card_Data1);
  15.                                                         myDelay(1);
  16.                                                  }
  17.                                          printf("  OK\r\n");
  18.          myDelay(5);        
  19.                                  }
  20.                          status = PcdRead(Sector*4+1,Card_Data2);                    //再一次把它读取出来16字节的卡片数据
  21.              if(status == MI_OK)
  22.                                 {
  23.                                  printf("Sector %u of 2 Read OK.The Data Is:0x",Sector);      
  24.                                  myDelay(50);      
  25.                                  for(i=0;i<16;i++)
  26.                                          {  
  27.                                           printf("%x",Card_Data2);
  28.                                                 myDelay(1);
  29.                                          }
  30.                      printf("  OK\r\n");
  31.          myDelay(5);                                          
  32.                           }
  33.                    status = PcdRead(Sector*4+2,Card_Data3);                    //再一次把它读取出来16字节的卡片数据
  34.                   if(status == MI_OK)
  35.                           {
  36.                                    printf("Sector %u of 3 Read OK.The Data Is:0x",Sector);      
  37.                                         myDelay(50);
  38.                                    for(i=0;i<16;i++)
  39.                                            {  
  40.                                             printf("%x",Card_Data3);
  41.                                                          myDelay(1);
  42.                                            }
  43.                              printf("  OK\r\n");
  44.          myDelay(5);        
  45.                     }
  46.                 }
  47. }
  48. 读取整个卡片并打印
  49. void ScanCard(void)
  50. {
  51.            unsigned char i;
  52.      PcdAntennaOn();
  53.            myDelay(50);
  54.            status = 0;               
  55.            status = PcdRequest(PICC_REQALL,Card_Type1);
  56.                  if(status == MI_OK)
  57.                  {
  58.                           printf("Card type = 0x%x%x\r\n",Card_Type1[0],Card_Type1[1]);
  59.              status = PcdAnticoll(Card_ID);//防冲撞
  60.                          if(status == MI_OK)
  61.                           {
  62.                                           printf("Card ID = 0x%x%x%x%x\r\n",Card_ID[0],Card_ID[1],Card_ID[2],Card_ID[3]);                       
  63.                                          status = PcdSelect(Card_ID);  //选卡
  64.                                          if(status == MI_OK)      
  65.                                          {
  66.                                                  for(i=0;i<16;i++)
  67.                                                  {
  68.                                                   ReadSector(i);
  69.                                                   }
  70.                                           }                                                
  71.                                  }
  72.                  }
  73.                 PcdAntennaOff();
  74.     myDelay(3000);

  75. }

FSL_TICS_ZJJ 发表于 2015-11-4 15:26 | 显示全部楼层
感谢楼主代码分享!
小猫爱吃鱼 发表于 2015-11-4 20:32 | 显示全部楼层
是SPI接口的,不知道读写速度能达到多少
 楼主| 春风的暖暖 发表于 2015-11-29 21:16 | 显示全部楼层
小猫爱吃鱼 发表于 2015-11-4 20:32
是SPI接口的,不知道读写速度能达到多少

我怎么看着是I2C呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

306

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部