基于射频卡的多用户识别单元软件设计_第1页
基于射频卡的多用户识别单元软件设计_第2页
基于射频卡的多用户识别单元软件设计_第3页
基于射频卡的多用户识别单元软件设计_第4页
基于射频卡的多用户识别单元软件设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业生毕业设计(论文)基于射频卡的多用户识别单元软件设计SOFTWAREDESIGNOFMULTIUSERIDENTIFICATIONUNITBASEDONTHERFIC总计27页表格10个插图8幅学院(系)电子与电气工程系专业电子信息工程基于射频卡的多用户识别单元软件设计摘要本软件设计能够实现对非接触式IC卡进行读写的基础上进行多用户的识别。针对系统硬件设计,整个系统的软件设计主要包括主程序的设计、读卡器应用程序的设计、单片机控制电路的应用程序设计三个部分,每一部分都给出了具体程序并对程序进行了详细的说明。关键词IC卡;非接触;射频识别;读卡器SOFTWAREDESIGNOFMULTIUSERIDENTIFICATIONUNITBASEDONTHERFICABSTRACTTHESOFTWARESYSTEMISDESIGNEDTOIMPLEMENTTOMULTIUSERIDENTIFICATIONBASEDONREADINGANDWRITINGOFTHECONTACTLESSICCARDFORTHEHARDWAREDESIGNSYSTEM,THEENTIRESOFTWAREDESIGNSYSTEMINCLUDESPROGRAMINGOFMAINPROGRAM、PROGRAMINGOFICCARDREADERANDPROGRAMMINGOFMCUCIRCUITALLTHESEPROGRAMSAREPRESENTEDANDREMARKEDKEYWORDSICCARDCONTACTLESSRFIDCARDREADER目录1引言111课题背景112本课题的任务12非接触式IC卡识别技术221非接触式IC卡技术222射频识别技术3221系统管理层3222接口层3223从动应答子系统(应答器)43基于MIFARE非接触式IC卡的多用户识别单元的软件设计431主程序设计4311工作流程4312主程序设计532读卡器应用程序设计6321MFCM200指令6322MFCM200指令程序设计733单片机控制电路的应用程序设计11331LED状态显示程序设计11332蜂鸣器驱动程序设计12333RS232通信程序设计12334看门狗程序设计14结束语17参考文献17附录18致谢271引言11课题背景智能卡的名称来源于英文名词“SMARTCARD”,又称集成电路卡,即IC卡(INTEGRATEDCIRCUITCARD)。它将一个集成电路芯片镶嵌与塑料基片中,封装成卡的形式,其外形与覆盖的磁条相似。IC卡的概念是70年代初提出来的,法国布尔(BULL)公司与1976年首先创造出IC卡产品,并将这项技术应用到金融、交通、医疗、身份证明等多个行业,它将微电子技术和计算机技术结合在一起,提高了人们生活和工作的现代化程度。当前,用于信息处理的卡片种类繁多,而且基本上都采用了较新的技术,IC卡脱颖而出的原因在于它对与磁卡、PET卡、关卡和凸字卡等其它种类的卡具有一下突出的特点(1)存储容量大,其内部有RAM、ROM、ROM、EEPROM等存储器,存储容量可以达到几兆甚至十几兆字节;(2)体积小、容量轻、抗干扰能力强、便于携带;(3)安全性高。IC卡从硬件和软件等几个方面实施其安全策略,可以控制卡内不同区域的存取特性。存储器本身具有控制密码,非法试图对之解密则卡片自毁,即不可进行读写;(4)对网络的要求不高。IC卡极高的安全可靠性使其在应用中对计算机网络的实时性、敏感性要求低,有利于在网络质量不高的环境中应用。正是由于这些特点,使得IC卡从诞生至今虽然只有短短数年,但其市场却遍布世界各地。IC卡目前已在商贸、交通、电信、医疗、卫生保健、金融、税务、工商、公安、组织机构代码和城市公共事业管理等许多领域得到广泛应用,并取得了初步的社会和经济效益。它对提高现代化管理水平和人民的生活质量,推动整个社会信息化进程有重要作用。本课题正是在这种环境下提出的。12本课题的任务非接触式多用户识别系统通过射频信号传输完成卡片、读卡器等设备之间的数据交换,实现多目标识别的功能。系统主要由控制器(PC机等)、读卡器终端和非接触式智能卡(A型或B型)组成。通常,读卡器与控制器之间通过串口进行通信,读卡器与智能卡之间通过高频接口,在某工作频率(如1356MHZ)下、以半双工方式传输数据。多用户射频识别系统实现的关键是一个非接触式IC卡读写器的设计,它必须能够执行防重叠选择,读卡模块通过和上位机通信(RS232串口),由PC程序对选中的卡执行读卡命令,然后按照防重叠机理,执行多卡的读卡程序,完成多用户的识别。非接触式IC卡读卡器结构框图如图1所示。在本课题中,非接触式IC卡读卡器的设计是根据ISO14443TYPEA协议,并通过非接触式IC卡读写器核心读写模块MFCM200和单片机来实现的,主要侧重于软件的设计,整个系统的软件设计主要包括三个部分,即主程序的设计、读卡器应用程序的设计、单片机控制电路的应用程序设计。对读卡器应用程序的设计既是对MFCM200操作指令的程序设计;单片机控制电路的应用程序的设计包括LED状态显示程序设计、蜂鸣器程序设计、RS232通信程序设计以及看门狗程序设计。该读卡器具有以下特点(1)典型读写距离为2025MM(2)配有RS232通讯接口,便于同上位机通讯(3)小巧,价格便宜图1非接触式IC卡读卡器结构框图2非接触式IC卡识别技术非接触式IC卡是射频技术与IC卡技术相结合的产物,它与接触式IC卡的最大区别是它没有机械触点,通过无线方式与读写设备进行通信,它成功解决了卡内无源和免接触这一难题。21非接触式IC卡技术目前国际是具有代表性的两大非接触式IC卡技术是LEGIC技术和MIFARE技术。LEGIC技术是由瑞士KABA公司提供的非接触式IC卡读写技术,MIFARE技术是由PHILIPS公司提供的非接触式IC卡读写技术。MIFARE技术是采用1356MHZ的近距离非接触式IC卡通讯频率标准,在通讯安全上采用符合ISO9798国家标准的3次互感校验技术,以对卡和读写设备的合法性进行相互校验;在数据通讯上采用DSA算法对通讯数据进行加密,以确保卡上的数据不被非法的修改。MIRARE采用密码读写控制方式,即读写设备的监控程序要掌握相应的系统密码才能对IC卡内的数据进行不同操作(如读、写、增值、减值等)。其读写模块与监控计算机之间采用符合单片机外部总线标准的并行标准,读写过程可由监控程序逐步控制。在防冲撞功能上,MIFARE允许多卡同时进入读写范围,再由读写设备逐一处理。22射频识别技术射频识别技术是在射频技术、通信技术、计算机技术等现代信息技术发展的基础上与20世纪80年代中期问世的。自出现以来,由于它极大加速了信息的收集和处理,近年来获得迅速的发展。自传统的条码或磁条识别技术相比,射频识别技术具有非接触、作用距离远、精度高、信息的收集和处理快捷灵活及较好的应用环境适应性等一系列的优点,在工业自动化、商品控制、交通运输控管等众多领域得到广泛的发展。一个完整的射频识别系统通常包括两个部分,一是主动询问子系统(寻呼器),二是从动应答子系统(应答器)。其中主动询问子系统从基本功能上又可分为两个层次系统管理层和接口层。从动应答子系统就是通常意义的用户射频识别IC卡,即非接触式IC卡。射频识别系统的结构框图如图2所示。图2多用户射频识别系统的结构框图221系统管理层系统管理层一般设于IC卡发放、管理部门。主要负责射频IC卡的几种管理,完成IC卡内相关信息的处理,如读卡、写卡、卡内信息修改、IC卡注销、IC卡信息查询、打印、数据统计等等。另外,系统管理层还负责IC卡内信息的安全保密。系统管理层主机可为通用PC机、工作站或服务器等。222接口层接口层负责射频识别IC卡和管理主机的信息交换和传输,其功能通常由非接触式IC卡读卡器或IC卡应用终端具体实现。接口层主要负责完成以下主要功能IC卡进出控制、IC卡电源供给(对于无源非接触式IC卡)、IC卡与应用终端之间信息联络与处理及与管理层主机通讯等。非接触式IC卡读卡器通常包括收发模块、控制模块(单片机)、主控机和单片机之间的接口模块以及天线系统。相应涉及到射频无线收发技术、天线技术、单片机信息处理和控制技术。223从动应答子系统(应答器)从动应答子系统即非接触式IC卡,是整个射频识别系统中关键的组成部分。通常应答器由耦合元件以及微电子芯片组成。应答器的主要组成、功能及应用特点如下(1)具有信息存储、处理能力,它是射频识别系统真正的数据载体;(2)可接收、发射无线信号、外围器件少、功耗低、能在低电压下工作;(3)依据不同需要具有天线、射频/微波探测器、调制器、解调器、控制逻辑及存储器等部件;(4)有的应答器具有电池或外接电源,有的没有电源,有寻呼器通过无线方式对其供电,其中无内部电源的应答器在非接触式IC卡上应用较多;(5)体积小巧、结构多样、有圆形、方形、笔形及片形等多种形状,适合不同应用;(6)多种工作距离。3基于MIFARE非接触式IC卡的多用户识别单元的软件设计软件设计分为三部分,即主程序的设计、读卡器应用程序的设计、单片机控制电路应用程序设计。读卡器应用程序的设计即是对MFCM200操作指令的程序设计;单片机控制电路应用程序的设计包括LED状态显示程序设计、蜂鸣器程序设计、RS232通信程序设计以及看门狗程序设计。本课题中使用C语言进行程序设计,开发环境采用KEILC51V612。31主程序设计311工作流程读卡器对MIFARE卡片的完整操作过程,主要包括复位请求、防重叠、选卡、相互验证、读写卡、中止等操作。其执行顺序必须依次进行,不能颠倒。下面介绍对MIFARE1卡的每一步操作。读卡器对MIFARE卡片的操作流程如图3所示(1)复位请求当一张MIFARE卡处在卡读写器的天线工作范围之内时。MCU将通过MFCM200发送一个复位请求,复位请求有两种,一种是REQUESTALL,这指令是非连续性的读卡指令,只读一次;另一种是REQUESTSTD,这是连续性的读卡指令。当卡片收到该指令后,卡片内的ATR将启动。并将卡片的BLOCK0中的卡片类型TAGTYPE号共2个字节传送给读卡器,从而建立卡片与读卡器的第一步通信联络,完成复位过程。(2)防重叠如果有多张MIFARE卡片处在卡片读写器的天线工作范围之内,MFCM200能检测出来并通知到MCU。此时MCU通过防重叠算法来与每一张卡进行通讯。由于每一张MIFARE卡片都具有其唯一的序列号而决不会相同,因此,MCU根据卡片的序列号来保证一次只对一张卡进行操作。根据ISO14443协议,M1型卡传统的防重叠突算法是动态二进制检索树算法。它首先利用MANCHESTER编码“没有变化”的状态来检测碰撞位,然后把碰撞位设为二进制“1”,用SELECT命令发送重叠前接收的部分卡片序列号和碰撞位,如果卡片开头部分序列号与其相同,则做出应答,不相同则没有响应。以此来缩小卡片范围,最终达到无重叠。(3)选卡通过以上两步以后,MCU选取一张卡的序列号进行通讯,即选卡。(4)相互验证选定要处理的卡片之后,MCU确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。在选择另一扇区时,必须进行另一扇区密码校验。(5)读写卡读写操作是对卡的最后操作,包括读READ、写WRITE、增值INCREMENT、减值DECREMENT、重储RESTORE和传送TRANSFER等操作。(6)中止当一系列的操作完成后,MCU发送一个停机命令给卡片,使其退出工作。图3读卡器对MIFARE卡片的操作流程图312主程序设计在非接触式IC卡读卡器程序设计中,主程序中包含了一个无限循环,读卡器对卡的所有操作都放在这个无限循环中,循环外只有读卡器初始化子程序。读卡器主程序框图如图4所示。图4读卡器主程序框图主程序以调用读卡器初始化子程序开始,接着进行复位应答、防重叠、选择卡片、三次相互验证、读写卡等对卡片的操作以及显示等人机互操作,然后执行停机指令,完成对一张卡片的操作,之后进入下一个同样的循环。32读卡器应用程序设计321MFCM200指令MCU对MIFARE非接触式IC卡的控制是通过MFCM200来实现的,MFCM200是MCU和MIFARE非接触式IC卡之间的通信载体。MCU对MFCM200的控制是以MCU发出MFCM200的指令来达到的,MFCM200收到这些指令之后将执行这些指令。MFCM200的指令主要有这样一些REQUESTSTD,REQUESTALL,ANTICOLLISION,SELECT,LOAD_KEY,AUTHENTICATIONAUTH_LA,AUTH_LB,READ,WRITE,INCREMENT,DECREMENT,RESTORE,TRANSFER,HALT等等。其中比较重要的是前8条指令,以及HALT停机指令等。MCU对MFCM200的某一指令操作不是简单的一条指令所能完成的,必须有一个程序的序列来完成,其中有MFCM200硬件内核寄存器的读与写以及根据读出的硬件内核寄存器的内容进行语言软件上的判断和设置。就连一条最简单的停机(HALT)指令也必须首先对MFCM200内部的诸多寄存器进行设置。不同的指令将设置不同的MFCM200内部寄存器以及应有不同的编程语言程序序列。322MFCM200指令程序设计MFCM200具体指令说明及程序设计如下(1)“ANSWERTOREQUEST”“REQUEST”应答或复位应答指令A指令说明,如表1所示表1复位应答指令指令指令代码(HEX)相关的出错标志接收卡片上数据ANSWERTOREQUESTREQUESTSTD26REQUESTALL52TE,BETAGTYPEREQUEST指令将通知MFCM200在天线有效的工作范围(距离)内寻找MIFARE卡片。如果有MIFARE卡片存在,这一指令将分别与MIFARE卡片进行通信,读取MIFARE卡片上的卡片类型号TAGTYPE2个字节,由MFCM200传递给MCU,进行识别处理。REQUEST指令分为REQUESTSTD和REQUESTALL指令。REQUESTALL指令是非连续性的读卡指令,只读一次,它可以防止MFCM200选择同一张卡片好几次。当某一张卡片在MFCM200天线的有效工作范围(距离)内,REQUESTALL指令在成功读取这一张卡片之后,将一直等待卡片的使用者拿走这一张卡片,直到有新一张的卡片进入MFCM200之天线的有效工作范围(距离)内。当然,这里的“新一张的卡片”亦可以是刚刚拿开的那张卡片。REQUESTSTD指令的使用和REQUESTALL指令刚巧相反,REQUESTSTD指令是连续的读卡指令。当某一张卡片在MFCM200天线的有效工作范围(距离)内,REQUESTSTD指令在成功地读取这一张卡片之后,进入MFCM200对卡片的其他操作。如果其他操作完成之后,又将MFCM200进入REQUESTSTD指令操作,则REQUESTSTD指令将连续性地再次进行读卡操作,而不管这张卡片是否被拿走。只要有一张卡片进入MFCM200之天线的有效工作范围(距离)内,REQUESTSTD指令将始终连续性地再次进行读卡操作。B指令程序设计,具体程序见附录。2“ANTICOLLISION”防重叠指令A指令说明,如表2所示表2防重叠指令指令指令代码(HEX)相关的出错标志接受卡片上数据ANTICOLLISION防重叠93TE,BESERIALNUMBER如果有多于一张的MIFARE卡片在MFCM200之天线的有效的工作范围(距离)内,必须使用ANTICOLLISION指令,使MCM能够在这一叠MIFARE卡片中选择个别的一张卡片。ANTICOLLISION指令开始与一个“ANTICOLLISIONLOOP”防重叠循环。结束时,ANTICOLLISION指令将提供给用户在这些卡片叠中选择的那张卡片的一个有效的40BIT长的序列号SNSERIALNUMBER,SN前四个字节是有意义的,第5个字节仅仅用于校验之用,而获得SN之后,一般地应在程序中对所接收到的SN进行校验,以确保数据的正确性。ANTICOLLISION指令的启动必须是在完成了对STACON寄存器中的AC位的成功的设置之后。B防重叠流程图如图5所示。图5防重叠程序流程图在读写器天线所覆盖的范围之内有多个标签存在时,读写器发送命令后,会引起响应冲突,从而导致通信失败。当读写器检测到冲突后,可使用命令来处理存在的冲突。通过发送命令可以记录读写器天线覆盖范围内的标签的UID用户识别信息,然后利用UID的唯一性,读写器和各个标签分别建立独立的通道进行通信,从而消除冲突。读写器首先发送命令给标签,在命令的数据域和参数域中分别包含UID的掩码和掩码的长度,传送给标签的掩码要求是整字节,如果此掩码不是整字节的话将自动在高位补零。通过设置标志域的相应标志位,读写器可以设置接收标签响应的时隙为3或6,在各时隙中,读写器都可以接收标签返回的UID,读写器通过发送结束信号的UID和当前时隙序号的最低4BIT加命令数据域中的掩码进行比较,如果不匹配则无应答,如果匹配将送回自己的UID。在某一时隙可能出现多个标签同时做出响应,这时读写器要记下冲突的标签掩码和时隙计数器的值,以做进一步冲突处理。C指令程序设计,具体程序见附录。3”SELECTTAG”选择卡片操作A指令说明,如表3所示表3选择卡片指令指令指令代码(HEX)相关的出错标志接受卡片上数据SELECTTAG选卡片93TE,BE,PE,CESIZE在一个成功的ANTICOLLISION指令之后,或在任何时候当程序员想实际地与已知序列号的卡片进行通信时,必须使用SELECT指令,以建立与所选卡的通信。SELECT指令成功地完成后,MCU将得到MFCM200的DATA寄存器传送来的一个字节长的卡片容量信息SIZE字节。B指令程序设计,具体程序见附录。4“AUTHENTICATION”认证操作A指令说明,如表4所示表4认证指令指令指令代码(HEX)相关的出错标志接收卡片上数据AUTHENTICATION认证AUTH_1A60AUTH_1B61TE,BE,PE,CE/在MCU将运算获得的数据准备存储到卡片上的存储器之前,或MCU希望能读取MIFARE卡片上的数据之前,程序员必须证明他的读/写请求操作是被允许的。这可以通过选择秘密地存储在MFCM200之RAM中的密码集(KEYSET)中的一组密码来进行认证而实现。如果这一组密码与MIFARE卡片上的密码匹配,这一次的操作被允许进行。卡片上的存储器的每一个BOLCK块(128BITS)都分别指定了该BIOCK块的存取条件。这些条件是根据密码A或B它们对整个SECTORS扇区始终有效而定。MCU能够存储3个密码集KEYSET0,KEYSET1,KEYSET2。每一个KEYSET又包含了KEYA及KEYB等,以存取最高达32KBIT内存容量的MIFARE卡片。用户必须在KEYSTACON0BH地址寄存器中指定一套密码,即设置KS0,KS1。如表5所示。表5MFCM200密码集KEYADDR寄存器(0CH地址)中的AB位用于选择KEYA当AB“1”时和KEYB当AB“0”时。如表6所示。表6KEYA、KEYB选择表KEYADDR寄存器(地址0CH)中的“AB”设置必须匹配“AUTHENTICATION”命令(指令代码60和61HEX),即,在“AUTHENTICATION”命令中,60H代码用于认证KEYA61H代码用于认证KEYB。B指令程序设计,具体程序见附录。5“LOADKEY”存取密码A指令说明,如表7所示表7存取密码指令指令指令代码(HEX)相关的出错标志接受卡片上数据LOADKEY存取密码/AE/在MFCM200中,每一个认证扇区(AUTHENTICATIONSECTOR)中包含了一套传输密码TKEYONETRANSPORTATIONKEY。这些密码在制造产品时,可以编程。它们可以被传输到系统的集合器(例如,用户开发的硬件系统)中,集合器负责存取新的用户定义的密码到MFCM200WOM密码只读存储器中。此时,可以通过“LOADKS1KS000选择KEYSET0KS1KS001选择KEYSET1KS1KS010选择KEYSET2KS1KS011选择KEYSET3AB”1”选择KEYAAB”0”选择KEYBKEY”指令来完成任务。对于一个单独扇区(SECTOR)中的密码提取,则相应的传输密码必须被预先指定。B指令程序设计,具体程序见附录。6“READ”读指令操作A指令说明,如表8所示表8读指令指令指令代码(HEX)相关的出错标志接受卡片上数据READ读30TE,BE,PE,CEDATAREAD(读)指令允许MCU通过MFCM200来读取MIFARE卡片上完整的16个BYTES的数据块(DATABLOCKS)B指令程序设计,具体程序见附录。7“WRITE”写指令操作A指令说明,如表9所示表9写指令指令指令代码(HEX)相关的出错标志接受卡片上数据WRITE写A0TE,BE/“WRITE”写指令允许用户写数据到MIFARE卡片上完整的16个BYTES的数据块(DATABLOCKS)。只有在先“AUTHENTICATION”认证指令完成后,才允许进行对要求的数据扇区或数据块(BLOCK)进行“WRITE”写指令操作。B指令程序设计,具体程序见附录。8“HALT”停机指令A指令说明,如表10所示表10停机指令指令指令代码(HEX)相关的出错标志接受卡片上数据HALT停机50TE,BE/“HALT”停机指令将MIFARE卡片设置为“HALTMODE”。例如,卡片已经退出使用等。卡片将保持“HALTMODE”状态,直到被复位(例如重新用于通信等)。B指令程序设计,具体程序见附录。33单片机控制电路的应用程序设计单片机控制电路的应用程序设计包括LED状态显示程序设计、蜂鸣器驱动程序设计、RS232通信程序设计和看门狗程序设计四部分。331LED状态显示程序设计LED状态显示程序设计比较简单,只需让MCU的P22I/O口输出“1”电位或者“0”电位,导通或截止晶体管即可使LED灯亮或熄。电路中的红灯为读卡器上电指示灯,读卡器上电红灯就亮,绿灯用于读卡器对卡操作成功指示,每次读卡器对卡操作成功,绿灯亮,程序主要控制读卡器中的绿灯。LED状态显示程序如下VOIDLED_ONP2_21VOIDLED_OFFP2_20;332蜂鸣器驱动程序设计要让蜂鸣器发出声音,必须要让晶体管不断ON/OFF交互变化,即P23不断的输出“1”电位和“0”电位。如果P23输出一直是“1”电位或一直是“0”电位,则蜂鸣器则将无法发出声音。程序设计除了要让蜂鸣器能够发出声音之外,还要让蜂鸣器能够连续发出不同音长及音调的声音,使蜂鸣器能够基于不同功能发出不同的报警信号。下面是蜂鸣器驱动子程序。参数说明COUNT发出声音的个数SOUNDLONG音长,声音的长短TONE音调,声音的高低,以KHZ为单位VOIDBEEPUNSIGNEDCHARCOUNT,UNSIGNEDCHARSOUNDLONG,UNSIGNEDCHARTONEUCHARIDATAI,J,K,SPFREGSPFREG1000/TONE/2/方波的半周期转换方式,以KHZ为单位FORI0I8UCHARSNR16UCHARSNR24WRITEIODATA,SNR_CHKWRITEIOTOC,TIMEOUTWHILESTATUSREADIOSTACONWRITEIOTOC,0IFSTATUSIFSTATUSRETURNMI_BITCOUNTERRIFSTATUSIFSTATUSSIZEREADIODATA/返回卡片的SIZE字节RETURNMI_OK/“AUTHENTICATION”认证操作/CHARMIF_AUTHUCHARMODE,UCHARKEY_NR,UCHARADRUCHARIDATASTATUS,FKTIFMODEKEY_NR|_ABELSEFKT0X60/60H代码用于认证KEYAWRITEIOTOC,TIMEOUTWRITEIOBCNTS,16WRITEIOKEYSTACON,_AL|MODEWRITEIOKEYADDR,_AL|KEY_NRWRITEIODATA,FKT/执行指令WRITEIODATA,ADRWHILESTATUSREADIOSTACONWRITEIOTOC,0IFSTATUSIFSTATUSIFREADIODATAELSERETURNMI_BITCOUNTERRIFSTATUSIFSTATUSRETURNMI_OK/“LOADKEY”存取密码/CHARMIF_LOAD_KEYUCHARMODE,UCHARKEY_ADDR,LOAD_KEYTRANSPORTKEY,LOAD_KEYNEWKEY/TRANSPORTKEY传输密码,NEWKEY新密码UCHARIDATAIWRITEIOKEYSTACON,MODEKEY_ADDRWRITEIOKEYADDR,KEY_ADDRFORI0IKEYIFORI0IKEYIIFREADIOSTACONRETURNMI_OK/“READ”读指令操作/CHARMIF_READUCHARADR,UCHAR_DATAUCHARIDATASTATUS,TEMPUCHARIDATA_TEMPDATAUCHARIDATAIWRITEIOBCNTS,16WRITEIOBCNTR,128WRITEIODATA,0X30WRITEIODATA,ADRWRITEIOTOC,TIMEOUTWHILESTATUSREADIOSTACONWRITEIOTOC,0IFSTATUSIFSTATUSTEMPREADIODATAIFREADIOSTACONDEFAULTRETURNMI_READERRELSERETURNMI_READERRIFSTATUSIFSTATUSFORI0I16I_DATAIREADIODATA/连续读取16个字节的数据,即读取一个数据块FORI0I16I(_TMEPDATAI)READIODATAFORI0I16IIF_DATAI(_TEMPDATAI)RETURNMI_BYTECOU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论