硬汉嵌入式论坛

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

[LUA教程] H7-TOOL的LUA小程序教程第7期:时间戳,us微秒,ms毫秒和RTC实时时钟等相关API用法(2023-02-20已更新)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106760
QQ
发表于 2023-2-17 01:07:26 | 显示全部楼层 |阅读模式
LUA脚本的好处是用户可以根据自己注册的一批API(当前TOOL已经提供了几百个函数供大家使用),实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用,支持在线调试运行,支持离线运行。

TOOL的LUA教程争取做到大家可以无痛调用各种功能函数,不需要学习成本。


1、硬件RTC

使用os.time,返回的是unix时间戳,再用os.date可以展示具体时间

测试代码:
[Lua] 纯文本查看 复制代码
time = os.time()
hms = os.date("RTC时间 = %H:%M:%S", time)
print(hms)



image.png

2、ms毫秒相关
(1) delayms,实现毫秒延迟,比如延迟10ms,就是delayms(10)
(2) get_runtime,  用于获取系统上电时间,单位ms,调用方法


[Lua] 纯文本查看 复制代码
local time

function printf(...)
    print(string.format(...))
end

time = get_runtime()

printf("系统上电时间=%dms", time)


image.png


(3) check_runtime,用于获取距离指定时刻的时间差,单位ms

比如:
[Lua] 纯文本查看 复制代码
local time
local diff

function printf(...)
    print(string.format(...))
end

time = get_runtime()

printf("当前时间=%dms", time)
delayms(1000)

diff = check_runtime(time)

printf("时间差=%dms", diff)


image.png

3、us微妙相关
(1) delayus,实现微秒延迟,比如延迟100us,就是delayus(100)
(2) get_runtime_us,  用于获取系统上电时间,单位us,调用方法

[Lua] 纯文本查看 复制代码
function printf(...)
    print(string.format(...))
end

time = get_runtime_us()

printf("系统上电时间=%dus", time)


image.png


(3) check_runtime_us,用于获取距离指定时刻的时间差,单位us


[Lua] 纯文本查看 复制代码
local time
local diff

function printf(...)
    print(string.format(...))
end

time = get_runtime_us()

printf("当前时间=%dms", time)
delayms(1000)

diff = check_runtime_us(time)

printf("时间差=%dms", diff)


image.png



小应用:H7-TOOL的LUA实现的RTC+微秒级时间戳获取方法

代码:
[Lua] 纯文本查看 复制代码
local us
local diffus
local time
 
 
function printf(...)                  
    print(string.format(...))                  
end
 
 
us = get_runtime_us()
time = os.time()
 
while(1)
do
 
diffus = check_runtime_us(us)
 
printf("%s:%06d", os.date("系统运行时间     = %H:%M:%S", time+diffus//1000000), diffus%1000000)
 
delayms(100)
 
end

image.png




评分

参与人数 1金币 +20 收起 理由
missfox + 20 赞一个!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106760
QQ
 楼主| 发表于 2023-2-17 11:06:24 | 显示全部楼层
先更新一期ThreadX内核视频教程,晚些时候更新此贴
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106760
QQ
 楼主| 发表于 2023-2-20 03:48:34 | 显示全部楼层
楼主位内容已经更新。
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2023-2-21 10:23:47 | 显示全部楼层
什么时候有时间了把pg_开头的API也整理下,有些函数用法还不太理解
代码不规范,亲人两行泪!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106760
QQ
 楼主| 发表于 2023-2-21 11:20:01 | 显示全部楼层
missfox 发表于 2023-2-21 10:23
什么时候有时间了把pg_开头的API也整理下,有些函数用法还不太理解

第8期教程就弄
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 02:20 , Processed in 0.279612 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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