极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: bg1lsy

分享一个整理并测试好用的MFRC522 RFID库

  [复制链接]
发表于 2013-7-2 01:13:23 | 显示全部楼层
不错,我也去搞一套来试试。
回复 支持 反对

使用道具 举报

发表于 2013-7-3 20:26:52 | 显示全部楼层
楼主。。。引脚怎么接你没说清楚。,
回复 支持 反对

使用道具 举报

发表于 2013-7-9 10:49:38 | 显示全部楼层
不错,试了能调通
回复 支持 反对

使用道具 举报

发表于 2013-8-30 14:11:35 | 显示全部楼层
qq286983897 发表于 2013-7-9 10:49
不错,试了能调通

管脚是怎么接的啊,就接4个引脚可以了吗?
回复 支持 反对

使用道具 举报

发表于 2013-9-7 11:42:17 | 显示全部楼层
楼主,第二个代码只能读取卡号啊?是不是只要刷一下就行了?还是有别的操作?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-7 17:20:40 | 显示全部楼层
有读有扇区的函数啊
回复 支持 反对

使用道具 举报

发表于 2013-9-10 00:19:08 | 显示全部楼层
//D10--读卡器MOSI引脚、 这个应该是片选引脚吧
回复 支持 反对

使用道具 举报

发表于 2013-11-10 15:41:44 | 显示全部楼层
怎么调不通啊,楼主把管脚说一下拜
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-10 19:40:35 | 显示全部楼层
秋刀鱼z 发表于 2013-11-10 15:41
怎么调不通啊,楼主把管脚说一下拜

RFID -> Arduino UNO
-------------------
GND -> GND
VIN -> 5V
  SS -> D10
SCK -> D13
MISI -> D11
MISO -> D12
3V# ->
RST -> D5
回复 支持 反对

使用道具 举报

发表于 2013-11-16 22:53:27 | 显示全部楼层
按照楼主接法调试成功,太感谢了!!
回复 支持 反对

使用道具 举报

发表于 2014-3-13 10:56:35 | 显示全部楼层
一个板子 可以连接 多个 RC 522么   通过什么进行选择是那个 RC522 啊
回复 支持 反对

使用道具 举报

发表于 2014-3-18 21:36:57 | 显示全部楼层
好贴,学习了,应该赞一下~
回复 支持 反对

使用道具 举报

发表于 2014-3-19 11:11:43 | 显示全部楼层
纠结与不知道怎么读取CPU卡。。
回复 支持 反对

使用道具 举报

发表于 2014-3-19 16:32:30 | 显示全部楼层
楼主我有点不太明白程序...

blockAddr = 7;                //数据块7
  if (rfid.auth(PICC_AUTHENT1A, blockAddr, sectorKeyA[blockAddr/4], rfid.serNum) == MI_OK)  //认证
  {
    //写数据
    status = rfid.write(blockAddr, sectorNewKeyA[blockAddr/4]);
    Serial.print("set the new card password, and can modify the data of the Sector: ");
    Serial.println(blockAddr/4,DEC);
    //写数据
    blockAddr = blockAddr - 3 ; //数据块4
    status = rfid.write(blockAddr, writeDate);
    if(status == MI_OK)
    {
      Serial.println("Write card OK!");
    }
  }
选择数据块7,然后在函数里是blockAddr/4,为什么写密码数据块地址要除于4啊?
还有就是写入数据的地址为什么是blockAddr - 3 //写在数据块4?

想问的就是,这个卡,到底有多少个数据块呀?可以分多少个部分存数据和对应的密码呢?不是很了解这些

问的有些傻,希望楼主能给我好好说说,小白感激不尽!!!!
回复 支持 反对

使用道具 举报

发表于 2014-4-15 10:40:11 | 显示全部楼层
楼主
blockAddr = 7;                //数据块7
  if (rfid.auth(PICC_AUTHENT1A, blockAddr, sectorKeyA[blockAddr/4], rfid.serNum) == MI_OK)  //认证
  {
    //写数据
    status = rfid.write(blockAddr, sectorNewKeyA[blockAddr/4]);
    Serial.print("set the new card password, and can modify the data of the Sector: ");
    Serial.println(blockAddr/4,DEC);
    //写数据
    blockAddr = blockAddr - 3 ; //数据块4
    status = rfid.write(blockAddr, writeDate);
    if(status == MI_OK)
    {
      Serial.println("Write card OK!");
    }
  }
这里也不明白  status = rfid.write(blockAddr, sectorNewKeyA[blockAddr/4]);是写到    控制块        7吗,然后我改了unsigned char sectorNewKeyAAA[16][16] = 的{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},为{0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}就不能读出来了,就是密码改了一下就不行了,这么改密码呢?
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 00:29 , Processed in 0.043654 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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