我需要一些指导来正确解析从GSM模块接收到的响应数据。我使用的是uBlox SARA-G350。文档说明:
Information responses:
<CR><LF><text><CR><LF>
Result codes:
<CR><LF><verbose code><CR><LF>
If the command line is successfully performed, the string "OK" (<CR><LF>OK<CR><LF>)
is sent, otherwise "ERROR".
看起来一切都很简单。我们应该从<CR><LF>
到<CR><LF>
读取每个句子,但是...
- 数据可能会被分成块
- 响应可能包含重复的
<CR><LF>OK<CR><LF>
(见下面的示例)
示例-发送短信消息到GSM模块:
"Hi. Is IT
OK
"
在CMGL模块响应后(这是返回数据序列的结尾),可能看起来像这样:
Hi. Is IT<CR><LF>
OK<CR><LF>
<CR><LF>
OK<CR><LF>
正如您所看到的,我们已经将 <CR><LF>OK<CR><LF>
值翻倍。
我如何知道我已经拥有完整的句子,并应停止从模块读取数据并解析接收到的数据?
在这种情况下,AT解析器应该如何表现?
我在哪里可以找到一些指南,以正确地解析来自gsm模块的传入响应数据?