之前的代码使用 at_resp_get_line_by_kw
可以正确解析,后面改逻辑重写应用代码了,就不行。
打开了 RAW 数据查看,发送的是同样的命令,返回的也是同样的数据, at_resp_set_info
设置的参数也是一样的,解析部分的代码也是直接复制黏贴的,但是重写的就是解析不了。
下面是解析使用的判断:
图1 是以前的代码执行的 RAW 数据
图2 是重写后代码执行的 RAW 数据
而且很奇怪的是,我设置的逻辑是如果解析失败,就会跳转到释放 resp
地方,但是如图2 所示,使用下面代码释放 resp
时直接出断言了(我使用了 CMB
和 addr2line
分析,确信就是这里出现的断言)
Edit1(2020/10/20 21:31):
使用 at_resp_parse_line_args
解析指定行号的响应数据,依然无法解析,代码如下:
结果如下:
Edit2(2020/10/20 21:57)
直接将第4行全部当作数据解析,结果是个 ‘M’,然而第 4 行根本没有 ‘M’ …