【技术实现步骤摘要】
本专利技术涉及at指令通讯,具体是一种基于超时机制和循环队列的at指令交互算法。
技术介绍
1、在嵌入式产品设计中,4g通信模块通常通过串口与mcu通信;mcu通过发送at指令与4g模块交互,以实现拨号、数据发送和接收等功能;每条发送给4g模块的at指令都需要等待响应,而不同指令的响应时间各不相同;有些指令在几百毫秒内返回响应,而有些指令则可能需要几秒钟。
2、此外,4g模块有时会突发性地返回数据,尤其是在连接建立后,模块可能突然返回数据;当mcu也需要向4g模块发送数据时,这种突发数据会导致通信逻辑变得复杂;原有的处理方法是,在mcu向4g模块发送数据后进入超时等待,等待结束后检查接收缓冲区是否有数据;如果收到的数据与当前发送的at指令匹配,则继续后续指令交互;如果没有收到匹配的数据,mcu则重新发送该at指令;在超时等待期间,mcu处于空等状态,没有进行其他操作;这种方式不仅通信效率低,还可能导致逻辑混乱:超时后接收到的数据可能与当前指令无关,但由于之前的at指令未完成,收到的其他响应数据会使软件逻辑变得难以处理。
>3、专利号为本文档来自技高网...
【技术保护点】
1.一种基于超时机制和循环队列的AT指令交互算法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种基于超时机制和循环队列的AT指令交互算法,其特征在于:在步骤S1中:首先对硬件进行初始化,在硬件初始化完成后,依次进行串口初始化、硬件定时器初始化和接收循环队列初始化,并在初始化完成后启动硬件定时器。
3.根据权利要求1所述的一种基于超时机制和循环队列的AT指令交互算法,其特征在于:在步骤S2中:进入4G数据收发任务,在`while(1)`循环中进行轮询;轮询任务主要负责处理4G模块返回的数据和需要发送的数据,并根据当前的AT指令,通过循环
...【技术特征摘要】
1.一种基于超时机制和循环队列的at指令交互算法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种基于超时机制和循环队列的at指令交互算法,其特征在于:在步骤s1中:首先对硬件进行初始化,在硬件初始化完成后,依次进行串口初始化、硬件定时器初始化和接收循环队列初始化,并在初始化完成后启动硬件定时器。
3.根据权利要求1所述的一种基于超时机制和循环队列的at指令交互算法,其特征在于:在步骤s2中:进入4g数据收发任务,在`while(1)`循环中进行轮询;轮询任务主要负责处理4g模块返回的数据和需要发送的数据,并根据当前的at指令,通过循环队列处理函数和at指令发送函数对4g模块返回的数据和需要发送的数据分别进行处理。
4.根据权利要求1所述的一种基于超时机制和循环队列的at指令交互算法,其特征在于:在步骤s3中:4g模块开机后,网络建立需要依次执行n条at指令;在循环队列的数据处理和at指令发送函数中,使用switch-case语句控制每条at指令的执行顺序。
5.根据权利要求1所述的一种基于超时机制和循环队列的at指令交互算法,其特征在于:在步骤s4中:轮询任务开始后,程序进入循环队列处理函数,检查队列中是否有数据,此时还没有发送at指令,队列中的数据不能和已发送的at指令匹配,正常状态下,此时循环队列中没有数据,若有数据,程序会将队列中的数据全部取出来丢掉。
6.根据权利要求1所述的一种基于超时机制和循环队列的at指令交互算法,其特征在于:在步骤s5中:当循环队列为空后,程序进入at指令发送函数,判断当前能不能发送at指令;at指令发送函数未发送at指令时,标记变量默认为0,当发送...
【专利技术属性】
技术研发人员:冷春田,刘景龙,林天祝,靳环,张占,
申请(专利权)人:上海宏颢威实业有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。