您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 实验4UHFISO18000-6C编程
实验四Gen2协议下标签操作编程实验一、实验目的掌握使用第三方函数库开发超高频标签读取程序的方法,了解附带DLL库函数用处。二、实验器材RFID读写器基础实验箱、实验用UHFRFID白卡、计算机一台。三、实验内容开发平台采用VisualStudio2010,连接RFID读写器基础实验箱,在计算机上打开UHFReaderDemo.vcxproj项目,调试运行,分析UHFReaderDemo项目,理解程序流程和算法。四、实验步骤1、打开UHFReaderDemo项目,调试运行,2、显示器上显示“PleasePutTaginReaderArea”后放一张EPC卡在读取天线读取范围内,单击空格键,读取数据。显示器上显示EPC卡存储体相应数字。3、读懂程序画出流程图。思考题1、演示示例程序。2、写两个实验过程中遇到的问题及解决方法。标签存储区代号存储区名区号RES区(保留区)0X00EPC区0X01TID区0x02MEM_USER区0x03使用第三方函数详细说明如下。1)超高频协议标签写操作:密码后是写入数据,长度以字为单位。intwriteTag(unsignedcharmem,unsignedcharbegAdd,unsignedchar*&psw,unsignedchar*&data,unsignedchardataLen);函数功能:写标签,可写标签所有可写区。输入参数:描述mem所要写的标签内存区begAdd写入内存区的起始地址*&psw,需要提供的密码地址(固定四字节)*&data待写入数据首地址dataLen写入数据长度输出参数:描述无无intsetEPC(unsignedchar*psw,unsignedchar*data,unsignedchardataLen);函数功能:设置EPC,使用writeTag指令对标签EPC区进行写操作,默认起始地址0x00。输入参数:描述*psw,需要提供的密码地址(固定四字节)*data待写入数据首地址dataLen写入数据长度输出参数:描述无无intsetUser(unsignedcharbegAdd,unsignedchar*psw,unsignedchar*&data);函数功能:设置User区,使用writeTag指令对标签User区进行写操作。输入参数:描述begAdd起始地址,User区较长,故使用用户输入的起始地址提高效率*psw提供AccessPassword*data待写入数据首地址输出参数:描述无无2)超高频协议标签读操作intreadTag(unsignedcharmem,unsignedcharbegAdd,unsignedchar&readLen,unsignedchar*&tagInfo);函数功能:读标签指令,可读标签所有可读区,内存起始地址以字为单位,也就是两个字节输入参数:描述mem内存区begAdd相应内存区起始地址&readLen要读取相应数据的长度&tagInfo*读入数据首地址,初始化即可输出参数:描述&readLen返回该次读取到数据的长度,默认0x00可尽量读取数据,但有限制,如User区只读一次通常为29字即58字节&tagInfo返回该次读到数据的首地址intreadEPC(unsignedchar&readLen,unsignedchar*&tagInfo);函数功能:读取EPC,使用readTag指令对标签EPC区进行读操作,默认起始地址0x00。输入参数:描述*&tagInfo待读入数据首地址引用指针,初始化即可&readLen待读入数据长度引用块,初始化即可输出参数:描述*&tagInfo返回读入数据首地址&readLen返回读入数据长度intreadCompleteTID(unsignedchar&readLen,unsignedchar*&tagInfo);函数功能:读取TID,使用readTag指令对标签TID区进行读操作,默认起始地址0x00。输入参数:描述*&tagInfo待读入数据首地址引用指针,初始化即可&readLen待读入数据长度引用块,初始化即可,使用0x00读取所有内容输出参数:描述&tagInfo返回读入数据首地址&readLen返回读入数据长度intreadReserved(unsignedchar&readLen,unsignedchar*&tagInfo);函数功能:读取Reserved区,使用readTag指令对标签Reserved区进行读操作,默认起始地址0x00。输入参数:描述*&tagInfo待读入数据首地址引用指针,初始化即可&readLen待读入数据长度引用块,初始化即可,使用0x00读取所有内容输出参数:描述&tagInfo返回读入数据首地址&readLen返回读入数据长度intreadUser(unsignedchar&reeadLen,unsignedchar*&tagInfo,unsignedcharbegAdd);函数功能:读取User区,使用readTag指令对标签User区进行读操作,默认起始地址0x00。输入参数:描述*&tagInfo待读入数据首地址引用指针,初始化即可&readLen待读入数据长度引用块,初始化即可,使用0x00读取所有内容,User区较长,一次读取受硬件条件限制通常仅返回58字节begAdd此参数默认为0x00,User区特为开放给用户,用户可在一次读取后使用读到的长度作为起始地址再次读取,如读到数据与第一次读到的数据连接,便可得到所有的User区数据输出参数:描述&tagInfo返回读入数据首地址&readLen返回读入数据长度3)超高频协议标签锁操作intlockUnlock(unsignedcharop,unsignedcharmem,unsignedchar*&psw);函数功能:锁相关指令。输入参数:描述op操作数可为解锁0x00、锁0x01、永久锁0x02、锁并且永久锁0x03mem操作相应内存区地址*&psw密码首地址输出参数:描述无无intsetPsw(unsignedchar*psw,unsignedchar*newPsw,boolmark);函数功能:设置密码,使用writeTag指令对标签password区进行写操作。输入参数:描述*psw,需要提供的密码地址(固定四字节)*newPsw修改的新密码mark设置标志,mark==0表示KillPassword,mark==1表示AccessPassword输出参数:描述无无
本文标题:实验4UHFISO18000-6C编程
链接地址:https://www.777doc.com/doc-2500224 .html