news 2026/5/9 12:02:55

LuatOS系统消息处理机制深度解析!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LuatOS系统消息处理机制深度解析!

在LuatOS嵌入式运行环境中,系统消息是实现模块间通信与事件响应的核心机制。其消息处理机制采用轻量级事件驱动模型,有效降低CPU占用并提升系统实时性。

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

一、sys

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

二、pm


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


1、DTIMER_WAKEUP

deep sleep timer定时时间到回调

额外返回参数

例子

2、YHM27XX_REG

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

额外返回参数

例子


三、lora

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

1、LORA_TX_DONE

LORA 发送完成

额外返回参数

例子

2、LORA_RX_DONE

LORA 接收完成

额外返回参数

例子

3、LORA_TX_TIMEOUT

LORA 发送超时

额外返回参数

例子

4、LORA_RX_TIMEOUT

LORA 接收超时

额外返回参数

例子

5、LORA_RX_ERROR

LORA 接收错误

额外返回参数

例子


四、libgnss

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

1、GNSS_STATE

GNSS状态变化

额外返回参数

例子

五、mobile


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

1、SIM_IND


sim卡状态变化

额外返回参数

例子

2、CELL_INFO_UPDATE

基站数据已更新

额外返回参数

例子

3、SCELL_INFO

服务小区额外信息更新

额外返回参数

例子

4、NTP_UPDATE

时间已经同步

额外返回参数

例子

5、CSCON

RRC状态

额外返回参数

例子

6、CC_IND

通话状态变化

额外返回参数

通话状态回调参数

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

  • "READY":通话准备完成,可以拨打电话或者呼入电话了
  • "INCOMINGCALL":有电话呼入
  • "CONNECTED":电话已经接通
  • "DISCONNECTED":电话被对方挂断
  • "SPEECH_START":通话开始
  • "MAKE_CALL_OK":拨打电话请求成功
  • "MAKE_CALL_FAILED":拨打电话请求失败
  • "ANSWER_CALL_DONE":接听电话请求完成
  • "HANGUP_CALL_DONE":挂断电话请求完成
  • "PLAY":开始有音频输出

例子

六、socket

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

1、IP_READY

已联网

额外返回参数

例子

补充说明:

在如下几种情况下, 系统都会发布 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

已断网

额外返回参数

例子

3、NTP_UPDATE

时间已经同步

额外返回参数

例子

4、NTP_ERROR

时间同步失败

额外返回参数

例子

七、sms

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


1、SMS_INC
收到短信

额外返回参数

例子

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/3 5:54:09

避坑指南:LuatOS-Air脚本移植至LuatOS常见问题!

在实际开发中,许多开发者在尝试将LuatOS-Air脚本运行于标准LuatOS环境时遭遇报错或功能异常。这些问题多源于对底层驱动抽象层理解不足以及对系统任务模型的误用。本文将梳理典型错误场景,并提供可落地的修复方案,助力实现平滑迁移。 一、lua…

作者头像 李华
网站建设 2026/5/7 8:47:58

基于STM32的QSPI通信实战案例详解

STM32上的QSPI实战:从零搭建高速外部存储系统你有没有遇到过这样的困境?项目做到一半,内部Flash快爆了,GUI资源、音频文件、新功能代码全挤在一起,改一行代码都得精打细算;OTA升级时看着进度条一动不动&…

作者头像 李华
网站建设 2026/4/29 17:53:58

实验二 Python 控制结构与文件操作

实验二 Python 控制结构与文件操作一、实验基本原理运用 Anaconda 搭建的 Jupyter notebook 平台编写 Python 实例程序。二、实验目的1、理解 Python 的流程控制、文件操作的基本原理。2、通过实际案例编程,掌握 Python 的流程控制、文件的基本操作。三、具体要求1、…

作者头像 李华
网站建设 2026/5/9 7:06:47

AD23新增元件库资源盘点:与AD20的生态扩展对比

AD23元件库生态跃迁:从“建库”到“治库”的工程革命你有没有经历过这样的场景?深夜赶板,原理图画到一半,发现缺一个关键电源芯片的封装——查遍本地库、论坛、第三方网站,最终找到一个名字像模像样但引脚顺序反了的Pc…

作者头像 李华
网站建设 2026/5/1 7:34:56

最长递增子序列的个数

本文参考代码随想录 给定一个未排序的整数数组,找到最长递增子序列的个数。 示例 1: 输入: [1,3,5,4,7] 输出: 2 解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。 示例 2: 输入: [2,2,2,2,2] 输出: 5 解释: 最长递增子序列的长度是…

作者头像 李华
网站建设 2026/4/29 14:09:04

AUTOSAR中CAN控制器驱动开发实战案例

AUTOSAR中CAN控制器驱动开发实战:从硬件抽象到通信链贯通当汽车ECU遇上标准化通信:为什么我们需要AUTOSAR CAN驱动?现代汽车里藏着上百个电子控制单元(ECU),它们像一个个“智能器官”——发动机管理、刹车系…

作者头像 李华