1

我正在通过 AT 命令接口使用 GSM 调制解调器来读取存储在 SM 内存中的所有消息,PDU 模式。

AT+CMGF=1
AT+CMGL=4

回报是

+CMGL: 1,"REC READ","53030303","","2017/07/10 13:04:37+24"
050003FF0301A66FB93C0FCABFEB72103AEC26CFCB7410F95D9E83DC6FBA625E87C3DF723A285     
CA7BFDB617A7A0C9A97E9F4B4FB3C7781B2EF3AC85D2E9341F43788FC06D1D165D0BC4CA7A7DD
E739A81D76D7C36C76DEA530BEE5A0A4935A943A8B549D022A7F9BD3EC32C8196E977520D1110    
A4A3AA945A9B34815298250A70E243AC3D36E7A59EE2ED345

+CMGL: 2,"REC READ","53030303","","2017/07/10 13:04:37+24"
050003FF030214C6B71CD46C4E750AA8FC6D4EB3CB2067B85DD681444728A8D99C8A1450F91B9
FD781DC75365B017DCBE93A90BBCE662BAA52A60E2442D3E970DDEBD56ECFC7AEB33CDC2E97DD
70F4DB5D768DDFEDD7BC2CB7B3CBF4F9ABDD9E8B1441A85307129DE1EDF65CA480B2CBE179196   
44FCFD37450FE5D9783DCE5B0BC3CA7838ED021C8FC9683D0

+CMGL: 3,"REC READ","53030303","","2017/07/10 13:04:37+24"
050003FF0303CA6C38

这里 1,2,3 数字消息是多部分的。我想把这条信息的三个部分组合成一个完整的信息。特别是同时支持 unicode 字符。

4

1 回答 1

0

维基百科文章对此很有帮助。简而言之,每条消息的字节 5 和 6 表示位置:

  • 050003FF 0301 ... 3 部分,第 1 部分
  • 050003FF 0302 ... 3 部分,第 2 部分
  • 050003FF 0303 ... 3 部分,第 3 部分

标头还有其他需要考虑的事项,任何 PDU 规范都会详细介绍它们,但是此消息标头回答了您关于如何以正确的顺序识别和连接它们的问题

于 2020-06-09T08:09:43.503 回答