一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种AT指令的预处理方法与终端与流程

2022-02-22 17:29:04 来源:中国专利 TAG:

一种at指令的预处理方法与终端
技术领域
1.本发明涉及设备通信技术领域,特别涉及一种at指令的预处理方法与终端。


背景技术:

2.at即attention,at命令是终端设备(terminal equipment,te)和移动终端(mobile termination,mt)之间的通信命令协议,用来控制通信模块入网等功能。
3.通信模块厂商的模组产品非常繁多,大部分模组支持3gpp ts27.00 at的规范指令集,厂商也会在此基础上扩展出自定义的命令。但不同厂商在命令格式上会有细微的差异,甚至厂商同一款产品由于开发者的习惯,应答命令也会和at指令文档存在细微差异,而且这些细微的差异经常是不容易被发现的,为控制通信模块的应用实现和兼容各个厂商模组带来了不便。


技术实现要素:

4.本发明所要解决的技术问题是:提供一种at指令的预处理方法与终端,以避免at指令的格式书写不统一造成的解析问题。
5.为了解决上述技术问题,本发明采用的技术方案为:
6.一种at指令的预处理方法,包括步骤:
7.s1、接收at指令;
8.s2、对所述at指令进行解析,将所述at指令中的不可见字符进行转义,并去除满足预设的多余判断条件的空格,得到处理后的at指令。
9.为了解决上述技术问题,本发明采用的另一种技术方案为:
10.一种at指令的预处理终端,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
11.s1、接收at指令;
12.s2、对所述at指令进行解析,将所述at指令中的不可见字符进行转义,并去除满足预设的多余判断条件的空格,得到处理后的at指令。
13.本发明的有益效果在于:本发明将at指令中的不可见字符进行转义,实现对不可见字符的统一标准化处理,避免at手册未提及的出现连续多个不可见字符,导致解析出错的情况,同时去除满足预设的多余判断条件的空格,即去除多余的空格,避免at指令的格式书写不统一造成的解析问题,同时经过预处理后大幅缩短指令篇幅,便于写入日志进行记录和程序解析获取关键信息。
附图说明
14.图1为本发明实施例的一种at指令的预处理方法的流程图;
15.图2为本发明实施例的一种at指令的预处理终端的结构图;
16.图3为本发明实施例的一种at指令的预处理方法的详细流程图;
17.标号说明:
18.1、一种at指令的预处理终端;2、处理器;3、存储器。
具体实施方式
19.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
20.请参照图1以及图3,一种at指令的预处理方法,包括步骤:
21.s1、接收at指令;
22.s2、对所述at指令进行解析,将所述at指令中的不可见字符进行转义,并去除满足预设的多余判断条件的空格,得到处理后的at指令。
23.从上述描述可知,本发明的有益效果在于:本发明将at指令中的不可见字符进行转义,实现对不可见字符的统一标准化处理,避免at手册未提及的出现连续多个不可见字符,导致解析出错的情况,同时去除满足预设的多余判断条件的空格,即去除多余的空格,避免at指令的格式书写不统一造成的解析问题,同时经过预处理后大幅缩短指令篇幅,便于写入日志进行记录和程序解析获取关键信息。
24.进一步地,所述步骤s2具体为:
25.s21、对所述at指令进行字符数组的逐字节遍历;
26.s22、对遍历的当前字符进行判断,若所述当前字符为不可见字符,则进入步骤s23,否则进入步骤s24;
27.s23、读取并判断所述当前字符的后续字符,直至后续字符不为所述不可见字符,则将所有所述不可见字符转换为一个转义字符,并写入缓冲区;
28.s24、判断所述当前字符是否为预设符号,若是则进入步骤s25,否则将所述当前字符直接写入缓冲区;
29.s25、将所述当前字符写入缓冲区并持续判断所述当前字符的后续字符是否为空格,直至后续字符不为空格,则跳过所有空格并返回步骤s22;
30.s26、在对所述at指令遍历完成后,读取并得到所述缓冲区中处理后的所述at指令。
31.由上述描述可知,对at指令中连续的不可见字符以及单个的不可见字符以一个转义字符进行替换,并跳过预设符号后的空格,使得处理后的at指令篇幅更短,格式更加同一,便于程序解析获取关键信息。
32.进一步地,所述不可见字符包括回车、空格、换行和换页符。
33.由上述描述可知,通过将回车换行等进行统一标准化处理,可以避免at手册未提及的多个回车换行,导致解析出错的情况。
34.进一步地,所述预设符号包括冒号和逗号。
35.由上述描述可知,不同的开发者在冒号和逗号等符号后是否进行空格的习惯不同,本技术通过将冒号或逗号后空格进行去除的处理,对格式进行统一,可以避免at指令的格式书写习惯不统一造成的解析问题。
36.进一步地,还包括步骤:
37.s3、将处理后的所述at指令写入日志。
38.由上述描述可知,将接收的指令输出到日志,便于查看。
39.请参照图2,一种at指令的预处理终端,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
40.s1、接收at指令;
41.s2、对所述at指令进行解析,将所述at指令中的不可见字符进行转义,并去除满足预设的多余判断条件的空格,得到处理后的at指令。
42.从上述描述可知,本发明的有益效果在于:本发明将at指令中的不可见字符进行转义,实现对不可见字符的统一标准化处理,避免at手册未提及的出现连续多个不可见字符,导致解析出错的情况,同时去除满足预设的多余判断条件的空格,即去除多余的空格,避免at指令的格式书写不统一造成的解析问题,同时经过预处理后大幅缩短指令篇幅,便于写入日志进行记录和程序解析获取关键信息。
43.进一步地,所述步骤s2具体为:
44.s21、对所述at指令进行字符数组的逐字节遍历;
45.s22、对遍历的当前字符进行判断,若所述当前字符为不可见字符,则进入步骤s23,否则进入步骤s24;
46.s23、读取并判断所述当前字符的后续字符,直至后续字符不为所述不可见字符,则将所有所述不可见字符转换为一个转义字符,并写入缓冲区;
47.s24、判断所述当前字符是否为预设符号,若是则进入步骤s25,否则将所述当前字符直接写入缓冲区;
48.s25、将所述当前字符写入缓冲区并持续判断所述当前字符的后续字符是否为空格,直至后续字符不为空格,则跳过所有空格并返回步骤s22;
49.s26、在对所述at指令遍历完成后,读取并得到所述缓冲区中处理后的所述at指令。
50.由上述描述可知,对at指令中连续的不可见字符以及单个的不可见字符以一个转义字符进行替换,并跳过预设符号后的空格,使得处理后的at指令篇幅更短,格式更加同一,便于程序解析获取关键信息。
51.进一步地,所述不可见字符包括回车、空格、换行和换页符。
52.由上述描述可知,通过将回车换行等进行统一标准化处理,可以避免at手册未提及的多个回车换行,导致解析出错的情况。
53.进一步地,所述预设符号包括冒号和逗号。
54.由上述描述可知,不同的开发者在冒号和逗号等符号后是否进行空格的习惯不同,本技术通过将冒号或逗号后空格进行去除的处理,对格式进行统一,可以避免at指令的格式书写习惯不统一造成的解析问题。
55.进一步地,所述处理器执行所述计算机程序时还包括步骤:
56.s3、将处理后的所述at指令写入日志。
57.由上述描述可知,将接收的指令输出到日志,便于查看。
58.请参照图1和图3,本发明的实施例一为:
59.一种at指令的预处理方法,包括步骤:
60.s1、接收at指令;
61.本实施例中,接收at指令,以下以某个厂商的5g模块的实际应答at命令为例,其内容如下:
62. gtccinfo:
63.nr service cell:
64.1,9,466,00,51,0230001,7b49e,d,41,100,27,17,17,0
65.nr neighbor cell:
66.ok
67.对应的at手册命令如下:
68. gtccinfo:
69.nr service cell:
70.《isservicecell》,《rat》,《mcc》,《mnc》,《tac》,《cellid》,《narfcn》,《physicalcellid》,《band》,《bandwidth》,《ss-sinr》,《rxlev》,《ss-rsrp》,《ss-rsrq》
71.nr neighbor cell:
72.《isservicecell》,《rat》,《mcc》,《mnc》,《tac》,《cellid》,《narfcn》,《physicalcellid》,《ss-sinr》,《rxlev》,《ss-rsrp》,《ss-rsrq》
73.ok
74.s2、对所述at指令进行解析,将所述at指令中的不可见字符进行转义,并去除满足预设的多余判断条件的空格,得到处理后的at指令;
75.所述步骤s2具体为:
76.s21、对所述at指令进行字符数组的逐字节遍历;
77.s22、对遍历的当前字符进行判断,若所述当前字符为不可见字符,则进入步骤s23,否则进入步骤s24;
78.s23、读取并判断所述当前字符的后续字符,直至后续字符不为所述不可见字符,则将所有所述不可见字符转换为一个转义字符,并写入缓冲区。
79.所述不可见字符包括回车、空格、换行和换页符。
80.本实施例中,对后续字符的读取和判断也是基于当前字符开始进行逐字节遍历的读取和判断,以回车换行符为例,我们对收到的at命令字符数据进行逐字节的遍历,一旦碰到一个或多个连续的回车换行符,则将其转换为一个转义字符“《cl》”,并拷贝到缓冲区。
81.s24、判断所述当前字符是否为预设符号,若是则进入步骤s25,否则将所述当前字符直接写入缓冲区;
82.s25、将所述当前字符写入缓冲区并持续判断所述当前字符的后续字符是否为空格,直至后续字符不为空格,则跳过所有空格并返回步骤s22。
83.本实施例中,以冒号和逗号为例,我们判断在冒号或逗号后是否有空格,对冒号或逗号后紧跟的空格进行统一跳过处理,只拷贝冒号或逗号到缓冲区中。
84.此外,对其他字符直接拷贝至缓冲区中。
85.s26、在对所述at指令遍历完成后,读取并得到所述缓冲区中处理后的所述at指令。
86.本实施例中,在经历以上遍历后,缓冲区中即为处理后的所述at指令。以以上所述
的某个厂商的5g模块的实际应答at命令为例,处理后的at指令如下:
87.《cl》 gtccinfo:《cl》nr
88.servicecell:《cl》1,9,466,92,51,0230001,7b49e,d,41,100,86,60,60,80《cl》nr
89.neighbor cell:《cl》ok《cl》
90.对应的at手册的应答命令转换格式如下:
91. gtccinfo:《cl》nr service
92.cell:《cl》《isservicecell》,《rat》,《mcc》,《mnc》,《tac》,《cellid》,《narfcn》,《physicalcellid》,《band》,《bandwidth》,《ss-sinr》,《rxlev》,《ss-rsrp》,《ss-rsrq》《cl》nr neighbor
93.cell:《cl》《isservicecell》,《rat》,《mcc》,《mnc》,《tac》,《cellid》,《narfcn》,《physicalcellid》,《ss-sinr》,《rxlev》,《ss-rsrp》,《ss-rsrq》《cl》ok《cl》
94.还包括步骤:
95.s3、将处理后的所述at指令写入日志。
96.本实施例中,将接收的指令输出到日志,便于查看。
97.通过预处理后,可以加快开发适配效率,只要按照厂商模块的at手册格式按以上说明的标准化转换后进行解析,基本不会出错。
98.请参照图2,本发明的实施例二为:
99.一种at指令的预处理终端1,包括处理器2、存储器3以及存储在所述存储器3中并可在所述处理器2上运行的计算机程序,所述处理器2执行所述计算机程序时实现以上实施例一中的步骤。
100.综上所述,本发明提供的一种at指令的预处理方法与终端,将at指令中的回车换行等不可见字符进行转义,实现对不可见字符的统一标准化处理,避免at手册未提及的出现连续多个不可见字符,导致解析出错的情况,同时去除满足预设的多余判断条件的空格,例如冒号或逗号后的空格,即去除了多余的空格,避免at指令的格式书写不统一造成的解析问题,同时经过预处理后大幅缩短指令篇幅,便于写入日志进行记录和程序解析获取关键信息。
101.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献