eric2013 发表于 2023-2-17 01:07:26

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

LUA脚本的好处是用户可以根据自己注册的一批API(当前TOOL已经提供了几百个函数供大家使用),实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用,支持在线调试运行,支持离线运行。

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

static/image/hrline/4.gif
1、硬件RTC

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

测试代码:
time = os.time()
hms = os.date("RTC时间 = %H:%M:%S", time)
print(hms)





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

local time

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

time = get_runtime()

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




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

比如:

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)




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

time = get_runtime_us()

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




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


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)



static/image/hrline/4.gif

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

代码:
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





eric2013 发表于 2023-2-17 11:06:24

先更新一期ThreadX内核视频教程,晚些时候更新此贴

eric2013 发表于 2023-2-20 03:48:34

楼主位内容已经更新。

missfox 发表于 2023-2-21 10:23:47

什么时候有时间了把pg_开头的API也整理下,有些函数用法还不太理解

eric2013 发表于 2023-2-21 11:20:01

missfox 发表于 2023-2-21 10:23
什么时候有时间了把pg_开头的API也整理下,有些函数用法还不太理解

第8期教程就弄
页: [1]
查看完整版本: H7-TOOL的LUA小程序教程第7期:时间戳,us微秒,ms毫秒和RTC实时时钟等相关API用法(2023-02-20已更新)