RFID读写器开发资料经典篇 下载本文

该参数有效时,表明按卡片序列号读取卡片数据。

Option_flag:附加参数标志,=0为option 0有效,=1为option 1有效。 uid[0]—uid[7]:卡片序列号。

返 回 值:MI_OK,MI_ERR;

=0,为操作成功,其他值为操作失败。 输出参数:

Readbuff:卡片返回的数据。 其中:

Readbuff[0]:为卡片返回数据的总长度。

Readbuff[1]:为卡片返回数据的有效标志。=0为数据有效,其他为无效。 Readbuff[1]:卡片信息标志:

其中:BIT 0:DSFID支持标志。=0,不支持DSFID,以下的DSFID域没有。 =1,支持DSFID,以下的DSFID域有效。 BIT 1:AFI支持标志。=0,不支持AFI,以下的AFI域没有。 =1,支持AFI,以下的AFI域有效。 BIT 2:卡片存贮结构标志。=0表示无卡片存贮结构,以下的卡片存贮结

构域没有。

=1表示有卡片存贮结构域。 BIT 3:卡片厂商代码域标志。=0表示无卡片厂商代码域。 =1表示有卡片厂商代码域。

Readbuff[2]:DSFID域,表示卡片的DSFID值。如卡片不支持,则无该字节。 Readbuff[3]:AFI域,表示卡片的AFI值。如卡片不支持,则无该字节。

Readbuff[4]-Readbuff[5]:表示卡片的存贮结构。

其定义为: 16 14 13 9 8 1 RFU 每个数据块的字节数 卡片的数据块总数 Readbuff[6]: 表示卡片厂商的代码。

4.4.2.14 ISO15693_Get_Security_Status(long select_flag, long address_flag, long option_flag, unsigned char *uid, long startadd, long numlength,

unsigned char *Readbuff)读取卡片“写锁定”标志

功能说明:此命令用于读取多个卡片的“写锁定”状态位。 用 法:

long pascal ISO15693_Get_Security_Status(long select_flag, long address_flag, long option_flag, unsigned char *uid, long startadd, long numlength, unsigned char *Readbuff) 参 数:

select_flag: 读取“被选择状态”卡片标志。=1为有效,=0为无效

41

address_flag:卡片序列号有效标志,=1为有效,=0为无效。 该参数有效时,表明按卡片序列号读取卡片数据。

Option_flag:附加参数标志,=0为option 0有效,=1为option 1有效。 uid[0]—uid[7]:卡片序列号。

startadd: 起始数据块号。从1开始。 Numlength:读取的数据块长度,从1开始。

返 回 值:MI_OK,MI_ERR;

=0,为操作成功,其他值为操作失败。

输出参数:

Readbuff: 卡片的返回数据。 其中:

Readbuff[0]:本次返回的有效数据总长度len。

Readbuff[1]:卡片返回数据有效标志。=0为有效,其他值为错误。

Readbuff[2]-Readbuff[len+1]:每个数据块的“写锁定”标志。

每块的“写锁定”标志为1个字节。=1为“写锁定”有效。 =0为“写锁定”无效。

4.4.3 PHILIPS公司ICODE卡专用函数

4.4.3.1 PHILIPS_Inventory_Read(long nb_slot_flag, long option_flag, long mode, long AFI_flag, long AFI,

long IC_Mfg_Code, long Mask_length,

unsigned char *Mask_value, long startadd, long numlength,

unsigned char *Readbuff)呼叫卡+读

功能说明:此命令用于呼叫卡并读取卡片数据。 用 法:

long pascal ISO15693_Inventory_Read(long nb_slot_flag, long option_flag, long mode, long AFI_flag, long AFI, long IC_Mfg_Code, long Mask_length, unsigned char *Mask_value, long startadd, long numlength, unsigned char *Readbuff) 参 数: 输入参数:

nb_slot_flag:卡片呼叫方式。=1为单卡呼叫(slot=1),=0为多卡呼叫(slot=16)。

42

option_flag:option标志。=0为option 0有效,=1为option 1有效。

mode: 操作模式标志。mode=0为标准模式,=1为快速模式。

AFI_flag:带AFI呼叫标志。=1为带AFI呼叫,=0为不带AFI呼叫。

AFI_value:AFI值

IC_Mfg_Code:卡片的厂商代码,在此=04。

Mask_length:呼叫掩码的长度

Mask_value:呼叫掩码的值,最大为8个字节。不足一个字节的,前面高位补零。 startadd:读取数据块的起始地址。 numlength:读取数据块的长度。

返 回 值:MI_OK,MI_ERR;

=0,为操作成功,其他值为操作失败。

输出参数:

Readbuff:返回的卡片数据区内容。

其中:

对于单张卡片的呼叫(SLOTS=1),其返回值定义为:

如果option 0有效,则为:

Readbuff[0]:为本次返回的有效数据长度len。

Readbuff[1]:返回数据正确标志。=0,为返回正确,其他值为错误。 Readbuff[2]—Readbuff[len]:卡片数据区数据。

如果 option 1有效,则为:

Readbuff[0]:为本次返回的有效数据长度len。

Readbuff[1]:返回数据正确标志。=0,为返回正确,其他值为错误。 Readbuff[2]—Readbuff[n]:为卡片序列号除去掩码的字节。 例如:卡片序列号为:0F A1 BB 00 00 01 04 E0 如果我们输入的的掩码为:OF,其长度为8, 则此时返回的字节为:A1 BB 00 00 01 04 E0 Readbuff[n]-Readbuff[len]:卡片数据区数据。

对于多张卡片的呼叫(SLOTS=16),其返回值定义为: 如果 option 0有效,则为:

Readbuff[0]:为本次返回的有效数据总长度len。

该命令可同时返回多张卡片的数据。以下为每张卡片返回的数据结构。 对于每张卡片的返回数据为(假定其起始地址为i): Readbuff[i]: 呼叫该卡片的时隙数(TIMESLOTS),在实际应用中,该值无用。 Readbuff[i+1]:该卡片的返回值长度N,=10

Readbuff[i+2]:该卡片的返回值有效标志,=0为正确,=1为错误。 Readbuff[i+3]—Readbuff[i+N]:该卡片返回的数据内容。

如果 option 1有效,则为:

Readbuff[0]:为本次返回的有效数据总长度len。

该命令可同时返回多张卡片的数据。以下为每张卡片返回的数据结构。

对于每张卡片的返回数据为(假定其起始地址为i): Readbuff[i]: 呼叫该卡片的时隙数(TIMESLOTS),在实际应用中,该值无用。 Readbuff[i+1]:该卡片的返回值长度[N]

43

Readbuff[i+2]:该卡片的返回值有效标志,=0为正确,=1为错误。 Readbuff[i+3]—Readbuff[i+n]:该卡片序列号除掩码的剩余字节。 例如:

例如:卡片序列号为:0F A1 BB 00 00 01 04 E0

如果我们输入的的掩码为:OF,其长度为8, 则此时返回的字节为:A1 BB 00 00 01 04 E0 Readbuff[i+n+1]-Readbuff[i+N]:卡片数据区数据。

4.4.3.2 PHILIPS_Set_EAS(long select_flag, long address_flag, long option_flag, long IC_Mfg_Code,

unsigned char *uid)设定EAS有效标志 功能说明:此命令用于设定卡片的EAS有效标志。

用 法:

long pascal ISO15693_Set_EAS(long select_flag, long address_flag, long option_flag, long IC_Mfg_Code, unsigned char *uid)

参 数:

输入参数:

select_flag: 读取“被选择状态”卡片标志。=1为有效,=0为无效 address_flag:卡片序列号有效标志,=1为有效,=0为无效。 该参数有效时,表明按卡片序列号读取卡片数据。

Option_flag:附加参数标志,=0为option 0有效,=1为option 1有效。 IC_Mfg_Code:卡片厂商代码,PHILIPS公司卡片固定为04H。 uid[0]—uid[7]:卡片序列号。

返 回 值:MI_OK,MI_ERR;

=0,为设置EAS成功,其他值为失败。

4.4.3.3 PHILIPS_Reset_EAS(long select_flag,

long address_flag, long option_flag, long IC_Mfg_Code,

unsigned char *uid) 清除EAS标志

功能说明:此命令用于清除EAS标志。 用 法:

long pascal ISO15693_Reset_EAS(long select_flag, long address_flag, long option_flag, long IC_Mfg_Code, unsigned char *uid)

参 数: 输入参数:

select_flag: 读取“被选择状态”卡片标志。=1为有效,=0为无效

44