该参数有效时,表明按卡片序列号读取卡片数据。
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