NFC模块PN532使用

1、PN532数据包格式:
(1)正常数据包:
0000FFLENLCSTFIPD0PD1PDnDCS00
  • 00 :序列头
  • 00 FF :起始号
  • LEN :数据包长度,包含TFI
  • LCS :数据长度校验和,LEN+LCS = 0
  • TFI :命令
  • PD0…PDn:数据
  • DCS :数据校验和,TFI+PD0+…+PDn = 0
  • 00 :序列结尾
(2)应答包:
0000FF00FF00
  • 00 FF :应答包
(3)非应答包:
0000FFFF0000
  • FF 00 :没有应答
(4)加长数据包:
0000FFFFFFLENMLENLLCSTFIPD0PD1PDnDCS00

在正常情况下,只能发送256个字节的数据,PN532提供一种特殊的格式可以发送更多的数据;
– FF :正常模式下时为包的长度,特殊时为FF
– FF :正常模式下为数据长度校验和,特殊为FF
– LENm,LENl:数据包长度的高位和低位,包括TFI

2、PN532操作(操作m1-s50卡为例)
(1)唤醒:

发送:55 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 03 fd d4 14 01 17 00
应答: 00 00 FF 00 FF 00 00 00 FF 02 FE D5 15 16 00

(2)寻卡:
  • 发送:00 00 FF 04 FC D4 4A 02 00 E0 00
  • 应答:00 00 FF 00 FF 00
    00 00 FF 0C F4 D5 4B 01 01 00 04 08 04 90 1F 2A A4 51 00

这里 90 1F 2A A4 为 UID号;

(3)验证:
  • 发送:00 00 FF 0F F1 D4 40 01 60 07 FF FF FF FF FF FF 90 1F 2A A4 0D 00
  • 应答:00 00 FF 00 FF 00
    00 00 FF 03 FD D5 41 00 EA 00

验证的是07这个块,41 00 为正确

(4)读写:(读写操作时卡在验证后不能拿开)
a、读第7块的数据:
  • 发送:00 00 FF 05 fb D4 40 01 30 07 B4 00
  • 应答:00 00 FF 00 FF 00
    00 00 FF 13 ED D5 41 00 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF 01 00

41 00 表示正确,00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF为第7块的数据;

b、写第6块:
  • 发送:00 00 ff 15 EB D4 40 01 A0 06 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F CD 00
  • 应答:00 00 FF 00 FF 00
    00 00 FF 03 FD D5 41 00 EA 00

再读取第6块数据会读到写入的数据了。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值