唤醒芯片
0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xFF,0x03,0xFD,0xD4,0x14,0x01,0x17,0x00
从手册可以看出,唤醒命令要在原有的数据包之前加入唤醒头,这个比较特殊一点
0xd4代表主机向PN532写入数据
0x14,0x01代表选择了普通模式
命令格式
扫描卡片
0x4a, 0x02, 0x00 //扫描命令,卡片个数,波特率
应答
0x4b, 应答码
0x02, 卡片个数
0x01, 第一个卡片
0x04, 0x00, 卡片类型
0x08, 卡片容量
0x04, id长度
0x01, 0x02, 0x03, 0x04 卡片id
认证卡片
0x40, 0x01, 0x60, 0x02, 数据交换命令,1号卡片,A认证,2地址
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 秘钥
0x01, 0x02, 0x03, 0x04 卡片id
应答
0x41, 0x00 无错
读卡
0x40, 0x01, 0x30, 0x02 //交换数据,1号卡,读取块,2地址
应答
0x41, 0x00, 16bytes 应答,无错,16个数据
写卡
0x40, 0x01, 0xa0, 0x02, 交换数据,1号卡,写入块,2地址
1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6 数据
应答
0x41, 0x00 应答,无错
充值
0x40, 0x01, 0xc1, 0x02, 1,0,0,0 //交换数据,1号卡,充值,2地址,数据
0x40, 0x01, 0xB0, 0x02;//交换数据,1号卡,保存,2地址
应答
0x41, 0x00 应答,无错
扣款
0x40, 0x01, 0xc0, 0x02, 1,0,0,0;//交换数据,1号卡,扣款,2地址,数据
0x40, 0x01, 0xB0, 0x02;//交换数据,1号卡,保存,2地址
应答
0x41, 0x00 应答,无错
注意:充值或者扣款操作一定要加上保存动作
读写卡片
读写卡片的每一条命令都要按照帧格式
唤醒芯片,将芯片设置为普通模式
扫描卡片,一次最多2张。成功可以得到ID
认证,需要发送秘钥和ID。注意这里没有防冲突环节,因为在扫描的时候已经拿到卡片的ID,在认证的时候指明ID就可以了
读、写、充值、扣款
PN532读取卡片的过程要比MFRC522简单很多
框架: