硬汉嵌入式论坛

 找回密码
 立即注册
查看: 806|回复: 4
收起左侧

[问题解答] H7-TOOL串口解析LUA怎么添加接收帧时间间隔?

[复制链接]

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2024-6-29 10:15:57 | 显示全部楼层 |阅读模式
串口解析器如何实现帧时间间隔显示?

H7解析效果

H7解析效果

其他软件解析效果

其他软件解析效果

测距模块协议解析.lua

3.85 KB, 下载次数: 6

解析lua代码

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115988
QQ
发表于 2024-6-29 14:57:32 | 显示全部楼层
直接把串口时间戳显示出来,是否满足需求。

2567.png
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2024-6-29 16:06:02 | 显示全部楼层
eric2013 发表于 2024-6-29 14:57
直接把串口时间戳显示出来,是否满足需求。

这个方法不太直观,客户希望直接在后面能看到时间间隔。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115988
QQ
发表于 2024-6-29 16:22:19 | 显示全部楼层



上位机这里的LUA脚本是电脑端执行的,电脑端这个LUA不支持TOOL端封装的函数getruntime,需要使用LUA自己的os.clock,实际测试,精度不行,太差。

比如我这里测试的是100ms一帧的数据,实际测试的间隔是这样的,这样的就完全没法使用了

223.jpg


[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

回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2024-6-29 16:44:41 | 显示全部楼层
eric2013 发表于 2024-6-29 16:22
上位机这里的LUA脚本是电脑端执行的,电脑端这个LUA不支持TOOL端封装的函数getruntime,需要使用LUA ...

非常感谢,这个精度确实差了一些。如果没有更好的方法只能先用这个看看。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-1 17:01 , Processed in 0.317322 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表