惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
J
Java Code Geeks
爱范儿
爱范儿
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队
人人都是产品经理
人人都是产品经理
Martin Fowler
Martin Fowler
IT之家
IT之家
博客园_首页
B
Blog RSS Feed
Google DeepMind News
Google DeepMind News
B
Blog
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog
博客园 - 聂微东
腾讯CDC
A
About on SuperTechFans

博客园 - shootingstars

硬件相关概念 我的Function C的可变参数 C++概念网摘 韦根协议 学习C的可变参数 关于汇编程序调用各种C函数的例子 如何移植Java的类中的super到C++代码中 编译原理学习 关于标准库中的ptr_fun/binary_function/bind1st/bind2nd 使用python编写每日构建工具 boost::regex学习(5) - shootingstars - 博客园 boost::regex学习(4) - shootingstars - 博客园 boost::regex学习(3) boost::regex学习(2) 《世界大战》《变形金刚》观后感 boost::regex学习(1) boost::algorithm学习 五种迭代器
Mifare 串行读取协议
shootingstars · 2009-12-15 · via 博客园 - shootingstars

Mifare卡是一种非接触式的智能卡,我们了解他们的相关协议。

表一

命令格式如下:

协议头(Head):2字节,固定填充0xAA,0xBB

长度(Length):2字节,从此列后的所有有效字节数(包含XOR)

节点ID(Node ID):2字节,目标节点地址数

函数码(Function code):2字节,函数功能码,另见表三

数据(Data):00~D0字节,数据位

异或(XOR):1字节,从节点ID到最后一个自己的数据的异或值

表二

回复格式如下:

协议头(Head):2字节,固定填充0xAA,0xBB

长度(Length):2字节,从此列后的所有有效字节数(包含XOR)

节点ID(Node ID):2字节,目标节点地址数

函数码(Function code):2字节,函数功能码,另见表三

状态(Status):成功为0,其余的值为失败

数据(Data):00~D0字节,数据位

异或(XOR):1字节,从节点ID到最后一个自己的数据的异或值

 表三

函数码列表:

1、 Initialize port :0x0101
2、 Set device node number : 0x0102
3、 Read device node number : 0x0103
4、 Read device Mode : 0x0104
5、 Set buzzer beep: 0x0106
6、 Set Led color : 0x0107
7、 Set reader working status : 0x0108
8、 Set antenna status 。0x010c
9、 Mifare Reauest , 0x0201
10、 Mifare anticollision , 0x0202:
11、 Mifare Select 0x0203:
12、 Mifare Hlta , 0x0204:
13、 Mifare Authentication1 0x0206 :
14、 Mifare Authentication2 0x0207:
15、 Mifare Read 0x0208:
16、 Mifare Write 0x0209:
17、 Mifare Initval 0x020A:
18、 Mifare Read Balance 0x020B:
19、 Mifare Decrement 0x020C:
20、 Mifare Increment 0x020D:
21、 Mifare Restore 0x020E:
22、 Mifare Transfer 0x020F
23、 Mifare UltraLight Anticoll 0x0212:
24、 Mifare UltraLight Write 0x0213:
25、 Write key store in RC500 EEPROM 。

读取卡号流程:

1 设置串口波特率,参数如下:

Baud rate: 19200 bps
Data: 8 bits
Stop: 1 bit
Parity: None

2  打开天线

发送命令0x010c,数据1(打开天线)到串口

3 请求卡类型

发送命令0x0201,数据0x52到串口

 4 读取卡信息

发送命令0x202到串口

完成后,读取串口返回信息即可。

详细信息文档:/Files/shootingstars/MifarMifareProtocol.rar