AT+CMGL 需 5-10 秒完成,佔用頻寬類比中斷機制。ME (手機/模組) 收到簡訊後主動向 TE (PC/MCU) 發送通知或直接轉發內容。
| Class | 行為 | TP-DCS Bit7-4 / Bit1-0 |
|---|---|---|
| 0 | 僅顯示,不存儲 | 00x1 / 00 |
| 1 | 存入 ME 記憶體 | 00x1 / 01 |
| 2 | 存入 SIM 卡 | 00x1 / 10 |
| 3 | 直接轉發 TE | 00x1 / 11 |
| 無指定 | 依預設處理 | 其他 |
AT+CNMI=[[,[,[,[,]]]]]
AT+CNMI=2,1 (存儲+通知,最簡單)AT+CNMI=2,1
OK
... (一段時間後)
+CMTI: "ME",8 // 通知:第 8 條存入 ME
AT+CMGR=8 // 讀取第 8 條
+CMGR: 8,27
0891683108200505F0240D91683158812764F80000402052110373800741E19058341E01
OK
AT+CMGD=8 // 刪除釋放空間
OK
流程:收到 +CMTI → 解析索引 → AT+CMGR 讀取 → 處理完 AT+CMGD 刪除。
AT+CNMI=2,2 (Class 2 存儲,其餘直接轉發)AT+CNMI=2,2
OK
...
+CMT: ,26 // 直接輸出 PDU 內容,無索引
0891683108200505F0040D91683158812764F8000840205211639180064F60597D0021
優點:非 Class 2 簡訊不佔用 ME 閃存,延長壽命。
缺點:需同時處理 +CMTI (Class 2) 與 +CMT (直接轉發) 兩種非請求回應碼 (URC),解析邏輯較複雜。
mode=2, mt=1,統一走「通知→讀取→刪除」流程,穩健易維護mt=2 避免寫入閃存