1、三.门禁考勤卡用函数 1. int Init_Access_UserCard( ) 2. int Init_Access_UserCard_UsePassword( ) 3. int RST_Access_UserCard( ) 4. int Query_Access_Card( )四.发卡器(读写器)操作函数 1. int Get_Version( ) 2. int rf_beep( ) 3. int rf_disp( ) 4. int get_time( ) 5. int set_time( ) 6. int disp_mode( ) 7. int contr_mode( ) 8. int
2、 set_bright( ) 9. int write_eeprom( ) 10. int read_eeprom( ) 五.射频卡读写函数 1. int rf_request( ) 2. int rf_anticoll( ) 3. int rf_select( ) 4. int rf_authentication( ) 5. int rf_halt( ) 6. int rf_read( ) 7. int rf_read_hex( ) 8. int rf_write( ) 9. int rf_write_hex( ) 10. int rf_load_key( ) 11. int rf_card
3、( ) 12. int rf_card_2( )六.错误代码七.发卡流程一、系统用函数:HANDLE OpenComm(int CommPort) 功能:打开串口 参数:int CommPort:串口标志 取值如下:0 Com1, 1 Com2 返回:大于0为串口设备号,小于0 表示打开串口错误。:int CloseComm(HANDLE icdev)关闭串口HANDLE icdev:OpenComm() 返回的设备号成功则返回0:int Check_Reader(HANDLE icdev)测试发卡器成功则返回0,小于0见错误代码:int Init_SysCard(HANDLE icdev,L
4、PCSTR UserPassword,int SysType,int MJSector, int MJCardType,int XFSector ,LPSTR CommPassword)初始化系统卡 LPCSTR UserPassword:用户密码(8位ASCII字符), 注:此密码用户必须记住,用于日后系统维护 int SysType: 系统类别,1 为门禁,2为售饭 int MJSector:门禁用户卡使用扇区。int MJCardType:门禁使用卡类别,1为mifare1 card ,0为mifare light card LPSTR CommPassword: 返回此系统的通讯密码,
5、八位数字字符,此密码用于 通讯握手中,只要用此系统卡初始化的机子,必须 用此密码才能通讯成功 注意:当初始化系统卡成功时,在调用此过程的执行文件的当前目录中会生一个 LICENCE.DAS的文件,以后的发卡和通讯函数均要用到此文件,用户需把 此文件备份,不能丢失。此文件不能修改。5:int Init_SysCard_N(HANDLE icdev,LPCSTR UserPassword,int SysType,int MJSector, int MJCardType,int XFSector ,char* AuthorFileName,LPSTR CommPassword)char* Autho
6、rFileName:授权文件名,该文件必须以”das”作为扩展名,可以包括路径名称,最多30个字符 通讯握手函数中,只要用此系统卡初始化的机子,必须当初始化系统卡成功时,会生一个授权文件,该文件名称和路径由参数AuthorFileName决定,缺省情况下生成在当前目录中。以后的发卡和通讯函数均要用到该文件,用户需把此文件备份,不能丢失。6:int Load_Author(char * filename);装入系统文件char * filename: 系统文件全名(包括路径和名称),如果初始化系统卡时生成的授权文档不是缺省名称(licence.das),或不在缺省目录下(当前目录)时需要用此函数
7、装入系统,以便所有的发卡和通讯函数能够正确找到该文件。调用此函数时,装入的系统文件和 LICENCE.DAS文件一样使用二、消费卡用函数:int Init_Pos_UserCard(HANDLE icdev,int Serno,LPCSTR Cardno,int UserType, int WaitTime,unsigned long * CardSerno) 初始化消费用户卡 int Serno:用户卡流水号,不可重复(1100000) LPCSTR Cardno:用户卡号(十位ASCII字符) int UserType :用户卡类型(1 - 8) int WaitTime :等卡时间,单位
8、为ms unsigned long * CardSerno:返回用户卡固有ID号int Init_Pos_UserCard_N(HANDLE icdev,int Serno,LPCSTR Cardno,int UserType, int Value,int UseCount,int WaitTime, unsigned long* CardSerno) 补发消费用户卡 int Value :金额数值,为实际金额 * 100 。例:实际金额为123.35 ,Value = 12335 int UseCount :该卡的消费次数 int WRT_Pos_UserCard_AddCount(HAND
9、LE icdev,int Value,unsigned long CardSerno,int WaitTime)用户卡写值(不增加使用次数) int Value:需要写入的金额,为实际金额 * 100 unsigned long CardSerno:需要写值的用户卡固有ID号 int WaitTime :4:int WRT_Pos_UserCard(HANDLE icdev,int Value,unsigned long CardSerno,int WaitTime)用户卡写值(使用次数增加1)int Init_Pos_OPTCard(HANDLE icdev,int Opt_Num,int
10、WaitTime, unsigned long * CardSerno)初始化消费机操作员卡 int Opt_Num:操作员编号,(1 255)返回操作员卡固有ID号成功则返回0,小于0见错误代码6:int Query_Pos_Card(HANDLE icdev,LPINT CardType, LPINT Opt_Num, LPINT Serno, LPSTR Cardno,unsgind long * CardSerno, LPINT Value, LPINT Count,LPINT UserType,int WaitTime)消费机使用卡查询 LPINT CardType :返回卡类型(0
11、 用户卡,1 操作员卡,2 系统卡) LPINT pt_Num :返回操作员卡号 LPINT Serno:返回用户卡流水号 LPSTR Cardno:返回用户卡卡编号返回用户卡固有 ID 号 LPINT Value:返回用户卡内金额,为实际金额 * 100 LPINT Count:返回用户卡消费次数 LPINT UserType:返回用户类型成功则为0,小于0见错误代码7:int Query_Pos_UserCard(HANDLE icdev,LPINT Serno,LPSTR Cardno,LPINT UserType,unsigned long * CardSerno,LPINT ChkS
12、um1,LPINT Value1,LPINT LastPay1, LPINT Count1,LPINT ChkSum2,LPINT Value2,LPINT LastPay2, LPINT Count2,int WaitTime)消费机用户卡块查询 LPINT ChkSum1:返回用户卡使用块的校验状态,为正确,为错误。 LPINT Value1:返回用户卡使用块的金额,为实际金额 * 100 LPINT astPay1:返回用户卡使用块的余额,为实际余额 * 100 LPINT Count:返回用户卡使用块的消费次数 LPINT ChkSum:返回用户卡备份块的校验状态,为正确,为错误。 L
13、PINT Value:返回用户卡备份块的金额,为实际金额 * 100 LPINT astPay:返回用户卡备份块的余额,为实际余额 * 100 LPINT Count:返回用户卡备份块的消费次数8:int RST_Pos_UserCard(HANDLE icdev,unsigned long CardSerno,int WaitTime)回收消费机用户卡 int CardSerno:要回收的用户卡固有ID号9:int RST_Pos_OPTCard(HANDLE icdev,unsigned long CardSerno,int WaitTime)回收消费机操作员卡要回收的操作员卡固有ID号1
14、0: int Change_Pos_UserType(HANDLE icdev,int UserType)更改消费机用户卡类型要更改的用户卡类型三、门禁考勤卡用函数:int Init_Access_UserCard ( HANDLE icdev,int Serno,int Cardno,int UserType,初始化门禁考勤用户卡用户卡流水号,不可重复(110000) int Cardno:用户卡号(最多为10位数字)用户卡类型2: int Init_Access_UserCard_UsePassword (HANDLE icdev,unsigned long CardSerno, int
15、WaitTime)初始化用户密码(在用户忘记密码或错码计数为时使用)3:int RST_Access_UserCard(HANDLE icdev,unsigned long CardSerno,int WaitTime)回收门禁考勤机用户卡 int Query_Access_Card (HANDLE icdev,LPINT CardType,LPINT Serno, LPINT CardNO,unsigned long * CardSerno,int UserType,功能:门禁考勤机使用卡查询返回卡类型(0 用户卡,2 系统卡) LPINT Cardno:返回用户卡固有 ID 号 LPINT
16、 UserType:四、发卡器(读写器)操作函数1 int rf_beep(HANDLE icdev,unsigned short _Msec)蜂鸣 unsigned short _Msec :蜂鸣时间的长短,单位是毫秒2int rf_disp(HANDLE icdev,_int16 len,unsigned char* digit)使读写器的数码管显示数字(仅显示4位数字) _int16 :显示模式,其值为1-4,表示在第几位数字后加一小数点unsigned char* digit:显示数据int rf_disp8(HANDLE icdev,_int16 len,unsigned char*
17、 digit)使读写器的数码管显示数字(显示8位,仅适用于新版读卡器)显示数据长度,其值为 int rf_g_t_hex(HANDLE icdev,unsigned char *time)功能:读出读写器中存储的时间和日期的值(仅适用于新版读卡器) 参数: unsigned char *time :存放所读出数据的值,长度为14YYWWMMDDHHMNSS分别表示年、周、月、日、时、分、秒。 返回: int rf_s_t_hex(HANDLE icdev,unsigned char *time)设置读写器中所存储的日期和时间的值(仅适用于新版读卡器)日期和时间的值格式见设置函数。int rf_
18、disp_m(HANDLE icdev,unsigned char mode)设置读写器显示时间还是显示日期(读写器控制,仅适用于新版读卡器) unsigned char mode :显示内容的类型表示显示日期表示显示时间 注:调用此函数前必须先调用函数rf_ctl_m将显示设为由计算机控制int rf_ctl_m(HANDLE icdev,unsigned char mode)设置显示管的控制方式(计算机控制或读写器控制, 仅适用于新版读卡器)表示由计算机控制表示有读写器控制int rf_bright(HANDLE icdev,unsigned char bright)设置显示管的亮度(仅适
19、用于新版读卡器) unsigned char bright :亮度值其范围在到之间五、射频卡读写函数int Rf_Request(HANDLE icdev,unsigned char _Mode,unsigned _int16 *TagType)int Rf_Anticoll(HANDLE icdev,unsigned char _Bcnt,unsigned long *_Snr)int Rf_Select(HANDLE icdev,unsigned long _Snr,unsigned char *_Size)int Rf_Authentication(HANDLE icdev,unsigned char _Mode,unsigned char _SecNr)int Rf_Halt(HANDLE icdev)int Rf_Read(HANDLE icdev,unsigned char _Adr,unsigned char *_Data)int Rf_Read_Hex(HANDLE icdev,unsigned char _Adr,char *_Data)int Rf_Write(HANDLE icdev,unsigned char _Adr,unsig
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1