


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录第一章RD系列接触式IC卡读写器简介31.1 概述31.2 读写器型号31.3 装箱清单41.4 读写器连接方式41.5 指示灯41.6 程序安装41.7 用户软件4技术指标5第二章演示系统使用说明6第三章IC卡读写器驱动程序函数说明93.1安装程序主要目录和文件93.2函数使用规则93.3.1 3.3各种库函数说明9C语言接口函数库9通用函数库10AT24C01A/24C02/24C04/24C08/24C16/24C6413AT45D04114AT88SC102/1604/1604B15AT93C46/93C46A22SLE440423SLE440626SLE4418/442828SL
2、E4432/444230CPU30FOXPROFORDO函数库333.3.2 WINDOWS16位和32位动态库34FOXBAS前数库35UNIX函数库38LINUX函数库383.4.1 VFP、VBDelphi和PB调用动态库的方法38VFP调用16位动态库的方法38VFP调用32位动态库的方法39VB调用动态库的方法403.4.2 Delphi调用32位动态库的方法41PB调用32位动态库的方法42VC调用32位动态库的方法423.4 IC卡类型代码433.5 函数错误类型代码433.6 自动卡型测试函数原理说明44版本兼容性45附录一几种常用IC卡的特性451999/10/10RDMIX
3、MANDOC-6.10A第一章RD系列接触式IC卡读写器简介1.1概述市明华澳汉科技有限公司是以生产IC卡及开发IC卡相关设备为主导产品的高新科技企业。继1996年第一台接触式IC卡读写器问世以来,本公司经不断改进、提高,已相继推出数千台不同型号的读写器。XXXX读写器是明华公司最新推出的读写设备,它功能齐全、性能稳定,在原有RD系列读写器的基础上增加了对SAM#操作的功能。可方便地应用于工商、邮电、税务、银行、保险、医疗及各种收费、储值、查询等管理系统中。a. 可读写的卡型存贮器(Memory卡美国ATME球司的AT24C01A/24C02/24C04/24C08/24C16/AT24C64
4、,AT88SC102AT88SC1604/1604B,AT45D041,AT93C46/93C46A卡德国SIEMENS司的SLE4432/4442,SLE4418/4428,SLE4404,SLE4406卡b. 以及其他公司的兼容卡片(ISSI24C01A/16)CPU卡(符合T=0/T=1通讯协议)特点可读写多种Memory卡和支持T=0、T=1通讯协议的CPU#;支持对SAM#操作的功能;与PC机通讯采用RS232串口,波特率为1200115200BPS;对于使用SAM#的用户,可以选择置于读写器的小卡座,也可以选择通过卡槽操作的大卡座。提供诸多开发平台的接口函数和应用例。1.2读写器型
5、号(S)RD-XX-XC:表示CPU#读写器;MX表示混合型读写器,可读写Memory卡和CPU#;卡座类型:T-推推式,B-推拔式,Z-自弹式放置方式:I-内置,E-外置RD系列读写器。前面加S表示某种卡型专用读写器例如:RD-EB-MX为外置推拨式可读写Memory卡和CPU#的混合型读写器1.3装箱清单读写器一台串口线一条安装盘一用户手册一本(根据需要提供)产品保修卡一1.4读写器连接方式XXXX卖写器有两个PS/2接口和一个串口,PS/2接口中的一个与计算机的键盘口连接,另一个与键盘相连,串口直接接至计算机的串口上。1.5指示灯三色指示灯:绿色红色橙色用户卡已插入,闪烁时表示正在对用户
6、卡操作未插用户卡或SAM长用户卡未插入,SAM卡已插入,闪烁时表示正在对SAM卡操作1.6程序安装步骤:将置读写器安装在计算机;或将外置读写器连接在计算机通讯口上;接通读写器电源;将随机软盘插入驱动器A:或B:中在WINDOWS95/9醉境下双击MWRD.EXE按照安装程序的提示和要求进行安装;注意:安装程序在根目录下建立MWR乾目录(缺省),所有驱动软件均在此目录下。安装完毕后请仔细阅读README.TXT:件。1.7用户软件(V6.5)a. 用户软件包括三部分:演示系统、驱动程序、应用例和兼容库演示系统b. 提供WINDOWS演示程序DEMO.EXE驱动程序C语言接口函数库(Borland
7、C3.1)FOXPROFORDOS(2.5/2.6)接口函数库WINDOWS1位动态库WINDOWS3密动态库FOXBASE(2.0/2.1)接口函数库UNIX函数库(SCOUNIX5.0)c. LINUX函数库(Redhat6.0)应用例随盘应提供VB5VB3PB5DELPHI3VFP3FORPROFORDOS(2.5/2.6)、BC3.1、FOXBASE(2.0/2.1)、UNIX(SCO5.0)、LINUX(Redhat6.0)等的应用例。d. 兼容库V5.4为了兼容NR原列及RDZRDBRDT型读写器及其驱动程序Ver5.X,在RD系列读写器Ver6.4以上的驱动程序中增加了兼容库。使
8、用旧读写器的客户,只要购置RD系列读写器及其兼容库,可不必更改源程序即可完成平稳过渡。1.8技术指标通讯接口:RS232串口串口的波特率:1200115200BPS电源:由键盘取电,不外带电源最大功耗:100mW环境温度:商业级0°70°C工业级-25°85°C相对湿度:30%95%抗静电干扰:15KV抗磁场干扰:19奥斯特抗振动能力:振幅0.35mm,频率10-55Hz,三个轴方向扫频振动绝缘电阻:湿热情况下(40°,95为绝缘电阻应不小于5MQ。外型尺寸:置式长宽高138mm120mm25mm外置式长宽高150mm118mm100mm重量:
9、置式约200克;外置式约500克第二章演示系统使用说明该演示系统可对ATMELSIEMENSMemory卡和符合T=0/T=1通讯协议的CP好读写操作。图1演示系统主界面1.演示系统主界面分五个功能区,分别说明如下:设备信息提示可显示用户软件版本号、硬件版本号、产品序列号设备操作-密码操作可设置密码、更改密码、读出密码和比较密码-设备计数读写器发卡时可做计数之用。-设备蜂鸣可按设置时间要求执行鸣叫。-EEPROM读写可向EEPROM3写入有关设备的一些备注信息-自动弹卡自弹式读写器可执行弹卡操作。卡片选择卡片选择分手动选择卡型和自动检测卡型两种,卡片选择完成以后,按下卡片操作按钮,进入相应的M
10、emory卡或CPU#操作界面,实现各自的功能操作。建立连接初次运行系统时,系统按自动测试方式建立连接,并将成功连接的参数保存在系统文件中。下次运行时系统将自动按保存的参数建立连接。也可以指定通讯口和波特率(或并口方式)建立连接。连接成功后,用户可以更换读写器端口和波特率值(或并口方式),指定连接方式后,执行更改连接。自动测试将按照并口0x378、并口0x278、串口1串口4的顺序自动测试并连接。提不'信息提示信息显示各项操作的结果或出错信息。鼠标双点框文字可清空该区域。帮助文件按F1键或在卡片操作界面单击?图标,则弹出RD读写器帮助系统。该帮助系统功能十分详尽,包括如何使用演示软件、
11、明华读写设备介绍、支持卡型介绍、库函数介绍和读写器常见问题解答五大部分。第三章IC卡读写器驱动函数说明3.1安装程序主要目录和文件README.TXTMWRD6.5DRVER:C.LIB*.*FOXPRO.DOS*.*WINDOWS.DLL'*.*UNIX*.*FOXBASE*.*DEMO.WINDEMO.EXE'EXAMPLES'*.*MWRD5.4:C.LIBFOXPRO.DOSWINDOWS.DLLRef5X.TXTSRDUSER.DOCUNWISEEXERD版本说明系列读写器驱动程序C.DOS静态函数库FOXPROFORDOS口函数库WINDOWS32和16位动
12、态库UNIX动态库FOXBASt®数库WINDOWS下操作演示软件各种平台的应用例读写器兼容库静态函数库接口函数库位和16位动态库RDC.DOSFOXPROFORDOSWINDOWS32使用说明SRD-E*P-45D041读写器用户使用手册卸载安装程序3.2函数使用规则(1) 首先调用通讯口初始化函数ic_init()或auto_init();(2) 如果设备密码已设置有效,则通讯口初始化后必须先核对设备密码,然后再按照对卡操作的顺序调用相应的函数。出厂时缺省的设备密码为0xffffff,在密码设置有效之前或在密码正确核对的有效期间,均可以读出设备密码。密码核对的有效期指的是在正确核
13、对设备密码以后,到读写器关闭电源为止的时间。在此期间即使您的程序已经退出,原先核对的密码仍然有效。在串口通讯方式下,调用WINDOWS1位/32位动态库或UNIX函数库时,程序退出之前要执彳Tic_exit()函数,关闭串口,释放句柄icdev;否则再次初始化串口将出错。函数调用错误类型,请参照函数错误类型代码。所有函数的错误代码均以负数形式返回;FoxprForDos和Foxbase例外。注意:函数详细的使用方法,请参考EXAMPLES!录下提供的例。3.3各种库函数说明3.3.1C语言接口函数库包括:a.通用函数库b. AT24C01A/24C02/24C04/24C08/24C16/24
14、C64函数库c. AT45D041函数库d. AT88SC102/1604/1604B函数库e. AT93C46/93C46A函数库f. SLE4404函数库g. SLE4406函数库SLE4418/4428函数库SLE4432/4442函数库CPU卡函数a.通用函数库intic_init(intport,longbaud)说明:初M化通讯接口调用:Port:通讯口号0、1、2、3分别代表串口1、2、3、4;并口为其I/O地址(如0x378)baud:通讯口为串口时代表波特率,其值可为1200-115200通讯口为并口时代表半字节或全字节通讯方式,其值为0或1返回:<0错误>0通讯
15、设备标识符举例:icdev=ic_init(0,9600);初始化串口1,波特率为9600icdev=ic_init(0x378,0);初始化并口,半字节通讯方式intauto_init(intport,longbaud)说明:自动斯始化通讯接口调用:同ic_init()返回:同ic_init()注:无论使用串口通讯还是并口通讯,读写器都可保持最近一次设置的波特率值和并口的传输模式。上面的Ic_init()函数是用给定的串行波特率或并行传输模式与读写器通讯,如果读写器保存的串行波特率或并行传输模式与上位机的进行初始化的串行波特率或并行传输模式不同,将会出现初始化失败;而auto_init()函
16、数在出现不同的情况下,它可自动测试读写器当前的串行波特率值或并行传输模式,然后重新设置成上位机要求的串行波特率或并行传输模式并建立好连接。intic_exit(inticdev)说明:关闭通讯口调用:icdev:通讯设备标识符返回:<0错误=0正确举例:st=ic_exit(icdev);注:C库中本无此函数,在此仅作为其它函数库的参考intget_status(inticdev,int*state)说明:返回设备当前状态调用:icdev:通讯设备标识符state:插卡状态返回:举例:state=1<0=0intstatus;错误正确,读写器插有卡;state=0读写器无卡st=g
17、et_status(icdev,&status);(5)intdv_beep(inticdev,inttime)说明:读写器蜂鸣调用:icdev:通讯设备time:返回:<0通讯设备标识符蜂鸣时间,值围0-255(单位10ms)错误=0.正确举例:st=ic_beep(icdev,100);intauto_pull(inticdev)说明:自动弹卡调用:icdev:通讯设备标识符返回:<0错误=0正确举例:st=auto_pull(icdev);intturn_on(inticdev)说明:对卡上电调用:icdev:通讯设备标识符返回:<0错误=0正确举例:st=tu
18、rn_on(icdev);intturn_off(inticdev)说明:对卡下电调用:icdev:通讯设备标识符返回:<0错误=0正确举例:st=turn_off(icdev);intsrd_ver(inticdev,intlen,unsignedchar*databuff)说明:读取设备版本号调用:icdev:通讯设备标识符len:版本号字符串长度,其值为18databuff:存放读取的版本号字符串返回:<0错误=0正确举例:unsignedchardatabuff18;st=srd_ver(icdev,18,databuff);intset_baud(inticdev,lon
19、gbaud)说明:设置串口方式下的波特率或并口的通讯方式,设置完毕后,必须重新初始化通讯口。调用:icdev:通讯设备标识符。baud:串口时代表波特率,其值可为1200-115200并口时代表半字节或全字节方式,其值分别为返回:<0=0错误正确举例:st=set_baud(icdev,57600);设置读写器串口波特率为57600。longchk_baud(intport)说明:自动检测通讯方式。该函数要在初始化通讯口前使用调用:Port:通讯口号0、1、2、3代表串口1、2、3、4;并口则使用其I/O地址(如0x378)。返回:<0错误>=0正确。返回串口的波特率或并口的
20、通讯方式(0或1)举例:st=chk_baud(0x378);(12)intsrd_dvsc(inticdev,intlen,unsignedchar*databuff)说明:读出设备密码调用:icdev:len:通讯设备标识符密码字符串长度,其值为3databuff:返回:<0=0存放读取的密码字符串错误正确举例:unsignedchardatabuff3;st=srd_dvsc(icdev,3,databuff);(13)intswr_dvsc(inticdev,intlen,unsignedchar*databuff)说明:改写设备密码调用:icdev:len:通讯设备标识符密码字
21、符串长度,其值为3databuff:返回:<0=0存放要写入的密码字符串错误正确举例:unsignedchardatabuff3='a','b','c'st=swr_dvsc(icdev,3,databuff);intcmp_dvsc(inticdev,intlen,unsignedchar*databuff)说明:比较设备密码调用:icdev:通讯设备标识符len:密码字符串长度,其值为3databuff:存放要比较的密码字符串返回:<0错误=0正确举例:unsignedchardatabuff3='a','
22、b','c'st=cmp_dvsc(icdev,3,databuff);intsetsc_md(inticdev,intmode)说明:钥置设备密码模式mode=0时设置设备密码有效,在设备加电时必须先核对设备密码才能对设备操作;mode=1时设置设备密码无效。调用:icdev:通讯设备标识符mode:密码模式返回:<0错误=0正确举例:st=setsc_md(icdev,0);设置设备密码有效intsrd_snr(inticdev,intlen,unsignedchar*databuff)说明:读出设备标识号调用:icdev:len:通讯设备标识符字符串长度,其
23、值为16databuff:返回:<0=0存放要读出的标识号字符串错误正确举例:unsignedchardatabuff16;st=srd_snr(icdev,16,databuff);intchk_card(inticdev)说明:测卡类型,仅适用明华公司生产的部分IC卡调用:icdev:通讯设备标识符返回:<0错误>=0正确;卡类型参照IC卡类型代码举例:st=chk_card(icdev);(18)intic_encrypt(char*key,char*ptrsource,unsignedintmsglen,char*ptrdest)DESkey:ptrsource:ms
24、glen:ptrdest:<0=0说明:调用:返回:算法加密函数加密的密码,长度为8原文原文长度必需为8的倍数密文错误。其绝对值为错误代码成功举例:charpatrdest16;st=ic_encrypt("12345678”,"abcdefghabcdefgh”,16,ptrdest)将长度为16的”abcdefghabcdefgh”用密码“12345678”加密(19)intic_decrypt(char*key,char*ptrdest,unsignedintmsglen,char*ptrsource)DESkey:ptrsource:msglen:ptrdes
25、t:<0=0说明:调用:返回:算法解密函数,使用过程与ic_encrypt相反加密的密码;长度为8密文密文长度必需为8的倍数原文其绝对值为错误代码错误。成功举例:charptrdest16;st=ic_decrypt("12345678',"abcdefghabcdefgh",16,ptrdest)将长度为16的”abcdefghabcdefgh”用密码“12345678”解密(20)unsignedlongDES_Encrypt(unsignedchar*Key,intKeyLen,unsignedchar说明:调用:*Source,unsigne
26、dlongSrcLen,unsignedchar*Result)DES算法加密函数key:加密的密码keyLen:加密的密码长度Source:原文Srclen:原文长度Result:密文返回:加密后密文长度。=0成功举例:charpatrdest16;st=ic_encrypt("1234”,4,"abcdefghabcdef”,14,ptrdest)将长度为14的"abcdefghabcdef”用密码"1234”加密注意:与ic_encrypt()函数相比,它取消了对密码和加密数据长度必须为8的限制,它对于非8倍数的处理方式为在数据后自动补0'
27、,凑足8的倍数。unsignedlongDES_Decrypt(unsignedchar*Key,intKeyLen,unsignedchar*Source,unsignedlongSrcLen,unsignedchar*result)说明:DES算法解密函数,使用过程与des_encrypt相反调用:Key:解密的密码Keylen:解密的密码长度Source:密文SrcLen:密文的长度。Result:原文返回:解密后原文的长度。举例:charptrdest14;st=ic_decrypt("1234”,4,"abcdefghabcdef”,14,ptrdest)将长度为
28、14的"abcdefghabcdef”用密码"1234”解密注意:与ic_decrypt()函数相比,它取消了对密码和加密数据长度必须为8的限制,它对于非8倍数的处理方式为在数据后自动补0',凑足8的倍数。(22) intswr_eeprom(inticdev,intoffset,说明:而EEPROM3写入数据信息intlength,unsignedchar*databuff);调用:返回:icdevoffsetlength:databuff=00设备标识符偏移地址0-383数据长度1-384:存要写的数据信息正确错误举例:unsignedchardatabuff3
29、=st=swr_eeprom(icdev,1,3'a,,databuff);b','c'(23) intsrd_eeprom(inticdev,intoffset,说明:从EEPROM3读取数据信息intlength,unsignedchar*databuff);调用:icdevoffsetlength:databuff返回:=0设备标识符偏移地址0-383数据长度1-384:存要写的数据信息正确0错误举例:unsignedchardatabuff3;st=srd_eeprom(icdev,1,3,databuff);(24)说明:参数:返回:intasc_he
30、x(unsigedchar*asc,unsignedchar*hex,unsignedlonglength)将ASCII码转换为十六进制数据输入要转换的字符串存放转换后的字符串为转换后的字符串长度正确错误asc:hexlength:=00举例:unsignedchardatabuff6;st=asc_hex("a1a2a3a4a5,databuff,5);(25)inthex_asc(unsignedchar*hex,unsignedchar*asc,unsignedlonglength)说明:将十六进制数据转换为ASCII码参数:hex:asc:length:输入要转换的字符串存放
31、转换后的字符串为要转换的字符串长度返回:=00正确错误举例:unsignedchardatabuff15=0xa1,0xa2,0xa3,0xa4,0xa5;unsignedchardatabuff210;st=hex_asc(databuff1,databuff2,5);注意:转换后的字符串长度为2*length(26)intasc_asc(unsignedchar*source,unsignedchar*dest,unsignedlonglength);说明:字符串转换成字符串。专为VB5ByRef传址方式提供的赋值函数。参数:source:要转换的ASCII码字符串(声明:Byvalsou
32、rceasstring)dest:转换后的ASCII码字符串(声明:ByRefdestasbyte)length:字符串的长度返回:=0正确0错误举例:dimdatabuff(6)asbyte;st=asc_asc("123abc”,databuff(0),6);注意:C静态库、Unix、Linux库中没有提供上述三个函数。VB5环境下,对于ASCII值码大于128的情况,可利用上述三个函数实现正常转换。其中,asc_asc()是专为VB5ByRef传址方式提供的赋值函数。DELPHI3、VFP、PB5等开发环境,利用asc_hex()和hex_asc()两个函数可方便地实现ASCI
33、I码和十六进制数据的转换。详细请参考Examples目录下的范例。b. AT24C01A/24C02/24C04/24C08/24C16/24C64函数库以24C01A为例,其它卡的函数与此类似(1)intswr_24c01a(inticdev,intoffset,intlen,unsignedchar*databuff)说明:一向指定地址写数据调用:icdev:通讯设备标识符offset:偏移地址,围0-127len:字符串长度,围1-128databuff:存放要写的数据返回:<0错误=0正确举例:unsignedchardatabuff5='s','a
34、9;,'n','n','y'st=swr_24c01a(icdev,0,5,databuff);将databaff中前5个字节写入从偏移地址0开始的5个字节中intsrd_24c01a(inticdev,intoffset,intlen,unsignedchar*databuff)说明:一从指定地址读数据调用:icdev:通讯设备标识符offset:偏移地址,围0-127len:字符串长度,围1-128databuff:存放要读出的数据返回:<0错误=0正确举例:unsignedchardatabuff5;st=srd_24c01a(icd
35、ev,0,5,databuff);从偏移地址0开始读出5个字节数据放入databuff中intchk_24c01a(inticdev)说明:检查卡型是否正确调用:icdev:通讯设备标识符返回:<0错误=0正确举例:st=chk_24c01a(icdev)补充说明:24系列卡偏移地址和长度取值如下:卡型offsetlen24C01A0-1271-12824C020-2551-25624C040-5111-51224C080-10231-102424C160-20471-204824C640-81911-8912AT45D041函数库intswr_45d041(inticdev,intpa
36、ge,intoffset,longlen,unsignedchar*databuff)说明:向指定地址写数据调用:icdev:page:offset:通讯设备标识符页面地址,围0-2047偏移地址,围0-263len:字符串长度,围1-540672databuff:返回:<0=0存放要写的数据错误正确举例:unsignedchardatabuff5='s','a','n','n','y'st=swr_45d041(icdev,0,0,5,databuff);将databaff中前5个字节写入从第一页第一个字节
37、开始的5个字节单元中intsrd_45d041(inticdev,intpage,intoffset,longlen,unsignedchar*databuff)说明:从指定地址读数据调用:icdev:通讯设备标识符page:页面地址,围0-2047offset:偏移地址,围0-263len:字符串长度,围1-540672databuff:存放要读出的数据返回:<0错误=0正确举例:unsignedchardatabuff5;st=srd_45d041(icdev,0,0,5,databuff);从第1页第0个字节开始读出5个字节数据放入databuff中intchk_45d041(in
38、ticdev)说明:检查卡型是否正确调用:icdev:通讯设备标识符返回:<0错误=0正确举例:st=chk_45d041(icdev)AT88SC102/1604/1604B函数库(1)intswr_102(inticdev,intzone,intoffset,intlen,unsignedchar*databuff)说明:向指定地址写数据调用:icdev:通讯设备标识符zone:应用区地址offset:相对偏移地址len:字符串长度区号(zone)相对偏移地址(offset)长度(len)00-211-2210-691-7020-851-86databuff:存放要写的数据返回:&l
39、t;0错误=0正确举例:unsignedchardatabuff5='s','a','n','n','y'st=swr_102(icdev,1,1,5,databuff);将databaff中前5个字节写入从应用1区1字节开始的5个字节单元中(2)intsrd_102(inticdev,intzone,intoffset,intlen,unsignedchar*databuff)说明:从指定地址读数据调用:icdev:zone:通讯设备标识符应用区地址offset:偏移地址len:字符串长度databuff:返回:
40、<0=0存放要读出的数据错误正确举例:unsignedchardatabuff5;st=srd_102(icdev,1,1,5,databuff);"k应用1区1字节开始读出5个字节数据intcsc_102(inticdev,intlen,unsignedchar*databuff)说明:核对卡密码调用:icdev:通讯设备标识符len:字符串长度,其值为2databuff:存放要比较的密码字符串返回:<0错误=0密码正确举例:unsignedchardatabuff2=0xf0,0xf0;st=csc_102(icdev,2,databuff);intwsc_102(i
41、nticdev,intlen,unsignedchar*databuff)说明:改写卡密码调用:icdev:通讯设备标识符len:字符串长度,其值为2databuff:存放要改写的密码数据返回:<0错误=0正确举例:unsignedchardatabuff5=0xff,0xff;st=wsc_102(icdev,2,databuff);intrsc_102(inticdev,intlen,unsignedchar*databuff)说明:读出卡密码调用:icdev:通讯设备标识符len:密码字符串长度,其值为2databuff:存放要读出的密码数据返回:<0错误=0正确举例:uns
42、ignedchardatabuff2;st=rsc_102(icdev,2,databuff);intrsct_102(inticdev,int*counter)说明:一读出密码错误计数器值调用:icdev:通讯设备标识符counter:返回密码错误计数器值,围0-4返回:<0错误=0正确举例:intcounter;st=rsct_102(icdev,&counter);intcesc_102(inticdev,intzone,intlen,unsignedchar*databuff)说明:核对卡擦除密码调用:icdev:通讯设备标识符zone:应用区地址,其值为1或2len:字
43、符串长度,应用1区,其值为6;应用2区,其值为4databuff:存放要比较的擦除密码字符串返回:<0错误=0密码正确举例:unsignedchardatabuff4=0xff,0xff,0xff,0xff;st=cesc_102(icdev,2,4,databuff);intwesc_102(inticdev,intzone,intlen,unsignedchar*databuff)说明:改写卡擦除密码调用:icdev:通讯设备标识符zone:应用区地址,其值为1或2len:字符串长度,应用1区,其值为6;应用2区,其值为4databuff:存放要改写的密码数据返回:<0错误=0
44、正确举例:unsignedchardatabuff4=0xf0,0xf0,0xf0,0xf0;st=wesc_102(icdev,2,4,databuff);(9)intresc_102(inticdev,intzone,intlen,unsignedchar*databuff)说明:读&卡擦除密码调用:icdev:zone:通讯设备标识符应用区地址,其值为1或2len:字符串长度,应用1区,其值为6;应用2区,其值为4databuff:返回:<0=0存放要读出的密码数据错误正确举例:unsignedchardatabuff6;st=resc_102(icdev,1,6,data
45、buff);(10)intresct_102(inticdev,intzone,int*counter)说明:读出擦除密码错误计数器值调用:icdev:zone:通讯设备标识符应用区地址,其值为2counter:返回:<0=0返回密码错误计数器值,围0-128错误正确举例:intcounter;st=resct_102(icdev,2,&counter);(11)intser_102(inticdev,intzone,intoffset,intlen)说明:擦除数据调用:icdev:zone:通讯设备标识符应用区地址offset:偏移地址len:要擦除的绝对长度,参考swr_10
46、2中len说明返回:<0=0错误正确举例:st=ser_102(icdev,0,8,2);擦布移地址为8,9的两个字节(12)intfakefus_102(inticdev,intmode)说明:模拟个人化操作调用:icdev:mode:返回:<0=0通讯设备标识符为0时模拟个人化操作;为1时取消模拟错误正确举例:st=fakefus_102(icdev,0);(13)intclrpr_102(inticdev,intzone)说明:写保护位清0调用:icdev:通讯设备标识符zone:应用区地址为1或2返回:<0错误=0正确举例:st=clrpr_102(icdev,1);
47、(14) 写保护位清0后不能向应用1区写数据intclrrd_102(inticdev,intzone)说明:读保护位清0调用:icdev:通讯设备标识符zone:应用区地址为1或2返回:<0错误=0正确举例:st=clrrd_102(icdev,1);读保护位清0后,核对密码前不能读出应用1区容intpsnl_102(inticdev)说明:一个人化操作调用:icdev:通讯设备标识符返回:<0错误=0正确举例:st=psnl_102(icdev);intchk_102(inticdev)说明:检查卡型是否正确调用:icdev:通讯设备标识符返回:<0错误=0正确举例:st
48、=chk_102(icdev)intswr_1604(inticdev,intzone,intoffset,intlen,unsignedchar*databuff)说明:向指定地址写数据调用:icdev:通讯设备标识符zone:应用区地址offset:相对偏移地址len:字符串长度区号(zone)相对偏移地址(offset)长度(len)00-201-2110-11941-119520-2551-25630-2551-25640-2571-258databuff:存放要写的数据返回:<0错误=0正确举例:unsignedchardatabuff5='s','a&
49、#39;,'n','n','y'st=swr_1604(icdev,1,1,5,databuff);认应用1区1字节开始写入5个字节数据intsrd_1604(inticdev,intzone,intoffset,intlen,unsignedchar*databuff)说明:从指定地址读数据调用:icdev:通讯设备标识符zone:应用区地址offset:偏移地址len:字符串长度databuff:存放要读出的数据返回:<0错误=0正确举例:unsignedchardatabuff5;st=srd_1604(icdev,1,1,5,dat
50、abuff);"k应用1区偏移地址1开始读出5个字节数据intcsc_1604(inticdev,intzone,intlen,unsignedchar*databuff)说明:核对卡密码调用:icdev:通讯设备标识符zone:应用区地址,其值为0-4len:字符串长度,其值为2databuff:存放要比较的密码字符串返回:<0错误=0密码正确举例:unsignedchardatabuff2=0xff,0xff;st=csc_1604(icdev,0,2,databuff);(20)intwsc_1604(inticdev,intzone,intlen,unsignedcha
51、r*databuff)改写卡密码通讯设备标识符应用区地址,其值为0-4字符串长度,其值为2存放要改写的密码数据错误正确说明:调用:返回:icdev:zone:len:databuff:<0=0举例:(21)intrsc_1604(inticdev,intzone,intlen,unsignedchar*databuff)读出卡密码通讯设备标识符应用区地址,其值为0-4密码字符串长度,其值为2存放要读出的密码数据错误正确说明:调用:返回:icdev:zone:len:databuff:<0=0unsignedchardatabuff5=0xff,0xff;st=wsc_1604(ic
52、dev,0,2,databuff);举例:(22)intrsct_1604(inticdev,intzone,int*counter)说明:调用:返回:icdev:zone:counter:<0=0读出密码错误计数器值通讯设备标识符应用区地址,其值为0-1返回密码错误计数器值,围0-4错误正确unsignedchardatabuff2;st=rsc_1604(icdev,0,2,databuff);举例:intcounter;st=rsct_1604(icdev,0,&counter);(23)intcesc_1604(inticdev,intzone,intlen,unsign
53、edchar*databuff)说明:核对卡擦除密码调用:icdev:通讯设备标识符zone:len:databuff:返回:<0=0应用区地址,其值为1-4字符串长度,其值为2存放要比较的擦除密码字符串错误密码正确举例:unsignedchardatabuff2=0xff,0xff;st=cesc_1604(icdev,1,2,databuff);(24)intwesc_1604(inticdev,intzone,intlen,unsignedchar*databuff)改写卡擦除密码icdev:zone:len:databuff:<0=0说明:调用:返回:通讯设备标识符应用区地
54、址,其值为1-4字符串长度,其值为2存放要改写的密码数据错误正确举例:unsignedchardatabuff2=0xff,0xff;st=wesc_1604(icdev,2,2,databuff);(25)intresc_1604(inticdev,intzone,intlen,unsignedchar*databuff)读出卡擦除密码icdev:说明:调用:返回:zone:len:databuff:<0=0通讯设备标识符应用区地址,其值为1-4字符串长度,其值为2存放要读出的密码数据错误正确举例:unsignedchardatabuff2;st=resc_1604(icdev,1,2
55、,databuff);(26)intresct_1604(inticdev,intzone,int*counter)说明:一调用:返回:icdev:zone:counter:<0=0读出擦除密码错误计数器值通讯设备标识符应用区地址,其值为1-4返回密码错误计数器值,围0-128错误正确举例:intcounter;st=resct_1604(icdev,1,&counter);(27)intser_1604(inticdev,intzone,intoffset,intlen)说明:一调用:返回:擦除数据icdev:zone:offset:len:<0通讯设备标识符应用区地址偏
56、移地址要擦除的长度;参见swr_1604()len说明举例:=0错误正确st=ser_1604(icdev,0,8,2);擦除偏移地址为8,9的两个字节(28)intfakefus_1604(inticdev,intmode)说明:模拟个人化操作调用:icdev:通讯设备标识符mode:值为0时模拟个人化操作,为1时取消模拟返回:<0错误=0正确举例:st=fakefus_1604(icdev,0);(29)intclrpr_1604(inticdev,intzone)说明:写保护位清0调用:icdev:通讯设备标识符zone:应用区地址为1-4返回:<0错误=0正确举例:st=clrpr_1604(icdev,1);写保护位清0后不能向应用1区写数据intclrrd_1604(int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年银行零售业务数字化营销转型中的金融科技风险防范与合规监控报告
- 2023-2024学年河北省名校联盟高一下学期7月期末地理试题(解析版)
- 2025年校园安全管理报告:智慧校园环境下的校园安全教育普及
- 2024-2025学年江西省新八校联考高三上学期期末化学试题(解析版)
- 房屋团购指标转让及代购合同书
- 2025-2030中国轴流和混流泵行业发展动态与投资前景预测报告
- 2025-2030中国肿瘤消融设备及耗材行业发展态势与投资前景预测报告
- 气候变化农业可持续发展研究考核试卷
- 职业咨询机构市场竞争力分析考核试卷
- 动火作业安全知识培训课件考核试卷
- 托克逊县宝源长石矿厂新疆托克逊县桑树园子南山铜矿3万吨/年采矿项目环评报告
- 陕西省西安高中2025届高二化学第二学期期末达标检测试题含解析
- (2025)《公共基础知识》试真题库与答案
- 江西省南昌市第一中学教育集团2023-2024学年八年级下学期数学期末试卷(含答案)
- 2025盘锦市双台子区辅警考试试卷真题
- 教研员考试题库及答案
- 关于卫生院“十五五”发展规划(完整本)
- 地生中考模拟试题及答案
- 慢性病管理中心建设实施方案
- T/CCMA 0163-2023履带式液压挖掘机维修工时定额
- 2025年下半年山西焦煤西山煤电集团公司招聘270人易考易错模拟试题(共500题)试卷后附参考答案
评论
0/150
提交评论