在lua中使用如下设置机器人寄存器的指令时,最后的值为对应数据的16进制形式的字符串形式,
set_robot_register (66,1,"FF" ) --发送的数据为255
可以使用以下代码进行转换
function Data2String(d)
-- 输入为0-65535的数据
-- 如果数据大于255,返回的字符串形式16进制数据,低字节在前,高字节在后
if (d > 255) then
out = string.pack("I2", string.format("%u", d))
out = string.unpack('>I2',out)
return string.upper(string.format("%04x", out))
else
return string.upper(string.format("%02x", d))
end
end
a = 15
set_robot_register (66,1,Data2String(a)--发送数据15,实际发出的为"0F"
a = 65533
set_robot_register (66,2,Data2String(a)--发送数据65533,实际发出的为"FDFF",注意字符串形式数据,低字节在前,高字节在后