一种AT指令的解析方法、终端及计算机可读介质技术

技术编号:36224049 阅读:11 留言:0更新日期:2023-01-04 12:22
本发明专利技术公开一种AT指令的解析方法、终端及计算机可读介质,涉及电子通信领域。包括从循环缓冲队列ring_buf中读取一指令行;在该指令行数据正确的前提下,查询、调取URC表中与该数据行匹配的元素,执行该元素对应的函数,释放第二信号量resp_notice,完成对AT指令的解析;URC表中未存储与该数据行匹配的元素时,则查询数传模块执行AT指令后反馈的处理结果的最后一行字符串是正确标识符OK还是失败或错误标识,如果是正确标识符OK,则响应状态resp_status标记为成功并释放resp_notice信号量,完成对AT指令的解析;如果是失败或错误标识则响应状态resp_status标记为失败并释放resp_notice信号量,完成对AT指令的解析。本发明专利技术实现对不同数传模块AT指令的解析。现对不同数传模块AT指令的解析。现对不同数传模块AT指令的解析。

【技术实现步骤摘要】
一种AT指令的解析方法、终端及计算机可读介质


[0001]本专利技术涉及电子通信领域,尤其涉及一种AT指令的解析方法、终端及计算机可读介质。

技术介绍

[0002]随物联网的快速发展,应用于物联网的设备越来越多。在物联网中,设备通常通过数传模块联网,主控处理器通过AT指令与设备的数传模块通讯。
[0003]因生产厂家在开发设备产品时会根据不同使用场景在设备中安装不同数传模块,又因为各个数传模块的AT指令不同,使得测试人员在对安装不同数传模块的设备进行测试时,需要使用与该设备的模组适配的AT指令才能实现与主控处理器通信,费时、费力。
[0004]故,现在没有一种AT指令解析方法能够适配不同厂家的不同设备。

技术实现思路

[0005]本专利技术的目的在于提供一种AT指令的解析方法、终端及计算机可读介质,以提供一种能够适配不同厂家的不同设备的AT指令解析方法,缩短研发时间和测试时间。
[0006]为了实现上述目的,第一方面本专利技术的一个技术方案一种AT指令的解析方法,用于主控,包括:从循环缓冲队列ring_buf中读取一指令行;在该指令行数据正确的前提下,查询、调取URC表中与该数据行匹配的元素,执行该元素对应的函数,释放第二信号量resp_notice,完成对AT指令的解析;URC表中未存储与该数据行匹配的元素时,则查询数传模块执行AT指令后反馈的处理结果的最后一行字符串是正确标识符OK还是失败或错误标识,如果是正确标识符OK,则响应状态resp_status标记为成功并释放resp_notice信号量,完成对AT指令的解析;如果是失败或错误标识则响应状态resp_status标记为失败并释放resp_notice信号量,完成对AT指令的解析。
[0007]优选地,在所述从循环缓冲队列ring_buf中读取一指令行前还包括所述主控对解析进程前的初始化设置,具体为:
[0008]S001,主控创建结构体client;所述结构体client包括与接收到新待解析数据存在指向关系的rx_notice信号量、与AT指令解析完成存在指向关系resp_notice信号量、用于存储串口接收到的待解析数据的循环缓冲队列ring_buf和获取并记录数控模组向所述主控发送数据的URC表;
[0009]S002,所述主控初始化所述循环缓冲队列ring_buf;
[0010]S003,所述主控创建保护AT指令发送接口的互斥锁;
[0011]S004,所述主控创建rx_notice信号量,每释放一次所述rx_notice信号量,所述rx_notice信号量的赋值加1;
[0012]S005,所述主控创建resp_notice信号量,当完整解析完一个完整的AT指令或者解析到URC表上报内容,释放一次所述resp_notice信号量,且所述resp_notice信号量的赋值加1;
[0013]S006,创建AT解析任务,并成功启动;
[0014]S007,主控初始化与其从属的数传模块端口和电源IO;
[0015]S008,主控注册URC表,从所述URC表中获取并记录数控模组向所述主控发送数据的URC表。
[0016]优选地,S1中,所述从循环缓冲队列ring_buf中读取一指令行具体为:
[0017]S101,循环读取循环缓冲队列ring_buf,判断是否在预设时间内读取到1个字节的字符;
[0018]如果是,则进入S102;
[0019]如果否,则判断rx_notice信号量是否被获取,如果是,则继续从循环缓冲队列ring_buf读取字符;如果否,则继续判断rx_notice信号量是否被获取到;
[0020]S102,将变量CH赋值为上述字符,判断所述字节的数据长度是否超过缓存空间最大长度,如果是,则执行S103;如果否,变量is_full更新为1;
[0021]S103,将所述变量CH赋值的字符所对应的数据存储到缓存空间client

>recv_line_buf,同时接收计数read_len加1;
[0022]S104,判断是否收到结束标志,所述结束标志为换行符、URC标记中的至少一种,如果是,则执行S105;如果否,则返回S101;
[0023]S105,判断变量is_full变量是否为1,
[0024]如果是,则清空循环缓冲队列ring_buf,并提示读取指令行数据错误;
[0025]如果否,则提示读取指令行数据成功。
[0026]优选地,向所述循环缓冲队列ring_buf中存储指令行数据的方法:
[0027]S401,主控检测到进入串口中断,查询串口寄存器中是否接收到指令行数据,如果是则执行S402,如果否,则继续检测;
[0028]S402,主控将接收到的指令行数据存储到循环缓冲队列ring_buf中,并释放一次rx_notice信号量,完成指令行数据的存储。
[0029]第二方面本专利技术的一个技术方案一种终端,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1

4任意一项所述AT指令的解析方法。
[0030]第三方面本专利技术的一个技术方案一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1

4任意一项所述AT指令的解析方法。
[0031]本专利技术的有益效果是:
[0032]本专利技术的一个技术方案所述AT指令的解析方法是一种通用的AT指令解析方法,按照指令行进行解析,实现对不同数传模块AT指令的解析。
[0033]本专利技术的一个技术方案增加设备产品软件的兼容性,缩短开发周期,降低成本。因使用指令行解析AT指令有利于提升主控处理器的处理速度,提升处理效率。
[0034]本专利技术的一个技术方案按照指令行进行解析,减少解析时间,增加解析后的测试时间,设备产品得到详细测试,进一步减少设备产品上市后出现异常的情况。
附图说明
[0035]图1是本申请一个实施例所述AT指令的解析方法示意图;
[0036]图2是本申请一个实施例主控对解析方法初始化的流程示意图;
[0037]图3是本申请一个实施例从循环缓冲队列ring_buf中读取一指令行的流程示意图;
[0038]图4是本申请一个实施例向循环缓冲队列ring_buf中存储指令行数据的流程示意图;
[0039]图5是本申请一个实施例主控与数传模块的示意图。
具体实施方式
[0040]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不用于限定本专利技术。
[0041]实施例
[0042]参照图1,本实施例的技术方案所述AT指令的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种AT指令的解析方法,用于主控,其特征在于,包括:从循环缓冲队列ring_buf中读取一指令行;在该指令行数据正确的前提下,查询、调取URC表中与该数据行匹配的元素,执行该元素对应的函数,释放第二信号量resp_notice,完成对AT指令的解析;URC表中未存储与该数据行匹配的元素时,则查询数传模块执行AT指令后反馈的处理结果的最后一行字符串是正确标识符OK还是失败或错误标识,如果是正确标识符OK,则响应状态resp_status标记为成功并释放resp_notice信号量,完成对AT指令的解析;如果是失败或错误标识则响应状态resp_status标记为失败并释放resp_notice信号量,完成对AT指令的解析。2.根据权利要求1所述AT指令的解析方法,其特征在于,在所述从循环缓冲队列ring_buf中读取一指令行前还包括所述主控对解析进程前的初始化设置,具体为:S001,主控创建结构体client;所述结构体client包括与接收到新待解析数据存在指向关系的rx_notice信号量、与AT指令解析完成存在指向关系resp_notice信号量、用于存储串口接收到的待解析数据的循环缓冲队列ring_buf和获取并记录数控模组向所述主控发送数据的URC表;S002,所述主控初始化所述循环缓冲队列ring_buf;S003,所述主控创建保护AT指令发送接口的互斥锁;S004,所述主控创建rx_notice信号量,每释放一次所述rx_notice信号量,所述rx_notice信号量的赋值加1;S005,所述主控创建resp_notice信号量,当完整解析完一个完整的AT指令或者解析到URC表上报内容,释放一次所述resp_notice信号量,且所述resp_notice信号量的赋值加1;S006,创建AT解析任务,并成功启动;S007,主控初始化与其从属的数传模块端口和电源IO;S008,主控注册URC表,从所述URC表中获取并记录数控模组向所述主控发送数据的URC表。3.根据权利要求1所述AT指令的解析方...

【专利技术属性】
技术研发人员:李滨滨殷木省
申请(专利权)人:艾体威尔电子技术北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1