版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
概 特 设备接 装箱软 典型应 型号说 函数使用说 API函数一 4442卡函 4428卡函 S70卡函 Mifarepro卡函 MifarePLUS卡函 非接CPU卡(ISO14443)函 24C64卡函 错误码值及含 通用函 设备函 4442卡函 S70卡函 MifarePro卡函 ICODE2卡函 4428卡函 24C64卡函 Desfire卡函 MifarePlus卡函 MIFAREONE卡片结 表1(MifarePlus卡个人化结构 S9型简写单独的射频卡和接触式智能卡。S9型双界面同时支持一个ISO7816尺寸的接触式到、网吧管理、、停车场等各种、储值、查询等智能卡管理应用系统中。触式逻辑加密IC卡及T=0、T=1协议的CPU卡 ISO 操作系统:Windows98Me2KXP2003、VistaUnix数据容量:内器标准配置为2K字节(可根据用户需求量扩大卡卡 RS232串行接口或USB用于与上位PC
电子护照/网上银行和网上购物/网络和门禁系统/数字签名/客户积分计划/储值/认证/电子票务/停车场系统/会员消费/考勤/自动机fw_init函数初始化串口或USBfw_card()函数(fw_request()、fw_anticoll()、fw_select()三个函读、写操作必须重复上述(3(4)过程。 fwfwfwfwcardfwcardfwfwfwfwloadfwfwauthenticationfwfwfwfw加fw修改扇区(M1和S70卡fwfwfwfwfwfwfwconfiga16进制字符串转成对应的普通ASChex普通ASC16fwfwdispfwfwfwfwsrdfwswrfwfwctlfwLEDfwlcdfwlcdfwlcdfwfwfwcfw设置CPUfwauthentikeyfwread4442fwwrite4442fwgetProtectDatafwsetProtectDatafwchangkeyfwcntReadErrorfwauthentikeyfwread4428fwwrite4428fwgetProtectDatafwsetProtectDatafwchangkeyfwcntReadErrorS70卡函fwreadfwwritefwrequestfwanticallfwselectfwreadfwwritefwhaltfwultraltC验证Utralight-CfwultraltC更新Ultralight-CfwultraltCfwultraltCMifarepro卡函fwresetfwapduMifarePLUS卡函fwMFPlusL0fwMFPlusL0fwMFPlusL1fwMFPlusL1fwMFPlusL1fwMFPlusL2fwMFPlusL3fwMFPlusL3fwMFPlusL3fwMFPlusL3 fwMFPlusL3WriteWithfwMFPlusL3fwMFPlusL3fwMFPlusL3fwMFPlusL3fwMFPlusL3fwMFPlusL3fwfwstayfwselectfwresettofwfwfwlockfwwritefwlock锁定fwwritefwlock锁定fwgetfwgetfwrequestfwfwcheckfwreadfwwritefwchangekeyfwlockfwhaltfwcountfwCommandLinkfwprofwprofwreadfwwritefwcheckfwfwfwresetfwauthenfwgetverfwgetAIDsfwselectAppfwgetKeySettingfwgetKeyverfwcreateAppfwdelAIDfwchangeKeySettingfwchangeKeyfwgetFileIDsfwfwfwcreateDataFilefwcreateBackupDataFilefwcreateValueFilefwcreateCsyRecordfwdelFilefwwritefwreadfwgetvaluefwcreditfwdebitfwwriteRecordfwreadRecordfwclearRecordfwcommitTransferfwabortTransferfwformatPICCfwreadID-++++++++++++++++++++++++intfw_init(intport,long时,表示串口101~M100USB口通讯,此时波特率无效。(9600~115200 注:如果主机连接有多台(USB方式调用多次此函数,就可以分别得到它们的设icdev2=fw_init(100,1);/*得到第二台设备句柄*/icdev3=fw_init(100,2);/*得到第三台设备句柄*/intfw_exit(int返回:成功返回0intfw_card(inticdev,unsignedchar_Mode,unsignedlong参数:icdev:通讯设备标识符返回:成功则返回0例:intunsignedlongsnr;2.在调用此函数的时候,要注意传入最后一个实参的数据类型,必须是一个无符号的长整形变量(unsignedcharlong)的地址,否则将自动转化为有符号的。推荐使用对应的返回16进制的函数fw_card_hex或返回10进制的函数fw_card_fw_card_hex(inticdev,unsignedchar_Mode,unsignedchar*功能:寻卡,能返回在工作区域内某的序列号(16进制形式字符串)参数:icdev:通讯设备标识符Snrbuf:返回的16进制字符串(8个字节)返回:成功则返回0例:intunsignedcharsnr[9]={0};intfw_card_str(inticdev,unsignedchar_Mode,unsignedchar*功能:寻卡,能返回在工作区域内某的序列号(10进制形式字符串)参数:icdev:通讯设备标识符返回:成功则返回0例:intunsignedcharsnr[11]={0};intfw_request(inticdev,unsignedchar_Mode,unsignedint428例:intunsignedintintfw_anticoll(inticdev,unsigned t,unsignedlong功能:防卡,返回卡的序列号参数:icdev:通讯设备标识符返回:成功则返回0例:intunsignedlongsnr;intfw_select(inticdev,unsignedlong_Snr,unsignedchar参数:icdev:通讯设备标识符返回:成功则返回0例:intst,type;unsignedcharsize;unsignedlongsnr; 参数:icdev:通讯设备标识符(KEYB0——4——r:扇区号(M10~15;ML_Nkey:写入中的卡返回:成功则返回0例://keyAandkeyunsignedchar/*装入1扇区的0套A*/{printf("Loadkeyerror!");}intfw_authentication(inticdev,unsignedchar_Mode,unsigned 功能:核对函(KEYB0——4——返回:成功返回0{}intfw_authentication_pass(inticdev,unsignedchar_Mode,unsignedcharAddr,unsignedchar*passbuff);参数:icdev:fw_init返回的设备描述符(KEYB0——4——unsignedcharpassword[7]={0xa0,0xa1,0xa2,0xa3,0xa4,0xa5};{}intfw_read(inticdev,unsignedchar_Adr,unsignedchar功能:卡中数3,...参数:icdev:通讯设备标识符返回:成功则返回0例:intunsignedchardata[16];st=fw_read(icdev,4,data);M14intfw_read_hex(inticdev,unsignedchar_Adr,char函数中的字符串都是ASC码的形式。例如,如果第2块的实际数据为:”abcedf”,那么用fw_read_hex得到的字符串将是:” intfw_write(inticdev,unsingnedchar_Adr,unsignedchar对于ML卡,一次必须写一页,为4个字节返回:成功则返回0例:intunsignedchar*data=”1234567890123456”;intfw_write_hex(inticdev,unsingnedchar_Adr,unsignedcharintfw_halt(int返回:成功则返回0行fw_halt();则该卡进入HALT模式,则必须把卡移开感应区再进来才能寻得这。intfw_des(unsignedchar*key,unsignedchar*sour,unsignedchar*dest,int16功能:DES算法加函数参数:key:密钥返回:成功返回0unsignedcharszKey[17]=”1122334455667788”;unsignedcharszSour[17]=”99AABBCCDDEEFF00”;unsignedcharszDest[17];st=fw_des(szKey,szSour,szDest,1);//加密stfw_des(szKey,szDest,szSour,0);//形式的(0~9,a/A~zZ。 *_CtrlW,unsignedchar_Bk,unsignedchar_KeyA:_KeyB:例:intunsignedcharkeya;unsignedcharunsignedcharctrlword={0xff,0x07,0x80,0x69};intfw_initval(inticdev,unsignedchar_Adr,unsignedlong返回:成功则返回0例:intunsignedlong /*给value赋值*/intfw_increment(inticdev,unsignedchar_Adr,unsignedlong返回:成功则返回0;例:intunsignedlongvalue;fw_readval(inticdev,unsignedchar_Adr,unsignedlong返回:成功则返回0例:intunsignedlong intfw_decrement(inticdev,unsignedchar_Adr,unsignedlong返回:成功则返回0例:intunsignedlongvalue; intfw_restore(inticdev,unsignedchar参数:icdev:通讯设备标识符返回:成功返回0例:int注fw_transfer()函数将寄存器intfw_transfer(inticdev,unsignedcharEEPROM参数:icdev:通讯设备标识符返回:成功返回0注:见fw_restore的说明。int16fw_config_card(HANDLEicdev,unsignedchar例:intint16a_hex(unsignedchar*a,unsignedchar*hex,int16len)功能:字符串转换函数,十六进制字符转换成普通字符(长转短)。参数:a:转换后的无符号字节数组返回:成功则返回0例:intUnsignedcharhexbuf[8]={„3‟,‟1‟,‟6‟,‟1‟,‟4‟,‟d‟};Unsignedcharabuf[4];st=a_hex(abuf,hexbuf,3);/*abuf=”1aM”voidhex_a(unsignedchar*hex,unsignedchar*a,int16len)功能:字符串转换函数,普通字符转换成十六进制字符(短转长)。参数:hex:转换后的16进制格式字符串a:待转换的无符号字节数组unsignedcharunsignedcharabuf[4]={„1‟,‟a‟,‟M‟};;hex_a(hexbuf,abuf,6);/*hexbuf=”31614d”*/intfw_beep(inticdev,unsignedint例:int intfw_disp_mode(inticdev,unsignedcharmode);参数:icdev:通讯设备标识符intfw_gettime(inticdev,unsignedchar*time);功能:日期、星期、时间例:intunsignedchardatetime[7];x4,01,0401,0x,0x3x1intfw_getver(inticdev,unsingedchar功能:硬件版本返回:成功则返回0例:unsignedcharbuff[256]0};intfw_settime(inticdev,unsignedchar功能:设置时例:intunsignedchardatetime[7]={0x04,0x01,0x04,0x19,0x16,0x35,0x10};intfw_srd_eeprom(inticdev,intoffset,intlength,unsignedchar功能:备注信参数:icdev:通讯设备标识符offset:偏移地址(0~1278)length:读返回:成功则返回0例:intunsignedcharintfw_swr_eeprom(inticdev,intoffset,intlength,unsignedchar*功能:向备注区中写入信参数:icdev:通讯设备标识符offset:偏移地址(0~1278)length:写int16fw_reset(HANDLE调用:
int16秒,2毫秒...=0intfw_ctl_mode(inticdev,unsignedchar功能:设置数码管的控制模式参数:icdev:通讯设备标识符intfw_LED_disp8(inticdev,unsignedcharunsignedchar*:LED unsignedcharstrbuf[8]={0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02};st=fw_LED_disp8(icdev,8,strbuf);//intfw_lcd_setbright(inticdev,unsignedcharLCD参数:icdev:通讯设备标识符返回:成功则返回0=intfw_lcd_dispstr(inticdev,char功能:设置LCD显示的字符串icdev:返回:成功则返回0例:char*sendchs=”abcdefgh”;st=fw_lcd_dispstr(icdev,sendchs);abcdefghintfw_lcd_dispclear(intLCDicdev:通讯设备标识符返回:成功则返回0st=fw_lcd_dispclearint16fw_cpureset(HANDLEICDev,unsignedchar*rlen,unsignedchar调用:ICDev:fw_init函数返回的端口标识符rlen返回:<0
unsignedcharunsignedcharDataBuffer[100];int16fw_setcpu(HANDLEICDev,unsignedcharICDevfw_init附 附=0int16fw_c char*rlen,unsignedchar*rbuff)调用:ICDev:fw_init函数返回的端口标识符slen:发送的信息长度rlen:返回信息的长度举例:intst;unsignedcharslen,rlen,senddata[100],recdata[100];st= pdu( cpupro,unsignedcharcpuetu)调用:ICDev:fw_initcputype:类型,0x0C=主0x0D=SAM10x0E=SAM20x0F=SAM3cpuetu(十进制)9600cpuetu9238400cpuetu20=0intfw_read_4442(inticdev,unsignedchar_Adr,unsignedchar*_Data,int功能:从4442卡数:icdev:通讯设备标识符 _Data:返回的数length:数据的长度返回:成功则返回0intunsignedcharst=intfw_write_4442(inticdev,unsignedchar_Adr,unsignedchar*_Data,int4442:icdev:通讯设备标识符 _Data:length:返回:成功则返回0intunsignedcharsbuf[4]={0x01,0x02,0x03,0x04};st=fw_write_4442(icdev,0x30,sbuf,4);:icdev:通讯设备标识符 _Data:返回的保护位length:数据的长度(此参数要设为4)返回:成功则返回0例:intunsignedcharrbuf[4]={0};st=fw_getProtectData_4442(icdev,0,rbuf,4);别对应相应的位,0代表已写保护,1代表未写保护;:icdev:通讯设备标识符 _Data:length:返回:成功则返回0例:intunsignedcharrbuf[2]={0xa2,0x1e};功能:验_Adr:验证数据的起始地址(0)rlen:验证数据的长度(3)key:要验证的(3个字节)返回:成功则返回0例:unsignedcharkeybuffer[3]={0xff,0xff,0xff};{}intfw_changkey_4442(inticdev,unsignedchar_Adr,intrlen,unsignedcharrlen:要修改数据的长度(应设为3)key:要修改的(3个字节)返回:成功则返回0例:unsignedcharkeybuffer[3]={0x00,0x00,0x00};{printf(“Changekey} tReadError_4442(inticdev,unsignedchar参数 cntReadError:返回:成功则返回0例:intunsignedchar intfw_read_S70(inticdev,unsignedchar_Adr,unsignedchar功能:S70卡中数参数:icdev:通讯设备标识符_Adr(0-返回:成功则返回0例:intunsignedchardata[16];st=fw_read_S70(icdev,100,dataS70100intfw_write_S70(inticdev,unsignedchar_Adr,unsignedcharS70参数:icdev:通讯设备标识符_Adr(0-返回:成功则返回0例:intunsignedchar*data=” st=fw_write_S70(icdev,100,data100intfw_request_ultralt(inticdev,unsignedchar例:intst;st=注:参数_Mode0intfw_anticall_ultralt(inticdev,unsignedlong_Snr:例:intst;unsignedlongst=intfw_select_ultralt(inticdev,unsignedlong_例:intst;st=intfw_read_ultralt(inticdev,unsignedchariPage,unsignedchariPage:例://读页4的数据intunsignedcharipage=4;unsignedcharrebuffer[8]={0};st=intfw_write_ultralt(inticdev,unsignedchariPage,unsignedcharsdata:要写入的数据intunsignedcharunsignedcharsendbuffer[8]={0x44,0x44,0x44,0x44};st=fw_write_ultralt(icdev,ipage,sendbuffer);intfw_halt_ultralt(int返回:成功则返回0,非零失败例:intst=fw_anticall_ultralt和fw_select_ultralt;intfw_ultralt_C_authen(inticdev,unsignedchar*key:16例:intst;unsignedcharpkey[17]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,st=fw_ultralt_C_authen(icdev,intfw_ultralt_C_changePwd(inticdev,unsignedchar*keyold,unsignedchar*例:intst;unsignedcharpoldkey[17]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,unsignedcharpnewkey[17]={0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f};st=fw_ultralt_C_authen(icdev,intfw_ultralt_C_setSafePage(inticdev,intipage,BOOL返回:成功则返回0,非零失败例:int码intfw_ultralt_C_lockPage(inticdev,int:icdev:通讯设备标识符(设备句柄3~15分别对应3~15页0,非零失败例:intst;intfw_reset_mifarepro(inticdev,unsignedchar*rlen,unsignedcharrlen:返回复位信息的长度rbuff:存放返回的复位信息intst;intrelen;unsignedcharst=intfw_apdu_mifarepro(inticdev,unsignedcharslen,unsignedchar*unsignedchar*rlen,unsignedchar*MifaereProAPDU(应用协议数据单元)信息交换函数参数:icdev:通讯设备标识符(句柄)slen:发送的信息长度rlen:返回信息的长度rbuff:存放返回的信息intunsignedcharslen,rlen,recdata[100];unsignedchar st=int16fw_inventory(HANDLEicdev,unsignedcharunsignedcharAFI,unsignedcharmasklen,unsignedchar*rlen,unsignedchar
icdev:通讯设备标识符flags:请求标志;flags=0x36:寻单卡;flags=0x16:AFI:应用标识Masklen:rlen:例:intst=fw_inventory(icdev,0x36,AFI,0,&rlen,rbuffer);//寻单卡int16fw_stay_quiet(HANDLEicdev,unsignedcharflags,unsignedcharquiet参数:icdev:通讯设备标识符UID:卡唯一标识()返回:成功则返回0例:intint16fw_select_uid(HANDLEicdev,unsignedcharflags,unsignedchar参数:UID:卡唯一标识()返回:成功则返回0例:intint16fw_reset_to_ready(HANDLEicdev,unsignedcharflags,unsignedcharready参数:UID:卡唯一标识()返回:成功则返回0例:intint16fw_readblock(HANDLEicdev,unsignedcharunsignedcharstartblock,unsignedcharblocknum,unsignedchar*UID,unsignedchar*rlen,unsignedchar参数: 请求标志;可以取值0x22;startblock:起始块地址(范围0-27)blocknum:一次的块数(范围1-6) 返回:成功则返回0例:intint16fw_writeblock(HANDLEicdev,unsignedcharunsignedchar*UID,unsignedcharwlen,unsignedchar参数: startblock:起始块地址(范围0-27)blocknum:一次写入的块数(范围1-6) 返回:成功则返回0例:intUnsignedcharsbuffer[4]={0x00,0x00,0x00,0x00};int16fw_lock_block(HANDLEicdev,unsignedcharflags,unsignedcharunsignedchar参数:block:起始块地址(0-27)UID:卡唯一标识()例:intint16fw_write_afi(HANDLEicdev,unsignedcharflags,unsignedcharunsignedcharAFI:应用族标识UID:卡唯一标识()返回:成功则返回0例:intint16fw_lock_afi(HANDLEicdev,unsignedcharflags,unsignedcharunsignedcharAFI:应用族标识UID:卡唯一标识()返回:成功则返回0例:intint16fw_write_dsfid(HANDLEicdev,unsignedcharflags,unsignedcharunsignedcharUID:卡唯一标识()返回:成功则返回0例:intint16fw_lock_dsfid(HANDLEicdev,unsignedcharflags,unsignedcharunsignedcharUID:卡唯一标识()返回:成功则返回0例:intint16fw_get_systeminfo(HANDLEicdev,unsignedcharunsignedchar参数:UID:卡唯一标识() 例:intint16fw_get_securityinfo(HANDLEicdev,unsignedcharflags,unsignedstartblock,unsignedcharblocknum,unsignedchar*UID,unsignedchar*rlen,unsigned参数: blocknum:块数目 返回:成功则返回0例:intint16fw_request_b(HANDLEicdev,unsignedchar_Mode,unsignedcharcharN,unsignedcharicdev:通讯设备标识符_Mode:寻卡模式AFI ATQB
APA,必须是 与卡中的PUPI PUPI(2ndbyte) //PUPI中的第二个字节 PUPI(3rdbyte) //PUPI中的第三个字节 PUPI(byte) //PUPI中的第节 APPLICATIONDATA(1stbyte),与卡中的一致APPLICATIONDATA(2ndAPPLICATIONDATA(3rdbyte)APPLICATIONDATA(4thprotocolinfo(1stbyte),ATQB[10]protocolinfo(2ndbyte0x00协议信息(第二个字节)ATQB[11]protocolinfo(3rdbyte0x41协议信息(第三个字节)ATQB[12]其它ATQB[13]例:int16st;unsignedcharrData[15];unsignedcharUID[4];st=fw_request_b(icdev,0,0,0,rData);if(0==st)memcpy(UID,int16fw_attrib(HANDLEicdev,unsignedchar*PUPI,unsignedcharCID);参数:icdev:通讯设备标识符PUPI:Pseudo-UniquePICCCID:卡片ID号(0~15),这个值在卡片中供后面操作使用返回:成功则返回0,非零失败例:int16unsignedcharcid=st= int16fw_check_at(HANDLEicdev,unsignedcharcid,unsignedcharCID参数:icdev:通讯设备标识符cid: key:用来核对的8字节例:int16st;unsignedcharkey[8]={0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8};int16fw_read_at(HANDLEicdev,unsignedcharAdr,unsignedchar*参数:icdev:通讯设备标识符Adr: key:用来核对的8rbuffer:返回8字节的数据0,非零失败int16unsignedcharunsignedcharkey[8]={0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8};st=fw_read_at(icdev,0,key,revbuf);int16fw_write_at(HANDLEicdev,unsignedcharAdr,unsignedchar*CID参数:icdev:通讯设备标识符Adr:要写的页地址(0~31)sbuffer:80,非零失败int16unsignedchardata[8]={0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8};st=fw_write_at(icdev,4,data);int16fw_changekey_at(HANDLEicdev,unsignedchar*参数:icdev:通讯设备标识符key 8int16unsignedcharkey[8]={0};//把改成8个0st=fw_changekey_at(icdev,key);int16fw_lock_at(HANDLEicdev,unsignedcharAdr,unsigned参数: Adr: 0,非零失败int16unsignedcharint16fw_halt_at(HANDLEicdev,unsignedcharcid,unsignedchar参数: cid: 卡ID号,参见fw_attrib中参数CIDkey: 8字节的int16unsignedcharkey[8]={0};st=fw_halt_at(icdev,0,key);int16fw_count_at(HANDLEicdev,unsignedcharcid,unsignedchar*26 cid: 卡ID号,参见fw_attrib中参数CIDkey: 8字节的int16unsignedcharkey[8]={0};st=fw_count_at(icdev,0,key); sLen,unsignedchar*rBuffer,PDWORD参数: sBuffer:发送给卡片令信息sLen:命令信息的长度rBuffer:命令返回的信息rLen:0int16st;unsignedcharunsignedcharrevData[200];DWORDrevLength; int16fw_pro_reset(intICDev,unsignedchar*rlen,unsignedchar*参数: rlen: rbuff: int16st;unsignedcharlen;Unsignedcharst= mandlink(intICDev,unsignedcharslen,unsignedchar*sbuff,unsignedchar*rlen,unsignedchar*rbuff,unsignedchartt,unsignedcharFG);功能:应用协议数据单元数据交换函数 slen: sbuff ::::int16unsignedcharsrvBuffer[256]={0x80,0x84,0x00,0x00,0x10};unsignedcharrevBuffer[256]={0};unsignedcharsendlen=5;unsignedcharintfw_read_4428(inticdev,unsignedint_Adr,unsignedchar*_Data,int功能:从4428卡数:icdev:通讯设备标识符 _Data:返回的数length:数据的长度返回:成功则返回0intunsignedcharst=2:_Adr参数应不大于1023;intfw_write_4428(inticdev,unsignedint_Adr,unsignedchar*_Data,int4428:icdev:通讯设备标识符 _Data:length:返回:成功则返回0intunsignedcharsbuf[4]={0x01,0x02,0x03,0x04};st=fw_write_4428(icdev,0x30,sbuf,4);intfw_getProtectData_4428(inticdev,unsignedint_Adr,unsignedchar*_Data,int:icdev:通讯设备标识符 _Data:length:数据的长度返回:成功则返回0例:intunsignedcharrbuf[4]={0};intfw_setProtectData_4428(inticdev,unsignedint_Adr,unsignedchar*_Data,int:icdev:通讯设备标识符 _Data:length:返回:成功则返回0例:intunsignedcharrbuf[2]={0xa2,0x1e};intfw_authentikey_4428(inticdev,unsignedchar功能:验 返回:成功则返回0例:unsignedcharkeybuffer[2]={0xff,0xff};{}intfw_changkey_4428(inticdev,unsignedcharkey:要修改的(2个字节)返回:成功则返回0例:unsignedcharkeybuffer[2]={0x00,0x00};{printf(“Changekey} tReadError_4428(inticdev,unsignedchar参数 cntReadError:返回:成功则返回0例:intunsignedchar intfw_read_24c64(inticdev,unsignedintoffset,unsignedintunsignedchar*功能:从24C64卡中数据:icdev:通讯设备标识符 length:要 intunsignedcharst=intfw_write_24c64(inticdev,unsignedintoffset,unsignedintunsignedchar*参数:icdev:通讯设备标识符offset:偏移地址 intunsignedcharwbuf[300]={0x11,0x22};st=fw_write_24c64(icdev,0,2,wbuf);intfw_check_24c64(int参数:icdev:通讯设备标识符intst=intfw_anticoll2(inticdev,unsigned t,unsignedlong:icdev:通讯设备标识符t:防的级别,这里设置为 返回:成功则返回0intunsignedlongst=fw_anticoll2intfw_select2(inticdev,unsignedlong:icdev:通讯设备标识符返回:成功则返回0intst=intfw_reset_desfire(inticdev,unsignedchar*rlen,unsigned:desfireicdev:通讯设备标识符rlenintunsignedcharrevlen;unsignedcharrevdata[50];st=fw_reset_desfireintfw_authen_desfire(inticdev,unsignedcharkeyNo,key,unsignedchar*icdev:通讯设备标识符keyNo:key:16字节的密钥例://验证第密钥号为1的密钥unsignedcharst=intfw_getver_desfire(inticdev,unsignedchar*rlen,unsignedchar*参数 intunsignedcharrevlen;unsignedchardata[50];st=fw_getver_desfireintfw_getAIDs_desfire(inticdev,unsignedchar*rlen,unsignedchar*参数 intunsignedcharrevlen;unsignedcharaids[50];st=fw_getver_desfireintfw_selectApp_desfire(inticdev,unsignedchar*参数 intunsignedcharaid[4]={0x01,0x00,0x00};st=fw_selectApp_desfire(icdev,aid);intfw_getKeySetting_desfire(inticdev,unsignedchar*rlen,unsignedchar*icdev:Rlen:返回数据的长度intunsignedcharrevlen;unsignedcharst=fw_getKeySetting_desfireintfw_getKeyver_desfire(inticdev,unsignedcharkeyNo,unsignedchar*:icdev:通讯设备标识符keyNo:密钥号keyVerintunsignedcharst=fw_getKeyver_desfire(icdev,1,intfw_createApp_desfire(inticdev,unsignedchar*AID,unsignedcharunsignedchar参数:icdev: KeySetting:应用主密钥设置 listaccess masterkey intunsignedcharaid[4]={0x02,0x00,0x00};unsignedcharsetting=0xef;=intfw_delAID_desfire(inticdev,unsignedchar*参数 intunsignedcharaid[3]={0x02,0x00,0x00};st=fw_delAID_desfire(icdev,aid);参数 listaccess masterkey masterKey PICCmasterkey masterkeyBit7-Bit4:保留,必须设成0。 sessionKey:intunsignedcharst=fw_changeKeySetting_desfireintfw_changeKey_desfire(inticdev,unsignedchar*sessionKey,unsignedchar*curKey,unsignedcharkeyNo,unsignedchar*newkey);参数:icdev sessionKey:会话密钥 intst;unsignedcharunsignedcharst=参数:icdev:通讯设备标识符 返回:成功则返回001.11intunsignedcharrevlen;unsignedcharfileids[20];st=fw_getFileIDs_desfireintfw_getFileProper(inticdev,unsignedcharfileNo,unsignedchar*rlen,unsignedchar*fileProper);icdevfileNo intunsignedcharrevlen;unsignedcharfileset[20];st=fw_getFileProperintfw_changeFileSetting(inticdev,unsignedcharfileNo,unsignedcharcomSet,unsignedchar*accessRight,char*sessionKey);参数 001.11intunsignedcharaccessRights[3]={0x22,0x22};/*读、写、读/写、修改设置都需验证第2号密钥*/st=fw_changeFileSetting intfw_createDataFile_desfire(inticdev,unsignedcharfileNo,unsignedcharComSet,unsignedchar*AccessRight,unsignedchar*FileSize);参数 intunsignedcharaccessRights[3]={0x22,0x22};/*读、写、读/写、修改设置都需验证第2号密钥*/st= intfw_createBackupDataFile_desfire(inticdev,unsignedcharfileNo,unsignedcharComSet,unsignedchar*AccessRight,unsignedchar*FileSize);参数 intunsignedcharaccessRights[3]={0x22,0x22};/*读、写、读/写、修改设置都需验证第2号密钥*/st= intfw_createValueFile_desfire(inticdev,unsignedcharfileNo,unsignedcharComSet,unsignedchar*AccessRight,unsignedchar*lowerLimit,unsignedchar*upperLimit,unsignedchar*value,unsignedcharcreditEnabled);参数 value:当前值intunsignedcharaccessRights[3]={0x22,0x22};/*读、写、读/写、修改设置都需验证第2号密钥*/unsignedcharlower[4]={0x00,0x00,0x00,0x00};//最小为0unsignedcharenable=0x01;//支持限存 intfw_createCsyRecord_desfire(inticdev,unsignedcharfileNo,unsignedcharcomSet,unsignedchar*AccessRight,unsignedchar*RecordSize,unsignedchar*参数 intunsignedcharaccessRights[3]={0x22,0x22};/*读、写、读/写、修改设置都需验证第2号密钥*/unsignedcharnumber[3]={0x10,0x00,0x00};//文件最多16条记录st=fw_createCsyRecord_desfire intfw_delFile_desfire(inticdev,unsignedchar参数 intst=intfw_write_desfire(inticdev,unsignedcharfileNo,unsignedintoffset,unsignedintlength,unsignedchar*data,char*sessionKey);参数:icdev offset:偏移地址 要写的数据长度data:要写入的数据、sessionKey:intunsignedchar intfw_read_desfire(inticdev,unsignedcharfileNo,unsignedintoffset,unsignedintlength,unsignedchar*revData,char*sessionKey);参数:icdev revData:要的数据、intunsignedcharintfw_getvalue_desfire(inticdev,unsignedcharfileNo,unsignedint*value,char*参数 fileNo:文件标识value:的值intunsignedintintfw_credit_desfire(inticdev,unsignedcharfileNo,unsignedint参数 intunsignedintvalue=100;/* intfw_debit_desfire(inticdev,unsignedcharfileNo,unsignedint参数 fileNo:文件标识value:的值intunsignedintvalue=100;/* intfw_writeRecord_desfire(inticdev,unsignedcharfileNo,unsignedintoffset,unsignedintlength,unsignedchar*data,char*sessionKey);参数:icdev intunsignedchar intfw_readRecord_desfire(inticdev,unsignedcharfileNo,unsignedintoffset,unsignedintlength,unsignedchar*revData,unsignedint*SgRecordlen,unsignedint*rlen,char*sessionKey);参数 revData:读出的数据SgRecordlen:单个记录的长度 intunsignedchardata[1000];unsignedintsglen;unsignedintrevlen;st=fw_readRecord_desfireintfw_clearRecord_desfire(inticdev,unsignedchar参数 intst=fw_clearRecord_desfire 参数 int mitTransfer_desfireintfw_abortTransfer_desfire(int参数 intst=fw_abortTransfer_desfireintfw_formatPICC_desfire(int参数 intst=fw_formatPICC_desfireintfw_read_SerialNumberID(inticdev,unsignedint_Msec,unsignedchar*ID:icdev:通讯设备标识符_Msec:读卡时响应蜂鸣的间隔时间( 10返回:成功则返回0intunsignedcharsnr[11]={0};MifarePlus卡函参数:ihic:通讯设备标识符 int st=fw_MFPlusL0_WritePerso mitPerso(intihic:返回:成功则返回0int 01intfw_MFPlusL1_AuthenKeyL1(intihic,unsignedchar*:11:ihic:通讯设备标识符 1int st=intfw_MFPlusL1_SwitchToL2(intihic,unsignedchar*参数:ihic:通讯设备标识符 2int st=intfw_MFPlusL1_SwitchToL3(intihic,unsignedchar*参数:ihic:通讯设备标识符 3int st=intfw_MFPlusL2_SwitchToL3(intihic,unsignedchar*参数:ihic:通讯设备标识符 3int st=intfw_MFPlusL3_AuthenL3Key(intihic,unsignedchar*key,unsig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年阜阳市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)完整参考答案详解
- 克拉玛依市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)带答案详解
- 徐州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(满分必刷)
- 台州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(精练)
- 淮北市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(研优卷)
- 成都市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解
- 2026年舟山市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)带答案详解(完整版)
- 2025年广东省广州市教师职称考试(理论知识)在线模拟题库及答案
- 2025年特种作业人员考试(煤矿提升机操作作业)全真模拟试题及答案
- 2026年兰州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解参考
- 管廊架施工方案
- 钢桥制造技术升级之路
- 某铁路项目工程地质勘察监理大纲
- 城市智慧排水管网监测解决方案
- 中职第四册《林黛玉进贾府》教案
- 逻辑学复习知识点
- 陕西省建设工程质量监督报告
- 航空煤油 MSDS 安全技术说明书
- 东汽燃机G270A-401000ASM控制说明第1册(透平控制)-东方汽轮机有限公司
- 小学语文人教版六年级上册第三单元第10课《宇宙生命之谜》PPT教学课件(带内容)
- 《三年级上写字课》PPT课件.ppt
评论
0/150
提交评论