init: Air780EPM 官方 LuatOS 项目代码基线
- 来源: 合宙 LuatOS 官方仓库 air780epm 模块完整代码 - 路径: luatos/air780epm/module/Air780EPM/demo 含官方 demo(含 mqtt/mqtts/socket/uart 等) - 后续: 基于 demo 开发 UART<->MQTT 数据上报功能
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user