范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

一款AT命令通信交互组件

  简介
  AT command(V2) 是一款管理AT命令通信交互组件, 适用于Modem、WIFI模块、蓝牙等使用AT命令或者ASCII命令行通信的场景,它涵盖了大部分AT通信形式,如参数设置,查询,二进制数据发送等,同时也支持自定义命令交互管理,由于它的每个命令请求都是异步的,所以对于无操作系统的环境也支持。相对于V1版本,新版本在命令接收匹配,URC不定长度数据捕获以及内存安全上做了大量优化,让它可以应对更多复杂产品应用。 基本特性所有命令请求都是异步的,无操作系统也可以运行。 支持单行命令,批量命令,可变参数命令以及自定义AT命令。 支持命令响应超时,错误重传,优先级管理。 支持不定长度URC(未经请求主动主报)消息捕获。 支持多个AT设备通信管理。 支持内存使用监视与限制。 支持命令请求的生命周期管理,实时监视命令执行状态。 系统要求
  为了能够使AT命令正常通信,目标系统必须满足以下要求: 动态内存支持。 RAM 资源:至少 1KB (取决于接收缓冲区与URC缓冲区的设置),建议在可分配3KB内存以上的系统中使用。 编译器:系统中使用了一些C99的特性(柔性数组、内联),所以编译器需要开启对C99的支持。对于IAR,GCC它们默认是打开的,而Keil MDK需要手动增加编译选项(--c99 --gnu)。 新版本与V1版本区别
  V1版本分成了两个模块,"at"模块仅适用于在OS环境下运行,而"at_chat"模块则适用于无操作系统的环境下运行,采用预分配内存的方式管理AT请求,不需要动态内存支持,也因为如此限制了其应用范围。虽然也可以在OS下运行,但是支持并不完善。V2版本主要是针对"at_chat"模块整体上进行优化,支持URC功能,同时也加强了对OS环境下的支持,由于使用动态内存方式管理AT命令请求,对于RAM的资源要求更高一些,但是使用上会更加便捷。 如何选择
  如果使用的平台RAM资源(如8位单片机)有限,而且只用来做一些简单的AT通信,使用V1版本是比较合适的,而如果RAM资源充足,建议使用V2版本。 使用入门
  下面简单介绍如何使用,4步完成: 1.定义适配器,完成驱动接口及缓冲区设置/**  * @brief AT适配器  */ static const at_adapter_t at_adapter = {     .lock          = at_mutex_lock,           //多任务上锁(非OS下填NULL)     .unlock        = at_mutex_unlock,         //多任务解锁(非OS下填NULL)     .write         = at_device_write,         //数据写接口(非阻塞式)     .read          = at_device_read,          //数据读接口(非阻塞式)     .debug         = at_debug,                //调试打印接口(不需要则填NULL)      .recv_bufsize  = 256                       //接收缓冲区大小(按实际情况填写) };2.使用AT适配器创建AT通信对象    at_obj_t *at_obj;     //....     at_obj = at_obj_create(&at_adapter);     if (at_obj == NULL) {         printf("at object create failedr ");     }       //...3.加入定时轮询任务/**  * @brief 轮询程序  */ void at_device_process(void) {     static unsigned int timer;     //为了加快AT命令处理响应速度,建议5ms以内轮询一次     if (get_tick() - timer > 5) {         timer = get_tick();         at_obj_process(&at_obj);     }     } 4.发送AT命令
  完成上面几个步骤之后,就可以执行AT命令请求了,下面以查询MODEM信号质量为例,演示如何发送AT命令及解析响应内容.
  命令格式如下:  =>  AT+CSQ <=  +CSQ:  <=  OK
  代码实现:  /**  * @brief  命令响应处理程序  */ static void csq_respose_callback(at_response_t *r)    {     int rssi, ber;     //+CSQ:      if (r->code == AT_RESP_OK) {         //命令响应成功后,解析出rssi,ber.         if (sscanf(r->prefix, "+CSQ:%d,%d", &rssi, &ber) == 2) {             printf("rssi:%d, ber:%dr ", rssi, ber);         }     } else {         printf(""CSQ" command response failed!r ");     } }   /**  * @brief  读CSQ值请求  */ static void read_csq(void) {     //发送命令,超时时间为1000ms,重发次数为0     at_send_singlline(at_obj, csq_respose_callback, 1000, 0, "AT+CSQ");  }
  下面是在M169 WIFI上运行的效果图(例子: at_chat/samples/none_os  )
  更多案例
  如果你想获取更多完整的应用案例可以参考目录"at_chat/samples",里面提供了几个典型平台下的例子。
  以Linux平台下的案例为例,可以通过终端输入以下命令运行AT通信模拟器:     cd ./at_chat/samples/linux     make clean & make     ./output/demo
  如果您使用的是vscode,直接进入samples/linux目录下,按F5开始运行。
  如果程序运行正常,您将看到终端打印如下信息。 ******************************************************* This is an asynchronous AT command framework. Author:roger.luo, Mail:morro_luo@163.com *******************************************************  Please input test item:         1:Display memory information.         2:Testing singlline command.         3:Testing multiline commands.         4:Testing variable parameter command.         5:Testing response timeout retry.         6:Testing response error retry.         7:Testing command abort.         8:Testing specific response prefix.         9:Testing custom command.         10:Testing buffer send.         11:Testing "at_do_work" 1.         12:Testing read binary data via "at work".         13:Testing capture unsolicited binary data.         14:Testing at context interface. ******************************************************* <= +POWER:1  ... Device power on event detected!
  根据命令行提示,输入的序号并回车就可以验证对应的用例了。
  代码链接:https://gitee.com/moluo-tech/AT-Command

凝思杂记丨李学全除了对你偏心,对谁都一视同仁凝思杂记(五十七)1hr如何保持头脑清醒?时常伴着书香入睡。2hr如何获得幸福?心甘情愿付出。3hr螺杆直了,方能配上螺帽品行正了,才配得上美好。4hr仿生学的启示像骆驼一样默默地驻累西腓总领事出席伯南布哥大学孔子学院春节联欢会中国侨网1月17日电据中国驻累西腓总领馆网站消息,1月15日,中国驻累西腓总领事严宇清出席伯南布哥大学孔子学院兔年春节联欢会并致辞。伯南布哥大学校长索科罗副校长罗贝托伯大孔院中方院韦霍斯特我是一个安静的人除了老乡我不认识队内的其他人直播吧1月17日讯北京时间1月14日,曼联宣布租借高中锋韦霍斯特。随后球员进行了加盟采访。能够称自己为曼联球员,你有多兴奋?是的,我当然很兴奋,这是一种很棒的感觉,当然,当我上周第婴幼儿配方奶粉新国标即将实施2023年2月22日起,我国婴幼儿配方奶粉将实施新国标,新国标实行后,所有市售配方奶粉都会按照新国标进行生产,营养成分将发生变化。截至去年11月底96个品牌以及274个系列已通过新18家!河南评出首批四星级养老机构一家养老机构的工作人员照顾老人们吃午饭记者蔡君彦摄影一家养老机构的工作人员引导老人动手动脑资料图大河报豫视频记者蔡君彦养老机构等级评定,河南三年迈出三大步2020年,成为全国14个外媒瑞信拟裁逾一成欧洲投行员工法新社1月16日援引英国金融时报的报道称,瑞士信贷集团可能会把欧洲的投资银行员工裁减10以上,这家陷入困境的瑞士信贷机构拒绝发表评论。据英国金融时报14日报道,这家瑞士第二大银行上淡化文具市值暴跌,晨光还能讲好新故事吗?丨氪金大消费作者宋新澳编辑谢芸子封面来源视觉中国2022年下半年的生意受影响严重,尤其11月12月,批发市场物流接连停摆,新十条颁布后,顾客又少得可怜。陈刚(化名)的晨光文具店在北京开了十余年非遗民俗美食!广东本地周边游感受最传统年俗1月16日上午10点,在广州荔湾区永庆坊粤剧艺术博物馆西园广场举行了一场别开生面的开油镬活动,非遗大师带着市民游客手把手体验炸油角制作,让不少老广找回了过年的记忆,重温儿时年味。这广东博智林公司开展建筑机器人研发与应用助推智能建造转型升级来源经济日报博智林公司智能工厂下线的机器人。(资料图片)在2022年中国国际服务贸易交易会和世界机器人大会上,一个粉红色的外墙喷涂机器人让观众近距离感受到建筑建造从人造到智造的转变S30赛季又一位恶霸逆袭,出场率涨17,四刀流项羽超T0?项羽的专精装已经上线两天时间了,先给大家看看他最新的数据。以上是项羽的全分段数据,包含钻石及以下的对局,在24。4出场率的前提下,胜率接近50,属实夸张,也仅比T0吕布差一点点。以鹿晗与43岁邓超同框生图曝光鹿晗是一位特别有责任感的北京男孩,在与关晓彤谈恋爱后,他为了给女友安全感,不惜在事业最顶峰的时候官宣了恋情,一夜之间掉粉无数,事业也差点被毁掉了。好在这段恋情没有让鹿晗赌输,与关晓
经典小黑裙如何配出高级感?感谢邀请党老师来回答)小黑裙这件跨越百年的经典单品,几乎是所有女人衣橱里都应该有的第一件礼服裙,对于一群即将跨越青涩走入成人世界的姑娘们,不论他们未来有多少礼服裙,成人礼上去穿一条国足0比1日本之后,从表现来看归化球员到底配得上首发吗?归化可首发还是要保留攻击力持续,再就是阿兰和洛国富体能差,只要登场就不错,满足行吗?l李铁打日本的首发,就尹鸿博停球给对方太尴尬,此外连王刚都踢得有声有色,朱晨杰甚至被认为不差于张在编教师三年多了,抑郁了,不想去上班,能长期请病假吗?会不会被辞退?编制内不会被辞退,但会按照相关文件规定扣一定比例的工资。我因为这个毛病已经请假在家呆了三个月了,绩效工资都扣完了,再不去上班该扣基本工资了。我是因为上课引起的抑郁,下学期开学我会去公务员考试报班好还是自学好?云杰老师以近十年的经验建议笔试自学公务员考试的笔试基础科目是行测申论。行测包含常识语言逻辑数量资料分析5大板块。考察的都是高中以前的知识,难点在于120分钟内要完成120135道题怎样复习才能让行测上70分?有人说上70很简单啊,多刷题多练习就行。于是我也傻傻的相信了结果就是,不管刷多少题,怎么都跨不上60后来看完一遍书才琢磨出来,行测不掌握做题技巧,真的不行!因为行测题题量太多了,不谷维素和B12怎么吃?谷维素,听其名好似一种维生素,其实不然,天然的谷维素主要存在于谷物杂粮的表皮中,而我们临床上常用的谷维素片主要提取自毛糠油中,是一种油脂类的混合物,其主要成分为植物烯醇和阿魏酸酯,在你身上曾经发生过让你感觉后怕的事情吗?年轻时下乡当知青,想了个恐怖的办法抓鱼解馋现在回忆都觉得可怕那年月干活儿挺累,吃的饭食跟不上,肚里没有油水儿。肉是想都不敢想,得逢年过节杀了猪或者到镇上称二三斤才能吃一回。大搞水利抑郁症痊愈后性格会发生什么变化?我是郭家心理姐,我来回答。抑郁症患者康复后,性格会发生哪些变化?1,过度追求完美会有所缓解事实上,抑郁症患者很多都是对自己要求极高,标准极高,过分追求完美的一类人。在他们看来不允许四川泸州泸县发生6。0级地震,毁坏的房屋会获得怎样的赔偿?首先得告诉你,地震房屋毁坏是没有赔偿的。赔偿指的是加害方或者保险公司给予的财物补偿。地震为自然灾害,施害方为地壳运动,保险公司对于自然灾害有免责条款,所以对地震是不赔偿的,不然遇到李子柒正式起诉杭州微念,发生了什么?最近网上爆出李子柒公司已经正式起诉杭州微念公司。大家可能不知道其中的关系,李子柒所在的公司四川子柒文化传播有限公司的股东分别是杭州微念公司和李子柒,其占股比例分别是51和49。大家有人见过脑出血偏瘫后恢复正常的人吗?我是原发性高血压导致右脑基底节区出血左侧偏瘫,已经三年了,三年中天天都在刻苦努力锻炼,经历了难以想象的艰难困苦,现在一个人可以爬山去旅行。自理是没问题了,走路步态欠佳,速度和耐力都