上位机这里的LUA脚本是电脑端执行的,电脑端这个LUA不支持TOOL端封装的函数getruntime,需要使用LUA自己的os.clock,实际测试,精度不行,太差。
比如我这里测试的是100ms一帧的数据,实际测试的间隔是这样的,这样的就完全没法使用了
[Lua] 纯文本查看 复制代码 ------------------------------------------------------------------
-- 将HEX解码为ASCII格式 可同步观察AT指令的2种显示方式
------------------------------------------------------------------
local time
local diff
local firsttime = 0
--PCTx : 1表示PC机发送的,0表示接收到的
--datalen : 数据长度
--data_bin : 二进制数据
--返回 : 解码显示结果字符串, 分窗标志(uint32), 波形数据字符串
function uart_decoder(PCTx, datalen, data_bin)
local ret1 = "" --返回值1 解码显示结果
local ret2 = 0 --返回值2 分窗标志
local str_wave = ""
local ch
local temp
ret1 = "----"
if(firsttime == 0) then
time = os.clock()
firsttime = 1
end
temp = os.clock() -- 获取时间
diff = temp -time -- 本次距离上次的时间差
time = temp -- 保存本次时间
ret1 = ret1..string.format("时间差=%.1fms", diff*1000)
return ret1, ret2, str_wave
end
|