野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11679|回复: 3

RFID RC522读出卡片类型的疑问 求解答

[复制链接]
发表于 2017-7-5 10:19:01 | 显示全部楼层 |阅读模式
在RC522 寻卡时 读出的数据为卡片的类型  
可我这程序返回的卡片类型和给的例程对不上
/**
  * @摘要:   寻卡
  * @参数:   req_code[IN]:寻卡方式
  *                0x52 = 寻感应区内所有符合14443A标准的卡
  *                0x26 = 寻未进入休眠状态的卡
  *          pTagType[OUT]:卡片类型代码
  *                0x4400 = Mifare_UltraLight
  *                0x0400 = Mifare_One(S50)
  *                0x0200 = Mifare_One(S70)
  *                0x0800 = Mifare_Pro(X)
  *                0x4403 = Mifare_DESFire
  * @返回值: 成功返回MI_OK
  */

我返回的是 40 不知道为什么

这是主程序里的寻卡判断
status = PcdRequest(PICC_REQALL, g_ucTempbuf);//寻卡
    if(status != MI_OK)
   {
        RC522_Init_Config();
   }
   else
  {
                printf("卡的类型: ");
                for(i=0;i<2;i++)
                {
                        temp = g_ucTempbuf;                       
                        printf("%x",temp);
                }
        printf("\r\n");               
        }

算了 还是把程序传上来吧  但这个程序有问题 就是卡片的类型返回错误 始终返回的是 40 希望不要参考  
RC522读写测试.rar (2.79 MB, 下载次数: 73)
回复

使用道具 举报

 楼主| 发表于 2017-7-5 11:18:24 | 显示全部楼层
问题找到了
这样输出就OK了
sprintf(cStr,"The Card Type is: %02X%02X",g_ucTempbuf[0],g_ucTempbuf[1]);
printf ( "%s\r\n",cStr );
回复 支持 反对

使用道具 举报

发表于 2017-7-5 11:40:53 | 显示全部楼层
一开始是因为格式不对?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-5 12:08:59 | 显示全部楼层
随风 发表于 2017-7-5 11:40
一开始是因为格式不对?

恩 我一直以为是SPI时序 或是 寻卡时变量定义的类型有问题  但后来看了论坛里一个程序 他的输出格式就是
sprintf(cStr,"The Card Type is: %02X%02X",g_ucTempbuf[0],g_ucTempbuf[1]);
printf ( "%s\r\n",cStr );
这样写的,我也改成这样的 就输出了0400  感觉就是对了 和卡片的类型对上了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 14:53 , Processed in 0.032542 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表