timer#

本章介绍LuatOS的timer库使用方式

简介#

timer库使用的是mcu的硬件定时器,通过timer库可以创建硬件定时器

硬件准备#

任意LuatOS-SOC开发板一块

软件部分#

接口文档可参考:timer库

硬阻塞#

硬阻塞指定时长,阻塞期间没有任何luat代码会执行,包括底层消息处理机制

代码如下

PROJECT = "TIMER"
VERSION = "1.0.0"

-- 初始化看门狗,超时时长为10S
wdt.init(10000)

-- 打印阻塞开始前的ticks
log.info("ticks", mcu.ticks())
-- 阻塞延迟5000ms, 绝大部分项目不会也不应该使用该方法
-- 本demo只是为了演示API方法的可用性
-- mdelay会阻塞整个lua vm的运行, 在阻塞的时长内,任何中断都不会响应,包括uart
timer.mdelay(5000)
-- 打印阻塞结束后的ticks
log.info("ticks", mcu.ticks())

-- 循环喂狗
while true do
    wdt.feed()
end

日志如下

I/user.ticks 22
I/user.ticks 5023