init: Air780EPM 官方 LuatOS 项目代码基线

- 来源: 合宙 LuatOS 官方仓库 air780epm 模块完整代码
- 路径: luatos/air780epm/module/Air780EPM/demo 含官方 demo(含 mqtt/mqtts/socket/uart 等)
- 后续: 基于 demo 开发 UART<->MQTT 数据上报功能
This commit is contained in:
wangfq
2026-08-31 08:53:49 +08:00
commit 173dd6874f
813 changed files with 125484 additions and 0 deletions
@@ -0,0 +1,64 @@
--[[
@module mcu_test
@summary 测试mcu模块功能
@version 1.0
@date 2025.10.21
@author 孟伟
@usage
本demo演示的功能为:
MCU死机时的处理模式设置
唯一ID获取与显示
系统tick计数功能测试
64位tick计数和差值计算
微秒、毫秒、秒级别的时间计数
16进制字符串转换输出
本文件没有对外接口,直接在main.lua中require "mcu_test"就可以加载运行;
]]
function mcu_test()
-- 测试MCU 死机时的处理模式
-- 死机后重启,一般用于正式产品_
mcu.hardfault(1)
-- 测试唯一ID
local unique_id = mcu.unique_id()
if #unique_id > 0 then
log.info("mcu", "Unique ID(hex):", unique_id:toHex())
else
log.warn("mcu", "Unique ID not supported")
end
-- 测试ticks相关函数
-- 获取启动后的 tick 数
log.info("mcu", "ticks:", mcu.ticks())
-- 获取每秒的 tick 数量
log.info("mcu", "获取每秒的tick数量:", mcu.hz())
-- 测试64位tick
local tick_str, tick_per = mcu.tick64()
log.info("mcu", "tick64:", tick_str:toHex(), "ticks per us:", tick_per)
-- 测试mcu.dtick64接口获取ticks差值计算
local tick1 = mcu.tick64()
sys.wait(100)
local tick2 = mcu.tick64()
local result, diff_tick = mcu.dtick64(tick1, tick2)
log.info("mcu", "dtick64 result:", result, "diff:", diff_tick)
-- 测试ticks2函数
local us_h, us_l = mcu.ticks2(0)
local ms_h, ms_l = mcu.ticks2(1)
local sec_h, sec_l = mcu.ticks2(2)
log.info("mcu", "us:", us_h, us_l)
log.info("mcu", "ms:", ms_h, ms_l)
log.info("mcu", "sec:", sec_h, sec_l)
-- 测试 转换 10 进制数为 16 进制字符串输出
local value = mcu.x32(0x2009FFFC) --输出"0x2009fffc"
log.info("mcu", "string", value)
end
sys.taskInit(mcu_test)