您的位置 首页 FPGA

一种AT命令通信解析模块介绍

介绍 一种AT命令通信解析模块,支持裸机(at_chat)和OS版本(at)。适用于modem、WIFI模块、蓝牙通信。 软件架构 • at_chat.c at_chat.h li…

介绍
一种AT命令通信解析模块,支持裸机(at_chat)和OS版本(at)。适用于modem、WIFI模块、蓝牙通信。
软件架构
• at_chat.c at_chat.h list.h
用于无OS版本,使用链式队列及异步回调方式处理AT命令收发,支持URC处理、自定义命令发送与解析作业。
•at.c at.h at_util.h comdef.h
用于OS版本, 使用前需要根据at_util.h规定的操作系统相关的接口进行移植,如提供信号量操作、任务延时等操作。
使用说明
at_chat 模块(无OS)
基本概念
at_chat 模块使用链式队列进行管理,包含2条链表,空闲链表和就绪链表。它们的每一个基本工作单元称为一个作业项,对于将要执行的命令都会放到就绪链表中,命令执行完成之后由空闲链表来进行回收,作业项的定义如下:
作业是AT控制器定义时固定分配的,没有使用动态内存,默认支持10个作业项,即同时可以允许10个AT命令排队等待处理。
基本接口与描述
•at_send_singlline, 发送单行命令,默认等待OK响应,超时3S
•at_send_multiline, 多行命令,默认等待OK响应,超时3S
•at_do_cmd,支持自定义发送格式与接收匹配串
•at_do_work,支持自定义发送与接收解析
效果演示
详细使用可以参考Demo程序wifi_task.c模块
wKgZomWbeXqAVFAZAABhcrW7_t8152

m169 wifi模组通信效果图
使用步骤
1.定义AT控制器及通信适配器接口
1.初始化AT控制器并放入任务中轮询(考虑到处理实时性,建议20ms以下)
例子演示
at 模块(OS版本)
由于AT命令通信是一个比较复杂的过程,对于没有OS的环境下处理难度比较大,也很绕,对于不允许阻塞程序,除了使用状态与+回调没有其它更好的办法,所以推荐使用这个模块
基本接口与描述
• at_do_cmd,执行AT命令,可以通过这个接口进一步封装出一常用的单行命令、多行命令。
• at_split_respond_lines,命令响应分割器。
• at_do_work,适用于发送组合命令,如GPRS模组发送短信或者发送socket数据需要等待”<“或者”CONNECT”提示符,可以通过这个接口自定义收发。
使用步骤
1.定义AT控制器、通信适配器接口(包含URC回调函数表,接口缓冲区URC)
2.创建AT控制器并创建轮询处理线程
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/350836.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部