当前位置:文档之家› 高频模块使用说明

高频模块使用说明


成 AA 04

失 AA 03

WUPA
成 AA 02
04 00

失 AA 03

ANTICOLLISON 成 AA 04 XX XX XX XX

失 AA 03

SELECT
成 AA 01
XX

失 AA 03

HTLA
成 AA 04

失 AA 03

44 4F 4E 45 2C
45 52 52
6A
的类。 在窗体的代码编辑器中加入“using RfReader;”一行。如下图:
之后,就可以使用此名字空间中的类 RfCardRead 了;如下图:
程序集中方法的说明: public bool RfReadCardNo(ref byte[] data) 功能:此方法用来读取卡号。 参数:data 长度为 4 的字节数组,用来存储卡号; 返回:真,读卡号成功,假,读卡号失败。
BlockAddr,字节,)public bool RfSendWUPA() 功能:发送 WUPA 指令; 返回:真,成功,假,失败。
(11)public bool RfSendAntiColision(ref byte[] data) 功能:发送 AntiColision 指令; 参数:data,长度为 4 的字节数组,用来存储得到的卡号; 返回:真,成功,假,失败。 (12)public bool RfSendSelect(ref byte data,ref byte[] card) 功能:发送 Select 指令; 参数:card,长度为 4 的字节数组,表示要选中的卡号;
数据
DATA
VALUE
检 验 TRANS 和 BLOCK
xx
AA 09 02
xx
xx
xx xx xx xx xx xx
xx
AA 19 03
xx
xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx
AA 0E 04
xx
xx
xx xx xx xx xx xx
xx xx xx xx
xx
xx
AA 0E 05
xx
xx
xx xx xx xx xx xx
xx xx xx xx
xx
xx
AA 0E 06
xx
xx
xx xx xx xx xx xx
xx xx xx xx
xx
xx
AA 01 07
4E
AA 01 08
4D
AA 05 09
public bool RfReadCard(byte keyAB, byte[] key,byte BlockAddr,ref byte[] data) 功能:读取任意段的段值; 参数:keyAB, 字节,密钥类型;0x60,密钥 A;0x61,密钥 B;
Key,长度为 6 的字节数组,表示密钥; BlockAddr,字节,表示要读取段的段号; data;长度为 16 的字节数组,用来存储读到的段内容。 返回:真,读段成功,假,读段失败。 (3)public bool RfWrCard(byte keyAB, byte[] key, byte BlockAddr, byte[] data) 功能:向任意段写段值; 参数:keyAB, 字节,表示密钥类型;0x60,密钥 A;0x61,密钥 B;
xx xx xx xx
xx
AA 01 0A
4B
注:1、一条命令所包含的所有数据相加之和为 00 2、所有命令都是十六进制格式
返回数据格式:
命令
起 长 数据
校验
始 度 卡号
数据
状态



读卡号
成 AA 04 XX XX XX XX
XX

失 AA 03
45 52 52
6A

读卡
成 AA 10
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
1. 首先将 ftdi_ser.dll 和 FTDIPORT.INF 这两个文件放到开发板的 windows 目录下。如 图:
2. 然后将读卡器连接到开发板的 USB 接口上,这时会出现如下图所示的界面 。
在这里面填写上驱动的名称 ftdi_ser.dll,最后点击 OK,系统加载上驱动,我们便能操作读 卡器了。如图:
50
45 52 52
6A
XX
45 52 52
6A
XX
45 52 52
6A
44 4F 4E 45 2C
45 52 52
6A
如何调用 RfReader.dll 操作读卡器.
1,.创建一个 C# windows 窗体应用程序。项目名为 test。
2.添加程序集。在集成开发环境的解决方案资源管理器中,右键单击“引用”,选择“添加 引用”。
2、 选择从列表或指定位置安装,点下一步
3、 选择在搜索中包括这个位置,并选择 FTDI 文件夹,点下一步 4、 找到驱动并进行安装
5、 完成安装 6、 这时打开设备管理器,若驱动安装成功,则出现 USB 转串口
2.2 Windows CE 上驱动程序的安装 该版本的驱动是用于 wince 6.0 平台的。
高频模块使用说明
1 介绍
本高频模块是基于 ISO14443A 协议的 13.56MHx 高频读写器,采用 NXP 公司的 RC500 射频读写芯片
2 初次使用
本高频模块需要驱动程序才能在 PC 机和 Windows CE 上使用。 2.1 PC 机上驱动程序的安装
1、 将读卡器插入 PC 机的 USB 口,这时出现找到新的硬件向导
3 通信协议介绍
本模块使用串行通信,其通信协议如下所示
命令字:
命令
命令字
读卡号
01
读卡
02
写卡
03
加值
04
减值
05
恢复
06
WUPA
07
ANTICOLLISION 08
SELECT
09
HTLA
0A
发送数据格式
起始 长 命
字符 度 令
KEYA/B
KEY

60/61 BLOCK
00~3F
AA 01 01
在弹出的“添加引用”对话框中,找到要添加的程序集,如图中的 RfReader.dll,然后确定。 这是解决方案资源管理器中“引用”中多了 RfReader。如下图:
3..使用程序集。可以用类视图看看程序集的内容。如下图: 可见 RfReader 引用中包含了 RfReader 的名字空间,此名字空间中又包含了 RfCardRead
byte Area2,byte Area3, byte KeyAB,byte[] KeyA,byte[] KeyB,byte BlockAddr) 功能:向尾段配置 access bits; 参数: Area0,Area1,Area2,Area03,字节,分别表示段 0~3 的 access bits,低三 位有效; keyAB, 字节,密钥类型;0x60,密钥 A;0x61,密钥 B; KeyA,长度为 6 的字节数组,表示密钥 A; KeyB,长度为 6 的字节数组,表示密钥 B;
XX

失 AA 03
45 52 52
6A

写卡
成 AA 04
44 4F 4E 45 2C

失 AA 03
45 52 52
6A

加值
成 AA 04
44 4F 4E 45 2C

失 AA 03
45 52 52
6A

减值
成 AA 04
44 4F 4E 45 2C

失 AA 03
45 52 52
6A

恢复
data,字节,得到的值; 返回:真,成功,假,失败。 (13)public bool RfSendHTLA() 功能:发送 HTLA 指令; 返回:真,成功,假,失败。
Key,长度为 6 的字节数组,表示密钥; BlockAddr,字节,表示要写入段的段号;
data;长度为 16 的字节数组,内容为要写入的段内容。 返回:真,写段成功,假,写段失败。 ( 4 ) public bool WriteValue(byte KeyAB,byte[] Key,byte[] value,byte BlockAddr,byte ValueAdr) 功能:向数据段写值; 参数:keyAB, 字节,密钥类型;0x60,密钥 A;0x61,密钥 B; Key,长度为 6 的字节数组,表示密钥; value,长度为 4 的字节数组,表示要写入的值; BlockAddr,字节,表示要写入段的段号; ValueAdr,字节,表示值地址。 返回:真,写值成功,假,写值失败。 ( 5 ) public bool ReadValue(byte KeyAB, byte[] Key, ref byte[] value, byte BlockAddr, ref byte ValueAdr) 功能:从数据段读值; 参数:keyAB, 字节,密钥类型;0x60,密钥 A;0x61,密钥 B; Key,长度为 6 的字节数组,表示密钥; value,长度为 4 的字节数组,用来存储读到的值; BlockAddr,字节,表示要读取段的段号; ValueAdr,字节,用来存储读到的值地址。 返回:真,读值成功,假,读值失败。 ( 6 ) public bool RfAddCard(byte keyAB, byte[] key, byte BlockAddr, byte TransAddr, byte[] data) 功能:加值; 参数:keyAB, 字节,密钥类型;0x60,密钥 A;0x61,密钥 B; Key,长度为 6 的字节数组,表示密钥; BlockAddr,字节,表示源段的段号;
相关主题