Android UHF API

更新时间:2023-10-16 00:06:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ANDROID UHF API

1包和库导入工程

UHF函数封装在uhf.jar中com.android.hdhe.uhf.reader.Uhfreader中。

2函数说明

2.0.1获取UhfReader实例getInstance()

功能:获取UhfReader实例,调用UHF封装指令 参数:无

返回:UhfReader实例

2.0.2设置发射功率setOutputPower(int value)

功能:设置发射功能(调节读取标签距离)

参数:int value,value范围16-26即14dBm~26dBm 返回:boolean flag,true设置成功,false设置失败

2.0.3多标签盘存inventoryMulti()

功能:芯片内部多次调用盘存,适用于多标签环境 (盘存10000次,自动停止,如需请再 次调用) 参数:无

返回:List list,list不为null时,返回盘存列表,list为null,无标签或标签不在天线区 域。

2.0.4停止多标签盘存stopInventoryMulti()

功能:停止多标签盘存

参数:无 返回:无

2.0.5实时盘存inventoryRealTime()

功能:实时盘存,为单次执行指令,盘存时可循环调用,实现多标签盘存 参数:无

返回:List list,list不为null时,返回盘存列表,list为null,无标签或标签不在天线区 域。

2.0.6选择标签selectEPC(byte[] epc)

功能:选择标签,在读写标签之前,应调用。 参数:byte[] epc,标签的EPC数据 返回:无

2.0.7取消选择标签unSelectEPC()

功能:取消选择标签,在重新选取标签或盘存时应调用。 参数:无

返回:int, 为0时正确执行,其他则错误。

2.0.8读标签数据readFrom6C(int memBank, int startAddr, int length, byte[] accessPassword)

功能:读标签存储区数据,读出的数据是以word为单位。

参数:int memBank 存储区RESEVER 区0,EPC 区1,TID区 2,USER区 3; int startAddr 起始地址(不可过大,视数据区大小而定); int length 读数据长度,其单位为word(1word = 2bytes); byte[] accessPassword 密码4个字节

返回:byte[] data;data不为null,则为数据区数据,为null则读数据失败,返回一个字节的 错误码

2.0.9写标签数据writeTo6C(byte[] password, int memBank, int startAddr, int dataLen, byte[] data)

功能:写标签存储区数据(TID区不可写),写数据以word为单位,不够用0补齐。 参数:byte[] Password 密码4个字节 int memBank 存储区RESEVER 区0,EPC 区1,TID区 2,USER区 3; int startAddr 起始地址(不可过大,视数据区大小而定); int dataLen读数据长度,其单位为word(1word = 2bytes),; byte[] data 数据

返回:boolean ,true写入成功,false写入失败

2.0.10调节工作频率setFrequency(int startFrequency, int freqSpace, int freqQuality)

功能:调节工作频率(不建议使用)。 参数:int startFrequency 起始频率 i int freqSpace 频点间隔 int freqQuality 频点数;

返回:int ,若返回0,则设置成功,其他则失败

2.0.11设置区域频率setWorkArea(int area)

功能:设置区域频率(建议使用)。 参数:int area;

area = 1 中国2 area = 2美标 area = 3欧标 area = 4中国1 area = 5韩国

返回:int ,若返回0,则设置成功,其他则失败

错误码

Type Command Error FHSS Fail Inventory Fail Code 0x17 0x20 0x15 Description 命令帧中指令代码错误。 跳频搜索信道超时。所有信道在这段时间内都被占用。 轮询操作失败。没有标签返回或者返回数据CRC校验错误。 Access Fail Read Fail Read Error Write Fail Write Error Lock Fail Lock Error Kill Fail Kill Error 0x16 0x09 0xA0 | Error code 0x10 0xB0 | Error code 0x13 0xC0 | Error code 0x12 0xD0 | Error code 访问标签失败,有可能是访问密码password不对。 读标签数据存数区失败。标签没有返回或者返回数据CRC校验错误 读标签数据存储区错误。返回的代码由0xA0 位或 Error Code得到。Error code信息详见下表。 写标签数据存数区失败。标签没有返回或者返回数据CRC校验错误。 写标签数据存储区错误。返回的代码由0xB0 位或 Error Code得到。Error code信息详见下表。 锁定标签数据存数区失败。标签没有返回或者返回数据CRC校验错误。 锁定标签数据存储区错误。返回的代码由0xC0 位或 Error Code得到。Error code信息详见下表。 灭活标签失败。标签没有返回或者返回数据CRC校验错误。 灭活标签错误。返回的代码由0xC0 位或 Error Code得到。Error code信息详见下表。

NXP G2X标签特有指令错误代码: ReadProtect Fail Reset ReadProtect Fail 0x2A 0x2B 0x1B 0xE0 | Error code ReadProtect指令失败,标签没有返回数据或者返回数据CRC校验错误。 Reset ReadProtect指令失败,标签没有返回数据或者返回数据CRC校验错误。 Change EAS指令失败,标签没有返回数据或者返回数据CRC校验错误。 NXP特有指令标签返回的错误代码,错误代码由0xE0或上标签返回的Error Code得到。 Change EAS Fail NXP特有指令标签返回的错误代码 EPC Gen2协议中标签返回错误代码:

Tag error-code Error-code Support Error Code 000000002 000000112 Error-specific 000001002 000010112 Error code Name Error Description Other error Memory overrun Memory locked Insufficient power 本表中没有声明的其他所有错误 指定的标签数据存储区不存在;或者该标签不支持指定长度的EPC,比如XPC。 指定的标签数据存储区被锁定并且/或者是永久锁定,而且锁定状态为不可写或不可读 标签没有收到足够的能量来进行写操作 Non-specific 000011112 Non-specific error 标签不支持Error-code返回

本文来源:https://www.bwwdw.com/article/49df.html

微信扫码分享

《Android UHF API.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文
范文搜索
下载文档
Top