在LuatOS的運(yùn)行體系中,系統(tǒng)消息承擔(dān)著關(guān)鍵的事件驅(qū)動職責(zé),是實(shí)現(xiàn)多任務(wù)協(xié)同與資源調(diào)度的基礎(chǔ)。理解其消息結(jié)構(gòu)、投遞機(jī)制與處理流程,對于優(yōu)化設(shè)備響應(yīng)速度和系統(tǒng)穩(wěn)定性至關(guān)重要。本文結(jié)合源碼邏輯與典型應(yīng)用場景,系統(tǒng)性地講解LuatOS系統(tǒng)消息的工作原理,并提供可落地的開發(fā)實(shí)踐建議。
此處列舉了LuatOS框架中自帶的系統(tǒng)消息列表
一、sys
文檔鏈接:https://docs.openluat.com/osapi/core/sys/
二、pm
文檔鏈接:https://docs.openluat.com/osapi/core/pm/
1、DTIMER_WAKEUP
deep sleep timer定時時間到回調(diào)
額外返回參數(shù)
無
例子

2、YHM27XX_REG
YHM27XX芯片寄存器信息更新回調(diào)
額外返回參數(shù)
無
例子

三、lora
文檔鏈接:https://docs.openluat.com/osapi/core/lora2/
1、LORA_TX_DONE
LORA 發(fā)送完成
額外返回參數(shù)
無
例子

2、LORA_RX_DONE
LORA 接收完成
額外返回參數(shù)
無
例子

3、LORA_TX_TIMEOUT
LORA 發(fā)送超時
額外返回參數(shù)
無
例子

4、LORA_RX_TIMEOUT
LORA 接收超時
額外返回參數(shù)
無
例子

5、LORA_RX_ERROR
LORA 接收錯誤
額外返回參數(shù)
無
例子

四、libgnss
文檔鏈接:https://docs.openluat.com/osapi/core/libgnss/
1、GNSS_STATE
GNSS狀態(tài)變化
額外返回參數(shù)
無
例子

五、mobile
文檔鏈接:https://docs.openluat.com/osapi/core/mobile/
1、SIM_IND
sim卡狀態(tài)變化
額外返回參數(shù)
無
例子

2、CELL_INFO_UPDATE
基站數(shù)據(jù)已更新
額外返回參數(shù)
無
例子

3、SCELL_INFO
服務(wù)小區(qū)額外信息更新
額外返回參數(shù)
無
例子

4、NTP_UPDATE
時間已經(jīng)同步
額外返回參數(shù)
無
例子

5、CSCON
RRC狀態(tài)
額外返回參數(shù)
無
例子

6、CC_IND
通話狀態(tài)變化
額外返回參數(shù)
無
通話狀態(tài)回調(diào)參數(shù)
status,通話狀態(tài),string類型,取值如下:
"READY":通話準(zhǔn)備完成,可以撥打電話或者呼入電話了
"INCOMINGCALL":有電話呼入
"CONNECTED":電話已經(jīng)接通
"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
已聯(lián)網(wǎng)
額外返回參數(shù)
無
例子

補(bǔ)充說明:
在如下幾種情況下, 系統(tǒng)都會發(fā)布 IP_READY 消息:
(1)4G 的 PDP 成功激活,
(2)WiFi 連接寬帶成功分配 IP,
(3)以太網(wǎng)連接寬帶成功分配 IP,
(4)WiFi 設(shè)置靜態(tài) IP,連接成功了另一個 AP;
(5)以太網(wǎng)設(shè)置靜態(tài) IP,連接成功了網(wǎng)線。
如果沒有插 SIM 卡的情況下,或者是 4G 的網(wǎng)絡(luò)沒有建立的情況下,
注意有如下兩種情況:
(1) 以太網(wǎng)網(wǎng)線接好(假如接到了寬帶路由器),系統(tǒng)會發(fā)布 IP_READY ;
(2) WiFi STA 連上了一個 AP, 系統(tǒng)會發(fā)布 IP_READY ;
通過消息的回調(diào)參數(shù),來取得 IP 和 網(wǎng)卡的 ID,可以區(qū)分是哪種上網(wǎng)方式。
2、IP_LOSE
已斷網(wǎng)
額外返回參數(shù)
無
例子

3、NTP_UPDATE
時間已經(jīng)同步
額外返回參數(shù)
無
例子

4、NTP_ERROR
時間同步失敗
額外返回參數(shù)
無
例子

七、sms
文檔鏈接:https://docs.openluat.com/osapi/core/sms/
1、SMS_INC
收到短信
額外返回參數(shù)

例子

今天的內(nèi)容就分享到這里了~
審核編輯 黃宇
-
LuatOS
+關(guān)注
關(guān)注
0文章
156瀏覽量
2702
發(fā)布評論請先 登錄
LuatOS 框架的嵌入式系統(tǒng)架構(gòu)設(shè)計(jì)原理
LuatOS 系統(tǒng)框架的模塊化設(shè)計(jì)原理
LuatOS平臺下BLE藍(lán)牙開發(fā)從入門到實(shí)踐
基于LuatOS的MQTT物聯(lián)網(wǎng)通信全解
輕松掌握——LuatOS socket基礎(chǔ)知識和應(yīng)用開發(fā)
LuatOS框架的使用(上)
掌握LuatOS系統(tǒng)消息:新手也能看懂的列表詳解
新手必備:LuatOS MCU核心庫功能測試與實(shí)踐指南
LuatOS AGPS 輔助定位開發(fā)實(shí)戰(zhàn)教程
LuatOS下Air8000 AGPS輔助定位教程與實(shí)踐
快速掌握TCP/IP?LuatOS新手入門指南
嵌入式開發(fā)新選擇:LuatOS腳本框架入門教程
零基礎(chǔ)學(xué)習(xí)LuatOS編程:快速上手開發(fā)實(shí)戰(zhàn)教程!
LuatOS編程基礎(chǔ)教程:手把手帶你入門物聯(lián)網(wǎng)開發(fā)!
基于LuatOS核心庫的實(shí)時操作系統(tǒng)開發(fā):從理論到實(shí)踐~
掌握LuatOS系統(tǒng)消息:原理與開發(fā)實(shí)踐
評論