掌握LuatOS系统消息:原理与开发实践

科技时尚 2026-01-14 chy123 4333

LuatOS的运行体系中,系统消息承担着关键的事件驱动职责,是实现多任务协同与资源调度的基础。理解其消息结构、投递机制与处理流程,对于优化设备响应速度和系统稳定性至关重要。本文结合源码逻辑与典型应用场景,系统性地讲解LuatOS系统消息的工作原理,并提供可落地的开发实践建议。

此处列举了LuatOS框架中自带的系统消息列表

一、sys

文档链接:https://docs.openluat.com/osapi/core/sys/

二、pm

文档链接:https://docs.openluat.com/osapi/core/pm/

1、DTIMER_WAKEUP

deep sleep timer定时时间到回调

额外返回参数

例子

wKgZPGlmBXmAYGO5AAB21dUr-s8285.png

2、YHM27XX_REG

YHM27XX芯片寄存器信息更新回调

额外返回参数

例子

三、lora

文档链接:https://docs.openluat.com/osapi/core/lora2/

1、LORA_TX_DONE

LORA 发送完成

额外返回参数

例子

wKgZPGlmBhOAJLqxAABlfvYPUSQ418.png

2、LORA_RX_DONE

LORA 接收完成

额外返回参数

例子

3、LORA_TX_TIMEOUT

LORA 发送超时

额外返回参数

例子

wKgZPGlmBsCAAv41AABnyEVnZEI272.png

4、LORA_RX_TIMEOUT

LORA 接收超时

额外返回参数

例子

wKgZPGlmBv2AFM5-AABoQOcXk4M774.png

5、LORA_RX_ERROR

LORA 接收错误

额外返回参数

例子

wKgZO2lmB0GAD7VmAABk3llEpWI412.png

四、libgnss

文档链接:https://docs.openluat.com/osapi/core/libgnss/

1、GNSS_STATE

GNSS状态变化

额外返回参数

例子

wKgZPGlmB9aAQkTwAADfLv1r8kM587.png

五、mobile

文档链接:https://docs.openluat.com/osapi/core/mobile/

1、SIM_IND

sim卡状态变化

额外返回参数

例子

wKgZPGlmCTuARb5QAAEyZ5DiHQQ548.png

2、CELL_INFO_UPDATE

基站数据已更新

额外返回参数

例子

wKgZO2lmCYGADRDsAACK_29q2ZA804.png

3、SCELL_INFO

服务小区额外信息更新

额外返回参数

例子

wKgZPGlmCbKAR_-XAACAx0f-XYc214.png

4、NTP_UPDATE

时间已经同步

额外返回参数

例子

wKgZPGlmCeaAAhGfAACtv5PU5JI423.png

5、CSCON

RRC状态

额外返回参数

例子

wKgZO2lmChuAD1chAACLhxcXY2Y713.png

6、CC_IND

通话状态变化

额外返回参数

通话状态回调参数

status,通话状态,string类型,取值如下:

"READY":通话准备完成,可以拨打电话或者呼入电话了

"INCOMINGCALL":有电话呼入

"CONNECTED":电话已经接通

"DISCONNECTED":电话被对方挂断

"SPEECH_START":通话开始

"MAKE_CALL_OK":拨打电话请求成功

"MAKE_CALL_FAILED":拨打电话请求失败

"ANSWER_CALL_DONE":接听电话请求完成

"HANGUP_CALL_DONE":挂断电话请求完成

"PLAY":开始有音频输出

例子

wKgZO2lmCrGADyAjAABtHVBGJCs220.png

六、socket

文档链接:https://docs.openluat.com/osapi/core/socket/

1、IP_READY

已联网

额外返回参数

例子

wKgZO2lmC22AfWavAAClwEbwz-I887.png

补充说明:

在如下几种情况下, 系统都会发布 IP_READY 消息:

(1)4G 的 PDP 成功激活,

(2)WiFi 连接宽带成功分配 IP,

(3)以太网连接宽带成功分配 IP,

(4)WiFi 设置静态 IP,连接成功了另一个 AP;

(5)以太网设置静态 IP,连接成功了网线。

如果没有插 SIM 卡的情况下,或者是 4G 的网络没有建立的情况下,

注意有如下两种情况:

(1) 以太网网线接好(假如接到了宽带路由器),系统会发布 IP_READY ;

(2) WiFi STA 连上了一个 AP, 系统会发布 IP_READY ;

通过消息的回调参数,来取得 IP 和 网卡的 ID,可以区分是哪种上网方式。

2、IP_LOSE

已断网

额外返回参数

例子

wKgZO2lmC9KACbLHAACfwdcOY-c446.png

3、NTP_UPDATE

时间已经同步

额外返回参数

例子

wKgZO2lmDBSAecutAABwZ0JD140172.png

4、NTP_ERROR

时间同步失败

额外返回参数

例子

wKgZO2lmDE6AVjylAABr8MkOYqM036.png

七、sms

文档链接:https://docs.openluat.com/osapi/core/sms/

1、SMS_INC

收到短信

额外返回参数

wKgZO2lmDQuAE5dDAAAiNBc4RRE594.png

例子

wKgZO2lmDUeAKwS4AAEQ72vOeag156.png

今天的内容就分享到这里了~

审核编辑 黄宇