内容发布更新时间 : 2024/11/9 9:56:34星期一 下面是文章的全部内容请认真阅读。
UHF电子标签读写模块UHFReader86用户手册V1.10
unsigned short int uiCrcValue = PRESET_VALUE; for(ucI = 0; ucI < ucX; ucI++) { uiCrcValue = uiCrcValue ^ *(pucY + ucI); for(ucJ = 0; ucJ < 8; ucJ++) { if(uiCrcValue & 0x0001) { uiCrcValue = (uiCrcValue >> 1) ^ POLYNOMIAL; } else { uiCrcValue = (uiCrcValue >> 1); } } }
return uiCrcValue; }
pucY是要计算CRC16的字符数组的入口,ucX是字符数组中字符个数。
上位机收到数据的时候,只要把收到的数据按以上算法进行计算CRC16,结果为0x0000表明数据正确。
3
UHF电子标签读写模块UHFReader86用户手册V1.10
四、操作命令总汇
1. EPC C1 G2(ISO18000-6C)命令
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 命令 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0f 0x10 0x11 0x12 0x15 0x16 0x18 功能 询查标签 读数据 写数据 写EPC号 销毁标签 设定存储区读写保护状态 块擦除 根据EPC号设定读保护设置 不需要EPC号读保护设定 解锁读保护 测试标签是否被设置读保护 EAS报警设置 EAS报警探测 询查单标签 块写 读取Monza4QT工作参数 设置Monza4QT工作参数 指定掩码扩展读数据 指定掩码扩展写数据 带缓存询查 2. 读写模块自定义命令
序号 1 2 3 4 5 6 7 8 9 10 11
命令 0x21 0x22 0x24 0x25 0x28 0x2f 0x40 0x46 0x47 0x4c 0x3a 功能 读取读写模块信息 设置读写模块工作频率 设置读写模块地址 设置读写模块询查时间 设置串口波特率 调整功率 蜂鸣器设置 GPIO控制命令 读取GPIO状态 读写模块唯一序列号获取 标签自定义功能设置 4
UHF电子标签读写模块UHFReader86用户手册V1.10
12 13 14 15 16
0x70 0x71 0x72 0x73 0x74 设置缓存的EPC/TID长度 获取缓存的EPC/TID长度 缓存数据获取 清缓存 查询缓存区标签数量 五、命令执行结果状态值
响应数据块 Len 5+Data[]部分的长度 Adr reCmd Status Data[] CRC16 当成功执行命令后返回给上位机的状态值。Data[]包含了所要信息 上位机发出询查G2标签命令时,读写模块询查电子标签时,如果在设定的询查时间内返回信息给上位机,则返回此状态值 上位机发出询查G2标签命令时,当询查时间溢出时,读写模块还没有完成询查操作时返回给上位机的状态值 上位机发出询查G2标签命令时,如果询查命令读到的标签数量无法在一条消息内传送完,将分多次发送。 上位机发出询查G2标签命令时,如果询查到的电子标签太多,超过了读写模块的存储容量,则读写模块返回读到的电子标签EPC号,同时,也将返回此状态值 Status含义 说明 0xXX 0xXX 0x00 …….. LSB+MSB 操作成功 5+Data[]部分的长度 0xXX 0x01 0x01 …….. LSB+MSB 询查时间结束前返回 5+Data[]部分的长度 0xXX 0x01 0x02 …….. LSB+MSB 指定的询查时间溢出 5+Data[]部分的长度 0xXX 0x01 0x03 …….. 本条消息LSB+MSB 之后,还有消息 5+Data[]部分的长度 0xXX 0x01 0x04 …….. LSB+MSB 读写模块存储空间已满 5
UHF电子标签读写模块UHFReader86用户手册V1.10
5 0xXX 0xXX 0x05 无此项 LSB+MSB 访问密码错误 当读写模块执行需要密码才能执行的操作,而命令中给出的密码是错误的密码时返回给上位机的状态值 当向G2标签进行销毁操作时,如果销毁密码错误,或是读写模块与标签通讯不畅,则将返回此状态值 5 0xXX 0x05 0x09 无此项 LSB+MSB 销毁标签失败 5 0xXX 0x05 0x0a 无此项 LSB+MSB 销毁标签时,销毁密销毁密码码为0的标签是无法不能为全0 销毁的 G2协议中的某些可选命令,及一些厂商的特定命令,可能某些标签不支持这些命令,此时返回此状态值 5 0xXX 0xXX 0x0b 无此项 LSB+MSB 电子标签不支持该命令 5 0xXX 0xXX 0x0c 无此项 LSB+MSB 对NXP UCODE EPC G2X标签设置读保护对该命令及设置EAS报警时,访问密码访问密码不能为全0,不能为全0 若为全0,将返回此状态值 对已经被设置了读保护的NXP UCODE EPC G2X标签,在解除读保护之前,不能再次设置。此情况下返回这个状态值 5 0xXX 0x0a 0x0d 无此项 电子标签已经被设LSB+MSB 置了读保护,不能再次设置 5 0xXX 0x0a 0x0e 无此项 对NXP UCODE EPC 电子标签G2X标签解锁,如果没有被设标签没有被锁定,将LSB+MSB 置读保护,返回此状态值,对不不需要解支持读保护设定命令锁 的标签发送此命令,也将返回此状态值 6
UHF电子标签读写模块UHFReader86用户手册V1.10
5 0xXX 0x53 0x10 无此项 在向6B标签写入数有字节空据时,因为有字节空LSB+MSB 间被锁定,间被锁定,使得写入写入失败 数据失败时,返回此状态值 LSB+MSB 不能锁定 当6B标签出现不能被锁定的情况,返回此状态值 5 0xXX 0x55 0x11 无此项 5 0xXX 0x55 0x12 无此项 已经锁定,对已经锁定的6B标LSB+MSB 不能再次签进行再次锁定时,锁定 返回此状态值 参数保存失败,但设置的值在LSB+MSB 读写模块断电前有效 5 0xXX 0xXX 0x13 无此项 对于某些需要保存的参数,如果保存失败,则返回此之态 5 0xXX 0xXX 0x14 无此项 LSB+MSB 无法调整 调整功率的时候,在某些情况下,如果出现功率无法调整的错误,则返回此状态值 上位机发出询查6B标签命令时,读写模块询查电子标签时,如果在设定的询查时间内返回信息给上位机,则返回此状态值 上位机发出询查6B标签命令时,当询查时间溢出时,读写模块还没有完成询查操作时返回给上位机的状态值 上位机发出询查6B标签命令时,如果询查命令读到的标签数量无法在一条消息内传送完,将分多次发送。 5+Data[]的长度 0xXX 0x51 0X15 …….. 询查时间LSB+MSB 结束前返回 5+Data[]的长度 0xXX 0x51 0x16 …….. LSB+MSB 指定的询查时间溢出 5+Data[]的长度 0xXX 0x51 0x17 …….. 本条消息LSB+MSB 之后,还有消息 7