发卡机读写器接口函数.docx

上传人:b****5 文档编号:6510007 上传时间:2023-01-07 格式:DOCX 页数:13 大小:24.76KB
下载 相关 举报
发卡机读写器接口函数.docx_第1页
第1页 / 共13页
发卡机读写器接口函数.docx_第2页
第2页 / 共13页
发卡机读写器接口函数.docx_第3页
第3页 / 共13页
发卡机读写器接口函数.docx_第4页
第4页 / 共13页
发卡机读写器接口函数.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

发卡机读写器接口函数.docx

《发卡机读写器接口函数.docx》由会员分享,可在线阅读,更多相关《发卡机读写器接口函数.docx(13页珍藏版)》请在冰豆网上搜索。

发卡机读写器接口函数.docx

发卡机读写器接口函数

发卡机(读写器)接口函数

版本:

V4.0

日期:

2003.5.31

说明:

windows32位动态库

目录:

一.系统用函数

1.HANDLEOpenComm()

2.intCloseComm()

3.intCheck_Reader()

4.intInit_SysCard()

5.intInit_SysCard_N()

6.intLoad_Author()

二.消费卡用函数

1.intInit_Pos_UserCard()

2.intInit_Pos_UserCard_N()

3.intInit_Pos_OPTCard()

4.intWRT_Pos_UserCard()

5.intWRT_Pos_UserCard_AddCount

6.intQuery_Pos_Card()

7.intQuery_Pos_UserCard()

8.intRST_Pos_UserCard()

9.intRST_Pos_OPTCard()

10.intChange_Pos_Usertype()

三.门禁考勤卡用函数

1.intInit_Access_UserCard()

2.intInit_Access_UserCard_UsePassword()

3.intRST_Access_UserCard()

4.intQuery_Access_Card()

四.发卡器(读写器)操作函数

1.intGet_Version()

2.intrf_beep()

3.intrf_disp()

4.intget_time()

5.intset_time()

6.intdisp_mode()

7.intcontr_mode()

8.intset_bright()

9.intwrite_eeprom()

10.intread_eeprom()

五.射频卡读写函数

1.intrf_request()

2.intrf_anticoll()

3.intrf_select()

4.intrf_authentication()

5.intrf_halt()

6.intrf_read()

7.intrf_read_hex()

8.intrf_write()

9.intrf_write_hex()

10.intrf_load_key()

11.intrf_card()

12.intrf_card_2()

六.错误代码

七.发卡流程

一、系统用函数

1:

HANDLEOpenComm(intCommPort)

功能:

打开串口

参数:

intCommPort:

串口标志

取值如下:

0—Com1,1—Com2…

返回:

大于0为串口设备号,小于0表示打开串口错误。

2:

intCloseComm(HANDLEicdev)

功能:

关闭串口

参数:

HANDLEicdev:

OpenComm()返回的设备号

返回:

成功则返回0

3:

intCheck_Reader(HANDLEicdev)

功能:

测试发卡器

参数:

HANDLEicdev:

OpenComm()返回的设备号

返回:

成功则返回0,小于0见错误代码

4:

intInit_SysCard(HANDLEicdev,LPCSTRUserPassword,intSysType,intMJSector,

intMJCardType,intXFSector,LPSTRCommPassword)

功能:

初始化系统卡

参数:

HANDLEicdev:

OpenComm()返回的设备号

LPCSTRUserPassword:

用户密码(8位ASCII字符),

注:

此密码用户必须记住,用于日后系统维护

intSysType:

系统类别,1为门禁,2为售饭

intMJSector:

门禁用户卡使用扇区。

intMJCardType:

门禁使用卡类别,1为mifare1card,0为mifarelightcard

LPSTRCommPassword:

返回此系统的通讯密码,八位数字字符,此密码用于

通讯握手中,只要用此系统卡初始化的机子,必须

用此密码才能通讯成功

返回:

成功则返回0,小于0见错误代码

注意:

当初始化系统卡成功时,在调用此过程的执行文件的当前目录中会生一个

LICENCE.DAS的文件,以后的发卡和通讯函数均要用到此文件,用户需把

此文件备份,不能丢失。

此文件不能修改。

 

5:

intInit_SysCard_N(HANDLEicdev,LPCSTRUserPassword,intSysType,intMJSector,

intMJCardType,intXFSector,char*AuthorFileName,LPSTRCommPassword)

功能:

初始化系统卡

参数:

HANDLEicdev:

OpenComm()返回的设备号

LPCSTRUserPassword:

用户密码(8位ASCII字符),

注:

此密码用户必须记住,用于日后系统维护

intSysType:

系统类别,1为门禁,2为售饭

intMJSector:

门禁用户卡使用扇区。

intMJCardType:

门禁使用卡类别,1为mifare1card,0为mifarelightcard

char*AuthorFileName:

授权文件名,该文件必须以”das”作为扩展名,可以包括路径名称,最多30个字符

LPSTRCommPassword:

返回此系统的通讯密码,八位数字字符,此密码用于

通讯握手函数中,只要用此系统卡初始化的机子,必须

用此密码才能通讯成功

返回:

成功则返回0,小于0见错误代码

注意:

当初始化系统卡成功时,会生一个授权文件,该文件名称和路径由参数AuthorFileName决定,缺省情况下生成在当前目录中。

以后的发卡和通讯函数均要用到该文件,用户需把此文件备份,不能丢失。

此文件不能修改。

 

6:

 intLoad_Author(char*filename);

功能:

装入系统文件

参数:

char*filename:

系统文件全名(包括路径和名称),如果初始化系统卡时生成的授权文档不是缺省名称(licence.das),或不在缺省目录下(当前目录)时需要用此函数装入系统,以便所有的发卡和通讯函数能够正确找到该文件。

返回:

成功则返回0,小于0见错误代码

注意:

调用此函数时,装入的系统文件和LICENCE.DAS文件一样使用.

二、消费卡用函数:

1:

intInit_Pos_UserCard(HANDLEicdev,intSerno,LPCSTRCardno,intUserType,

intWaitTime,unsignedlong*CardSerno)

功能:

初始化消费用户卡

参数:

HANDLEicdev:

OpenComm()返回的设备号

intSerno:

用户卡流水号,不可重复(1——100000)

LPCSTRCardno:

用户卡号(十位ASCII字符)

intUserType:

用户卡类型(1--8)

intWaitTime:

等卡时间,单位为ms

unsignedlong*CardSerno:

返回用户卡固有ID号

返回:

成功则返回0,小于0见错误代码

2:

intInit_Pos_UserCard_N(HANDLEicdev,intSerno,LPCSTRCardno,intUserType,

intValue,intUseCount,intWaitTime,

unsignedlong*CardSerno)

功能:

补发消费用户卡

参数:

HANDLEicdev:

OpenComm()返回的设备号

intSerno:

用户卡流水号,不可重复(1——100000)

LPCSTRCardno:

用户卡号(十位ASCII字符)

intUserType:

用户卡类型(1--8)

intValue:

金额数值,为实际金额*100。

例:

实际金额为123.35,Value=12335

intUseCount:

该卡的消费次数

intWaitTime:

等卡时间,单位为ms

unsignedlong*CardSerno:

返回用户卡固有ID号

返回:

成功则返回0,小于0见错误代码

3:

intWRT_Pos_UserCard_AddCount(HANDLEicdev,intValue,unsignedlongCardSerno,intWaitTime)

功能:

用户卡写值(不增加使用次数)

参数:

HANDLEicdev:

OpenComm()返回的设备号

intValue:

需要写入的金额,为实际金额*100

unsignedlongCardSerno:

需要写值的用户卡固有ID号

intWaitTime:

等卡时间,单位为ms

返回:

成功则返回0,小于0见错误代码

4:

intWRT_Pos_UserCard(HANDLEicdev,intValue,unsignedlongCardSerno,intWaitTime)

功能:

用户卡写值(使用次数增加1)

参数:

HANDLEicdev:

OpenComm()返回的设备号

intValue:

需要写入的金额,为实际金额*100

unsignedlongCardSerno:

需要写值的用户卡固有ID号

intWaitTime:

等卡时间,单位为ms

返回:

成功则返回0,小于0见错误代码

5:

intInit_Pos_OPTCard(HANDLEicdev,intOpt_Num,intWaitTime,

unsignedlong*CardSerno)

功能:

初始化消费机操作员卡

参数:

HANDLEicdev:

OpenComm()返回的设备号

intOpt_Num:

操作员编号,(1–255)

intWaitTime:

等卡时间,单位为ms

unsignedlong*CardSerno:

返回操作员卡固有ID号

返回:

成功则返回0,小于0见错误代码 

6:

intQuery_Pos_Card(HANDLEicdev,LPINTCardType,LPINTOpt_Num,LPINTSerno,

LPSTRCardno,unsgindlong*CardSerno,LPINTValue,

LPINTCount,LPINTUserType,intWaitTime)

功能:

消费机使用卡查询

参数:

HANDLEicdev:

OpenComm()返回的设备号

LPINTCardType:

返回卡类型(0–用户卡,1–操作员卡,2–系统卡)

LPINTOpt_Num:

返回操作员卡号

LPINTSerno:

返回用户卡流水号

LPSTRCardno:

返回用户卡卡编号

unsignedlong*CardSerno:

返回用户卡固有ID号

LPINTValue:

返回用户卡内金额,为实际金额*100

LPINTCount:

返回用户卡消费次数

LPINTUserType:

返回用户类型

intWaitTime:

等卡时间,单位为ms

返回:

成功则为0,小于0见错误代码

7:

intQuery_Pos_UserCard(HANDLEicdev,LPINTSerno,LPSTRCardno,LPINT

UserType,unsignedlong*CardSerno,LPINT

ChkSum1,LPINTValue1,LPINTLastPay1,LPINT

Count1,LPINTChkSum2,LPINTValue2,LPINTLastPay2,

LPINTCount2,intWaitTime)

功能:

消费机用户卡块查询

参数:

HANDLEicdev:

OpenComm()返回的设备号

LPINTSerno:

返回用户卡流水号

LPSTRCardno:

返回用户卡卡编号

LPINTUserType:

返回用户类型

unsignedlong*CardSerno:

返回用户卡固有ID号

LPINTChkSum1:

返回用户卡使用块的校验状态,0为正确,1为错误。

LPINTValue1:

返回用户卡使用块的金额,为实际金额*100

LPINTLastPay1:

返回用户卡使用块的余额,为实际余额*100

LPINTCount1:

返回用户卡使用块的消费次数

LPINTChkSum2:

返回用户卡备份块的校验状态,0为正确,1为错误。

LPINTValue2:

返回用户卡备份块的金额,为实际金额*100

LPINTLastPay2:

返回用户卡备份块的余额,为实际余额*100

LPINTCount2:

返回用户卡备份块的消费次数

intWaitTime:

等卡时间,单位为ms

返回:

成功则为0,小于0见错误代码

8:

intRST_Pos_UserCard(HANDLEicdev,unsignedlongCardSerno,intWaitTime)

功能:

回收消费机用户卡

参数:

HANDLEicdev:

OpenComm()返回的设备号

intCardSerno:

要回收的用户卡固有ID号

intWaitTime:

等卡时间,单位为ms

返回:

成功则返回0,小于0见错误代码

9:

intRST_Pos_OPTCard(HANDLEicdev,unsignedlongCardSerno,intWaitTime)

功能:

回收消费机操作员卡

参数:

HANDLEicdev:

OpenComm()返回的设备号

unsignedlongCardSerno:

要回收的操作员卡固有ID号

intWaitTime:

等卡时间,单位为ms

返回:

成功则返回0,小于0见错误代码

10:

intChange_Pos_UserType(HANDLEicdev,intUserType)

功能:

更改消费机用户卡类型

参数:

HANDLEicdev:

OpenComm()返回的设备号

intUserType:

要更改的用户卡类型

返回:

成功则返回0,小于0见错误代码

三、门禁考勤卡用函数:

1:

intInit_Access_UserCard(HANDLEicdev,intSerno,intCardno,intUserType,

intWaitTime,unsignedlong*CardSerno)

功能:

初始化门禁考勤用户卡

参数:

HANDLEicdev:

OpenComm()返回的设备号

intSerno:

用户卡流水号,不可重复(1——10000)

intCardno:

用户卡号(最多为10位数字)

intUserType:

用户卡类型

intWaitTime:

等卡时间,单位为ms

unsignedlong*CardSerno:

返回用户卡固有ID号

返回:

成功则返回0,小于0见错误代码

2:

intInit_Access_UserCard_UsePassword(HANDLEicdev,unsignedlongCardSerno,

intWaitTime)

功能:

初始化用户密码(在用户忘记密码或错码计数为0时使用)

参数:

HANDLEicdev:

OpenComm()返回的设备号

unsignedlongCardSerno:

要回收的用户卡固有ID号

intWaitTime:

等卡时间,单位为ms

返回:

成功则返回0,小于0见错误代码

3:

intRST_Access_UserCard(HANDLEicdev,unsignedlongCardSerno,intWaitTime)

功能:

回收门禁考勤机用户卡

参数:

HANDLEicdev:

OpenComm()返回的设备号

unsignedlongCardSerno:

要回收的用户卡固有ID号

intWaitTime:

等卡时间,单位为ms

返回:

成功则返回0,小于0见错误代码

4:

intQuery_Access_Card(HANDLEicdev,LPINTCardType,LPINTSerno,

LPINTCardNO,unsignedlong*CardSerno,intUserType,

intWaitTime)

功能:

门禁考勤机使用卡查询

参数:

HANDLEicdev:

OpenComm()返回的设备号

LPINTCardType:

返回卡类型(0–用户卡,2–系统卡)

LPINTSerno:

返回用户卡流水号

LPINTCardno:

返回用户卡卡编号

unsignedlong*CardSerno:

返回用户卡固有ID号

LPINTUserType:

返回用户类型

intWaitTime:

等卡时间,单位为ms

返回:

成功则为0,小于0见错误代码

四、发卡器(读写器)操作函数

1.intrf_beep(HANDLEicdev,unsignedshort_Msec)

功能:

蜂鸣

参数:

HANDLEicdev:

OpenComm()返回的设备号

unsignedshort_Msec:

蜂鸣时间的长短,单位是10毫秒

返回:

成功则为0,小于0见错误代码

 

2.intrf_disp(HANDLEicdev,__int16len,unsignedchar*digit)

功能:

使读写器的数码管显示数字(仅显示4位数字)

参数:

HANDLEicdev:

OpenComm()返回的设备号

__int16:

显示模式,其值为1-4,表示在第几位数字后加一小数点

     unsignedchar*digit :

显示数据

返回:

成功则为0,小于0见错误代码

3.intrf_disp8(HANDLEicdev,__int16len,unsignedchar*digit)

功能:

使读写器的数码管显示数字(显示8位,仅适用于新版读卡器)

参数:

HANDLEicdev:

OpenComm()返回的设备号

__int16:

显示数据长度,其值为8

     unsignedchar*digit :

显示数据

返回:

成功则为0,小于0见错误代码

4.intrf_g_t_hex(HANDLEicdev,unsignedchar*time)

  功能:

读出读写器中存储的时间和日期的值(仅适用于新版读卡器)

  参数:

HANDLEicdev:

OpenComm()返回的设备号

  unsignedchar*time:

存放所读出数据的值,长度为14.YYWWMMDDHHMNSS

    分别表示年、周、月、日、时、分、秒。

  返回:

成功则为0,小于0见错误代码

5.intrf_s_t_hex(HANDLEicdev,unsignedchar*time)

  功能:

设置读写器中所存储的日期和时间的值(仅适用于新版读卡器)

  参数:

HANDLEicdev:

OpenComm()返回的设备号

  unsignedchar*time:

日期和时间的值格式见设置函数。

  返回:

成功则为0,小于0见错误代码

6.intrf_disp_m(HANDLEicdev,unsignedcharmode)

  功能:

设置读写器显示时间还是显示日期(读写器控制,仅适用于新版读卡器)

  参数:

HANDLEicdev:

OpenComm()返回的设备号

  unsignedcharmode:

显示内容的类型

                  0 表示显示日期

                  1 表示显示时间

  返回:

成功则为0,小于0见错误代码

注:

调用此函数前必须先调用函数rf_ctl_m将显示设为由计算机控制

7.intrf_ctl_m(HANDLEicdev,unsignedcharmode)

  功能:

设置显示管的控制方式(计算机控制或读写器控制,仅适用于新版读卡器)

  参数:

HANDLEicdev:

OpenComm()返回的设备号

  unsignedcharmode:

显示内容的类型

                  0 表示由计算机控制

                  1 表示有读写器控制

  返回:

成功则为0,小于0见错误代码

8.intrf_bright(HANDLEicdev,unsignedcharbright)

  功能:

设置显示管的亮度(仅适用于新版读卡器)

  参数:

HANDLEicdev:

OpenComm()返回的设备号

  unsignedcharbright:

亮度值其范围在0到15之间

  返回:

成功则为0,小于0见错误代码

 

五、射频卡读写函数

1.intRf_Request(HANDLEicdev,unsignedchar_Mode,unsigned__int16*TagType)

2.intRf_Anticoll(HANDLEicdev,unsignedchar_Bcnt,unsignedlong*_Snr)

3.intRf_Select(HANDLEicdev,unsignedlong_Snr,unsignedchar*_Size)

4.intRf_Authentication(HANDLEicdev,unsignedchar_Mode,unsignedchar_SecNr)

5.intRf_Halt(HANDLEicdev)

6.intRf_Read(HANDLEicdev,unsignedchar_Adr,unsignedchar*_Data)

7.intRf_Read_Hex(HANDLEicdev,unsignedchar_Adr,char*_Data)

8.intRf_Write(HANDLEicdev,unsignedchar_Adr,unsig

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1