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

嵌入式中自定义协议的一些典型例子

  关于自定义协议,对于会的人很简单,对于不会的人就摸不着头脑。下面分享一些关于自定义协议的笔记。
  什么是协议?
  协议这个概念我觉得挺杂的。就像嵌入式的概念一样,说法不一,比如大家常常争论FPGA是不是嵌入式、单片机是不是属于嵌入式等等。下面简单看一下嵌入式中协议这个概念。
  在互联网领域,协议常常指的是网络协议。
  在嵌入式中,协议按大类分主要可分为底层协议(硬件层协议/物理层协议)与上层协议(用户层协议应用层协议),根据实际还可细分成很多层。底层协议如串口等,底层协议决定着数据传输的方式(传输数据需要多少条信号线,传输数据的时序是怎样的)。上层协议决定着这些数据是拿来干什么用的。太难解释了…看实例吧:
  这是多功能电能表的协议通讯协议,其中底层协议是485通讯,上层协议有很多条,但格式基本都统一:
  每一帧(包)数据的格式都类似是这样子的格式,例如读数据协议:
  主站往从站发送数据(控制器->智能电表):
  从站往主站发送数据(智能电表->控制器):
  明确了协议之后,该发什么数据、收到的数据是怎么样我们都心里有数,那么这个通信的过程就很明朗了。一般控制器往外发送协议数据都比较简单,重点是返回数据的处理(解析),解析方式根据协议的不同而有不同的方法。
  协议(上层协议)按照通用性来分可以分为专有协议与自定义协议,例如上面电表的协议其实是专有协议(具有一些标准的协议):
  自定义协议就是我们开发者可以针对一些应用、一些需求自己制定的一些协议。下面来分享一些常见的自定义协议:常见的自定义协议
  在我们嵌入式开发中,自定义协议的应用很多。例如上下位机之间的通讯、控制器与控制器之间的通讯、服务器与设备终端之间的通讯等。自定义协议也没有什么特定的规范、标准,可以很灵活地制定,只要能满足开发需要即可。下面依旧以实例来做分享:
  例子一(典型):
  之前有个物联网项目,服务器往我们终端设备发送的协议数据类似于:
  我们设备终端需要用到协议数据中字段的实际数据,整个数据包是字符串的形式,这时候可以用sscanf函数来做解析:
  关于sscanf函数就不做解释了,不会的朋友自行百度。sscanf函数在做类似的解析非常好用,很多时候都可以使用。如:
  因为是两端通讯,当然要确保通讯的正确性。比如服务器往设备发送数据,怎么知道有没有发送,这就得设备端在收到数据的同时回应相应的数据包。可以使用与sscanf函数相对应的sprintf函数做组包操作。比如(这个sprintf例子与上例无关,只是为了说明一下sprintf的用法):
  一端给另一端发送数据一般有两种,以设备端在往服务端发送数据为例:
  (1)当设备收到服务端的数据时,会回应与之对应的数据,这称为被动应答。
  (2)设备主动给服务端发送数据,例如设备常常定时、主动地给服务端发送一些时间戳信息等(俗称心跳包),这样服务端就知道设备是在正常工作的(活着的状态)。这称为主动发送或主动申请。
  在处理这些字符串形式的协议数据的时候用sscanf、sprintf、strcmp、strstr、strcat等函数非常方便,有时候可以搭配正则表达式来做匹配。
  例子二(典型):
  之前有个项目需要从控制板显示主控制板的运行状态,两控制板之间使用的底层协议为485协议。上层协议(从控板接收数据协议)如:
  这里省略的部分为其他信息,比如整个数据包的长度等。
  解析函数如:
  这里的应用比较简单,只是解析一个报警信息来显示。有时候需要用到整个数据包里的数据,这时候我们可以建立一个结构体来保存所有我们需要的数据,这样方便我们清晰、有条理地对数据进行处理。例如:
  例子三(其它):
  上面的两个例子中的自定义协议是比较典型的、用得比较多的。下面也分享其它我自己的一些例子,很多时候为了满足我们自己通讯应用的需要,我们也会自己建立一些自己的小协议来满足我们的需求。
  (1)例子一
  之前使用串口屏与STM32通讯的时候,我们有制定一些对应的协议。
  为了让STM32能识别我串口屏不同页面发送的数据,必须要制定一条协议来识别页面:
  这样,每切换至不同的页面时,就会往STM32发送关于页面的协议数据,这样我们就可以知道当前处于哪个界面。
  为了让STM32能接收到正确的WiFi设置信息(如何区分WiFi名与密码),必须要给WiFi信息添加一些辅助协议数据,如:
  相应的解析处理函数:
  (2)例子二
  之前在一个单相用电器监测的应用中,有用到zigbee无线通讯,即其中一块控制板做采集板。另一块控制板做显示板,有些朋友可能会有疑问为什么不做在同一块板上?其实这是一道全国大学生电赛题,我们只是根据题目要求来做的:
  我们当时在做这个通讯时也是有制定一个简单的协议,在数据前面加个标识,就像JSON格式数据的键值对。
  我们制定的协议如:
  相应的解析及结果:
  类似这样子的协议解析实际上是有套路的,摸清楚这些套路之后以后在做类似应用的时候其实就很简单了。重点掌握sscanf、sprintf、strcmp、strstr、strcat等函数以及上面的两种典型例子。小编在三个地方搬过砖,每个地方都有用到类似的自定义协议,而且都形成专门的协议文档,每次做类似通讯类的应用的时候,都会按照这样已份协议文档来修改以适应不同的项目。
  以上就是本次分享的关于嵌入式中自定义协议的一些笔记,希望各位看官喜欢。如有错误,欢迎指出,谢谢!

美国确定新能源汽车战略目标崔东树中国汽车行业将机会无限财联社(北京,记者刘阳)讯,与中国欧洲悬殊的电动车渗透率,让美国政府正在激进追赶。美国新能源战略确立,对世界新能源车发展有巨大刺激。8月6日,乘联会秘书长崔东树对财联社记者表示,美无广告节省你的时间的网络电视盒子网络电视盒子有很多市面也有许多买卖的此类产品,相继也会伴随着广告的出现,还是以不同的形式出现的,有广告的给我的体验感觉是真的不是很好,看着看着就出现广告了,是很烦人的,所以今天就要全球数字经济大会数字基建与生态发展论坛举办来源人民网人民网北京8月4日电8月3日上午,2021全球数字经济大会核心论坛数字基建与生态发展论坛在北京国家会议中心举办,论坛严格落实疫情防控要求,以线上为主举办。论坛以构筑数字底安迈云加入360安全大脑生态联盟,为网络安全注入新力量近日,第九届互联网安全大会(简称ISC2021)在北京国家会议中心落下帷幕。来自全国各地的政企领导业内领袖专家学者生态伙伴等千余人齐聚一堂,共探网络安全生态演进路径共享生态价值。本对话真本聪KavaSwap测试网上线,为BSC和以太坊生态引路架桥2021年8月2日,真本聪与Kava联合举办了AMA活动,本次AMA邀请到Kava中国区市场负责人Ticky,她向大家介绍了Kava最新推出的跨链流动性中心KavaSwap的特点与以太坊迎来伦敦硬分叉,将如何影响网络生态和ETH价值?当今币圈,唯以太坊马首是瞻。此次以太坊伦敦硬分叉,将进一步提升以太坊的价值,进一步繁荣以太坊生态。说到以太坊,不得不说数字货币的开山鼻祖比特币。想当年,中本聪初创比特币,知道比特币荣耀新机发布!却被网友调侃为新一代圾皇,你认同吗?今日,荣耀正式上线了一款千元机,这款新机正是荣耀Paly5TPro。这可以说是荣耀在Magic3系列上市前的一道开胃菜,从曝光到发布这款新机也没用几天时间,我们综合公布的配置来看,手机改装散热,888处理器真实的发热夏天风扇都难压制888是个性能强大的处理器,但能发挥出全部性能的手机可以说是极少,特别是玻璃壳盛行的当下散热是比不了金属的,而这款处理器的发热是笔记本等级的,如果性能全开手机会烫到握不住,所以大多新能源汽车有望接力锂电池补涨!谁是下一个比亚迪!(建议收藏)新能源汽车产业链相关概念股比较多,今年上游的锂电池炒作最为强劲,在高位锂电池出现大幅波动的阶段,下游应用的新能源汽车整车最近开始被资金关注了,其中最有代表性的就是比亚迪和长城汽车,不光是手机和茅台,笔记本电脑也抢得我脑仁疼说到预约抢购,你第一时间想到了什么?早些时候的热门手机,这两年的平价茅台,现在笔记本电脑也成了稀缺货源,尤其是行业老大联想,诸多热门的型号是一机难求,抢首发咱不奢望了,正常价购买总爱买不买聊聊最近折腾有趣还有用的小玩意最近折腾了不少各种各样的玩具,所以就想放一起写一写,只是个简单的分享而已,或者说,是个爱买不买的产品推荐,毕竟不买立省100。Kordz网线自从有了一套完整的几乎从来不听的ROON
港媒中国科学家打造自己的权威学术期刊香港南华早报网站5月23日发表题为中国年轻科学家从头开始创办学术期刊的报道,全文编译如下在创新(TheInnovation)第一期问世约两年后,该在线期刊已经发展成一份活跃且权威的运动和健康只能选一个?科学研究受损关节软骨无法自我修复关节软骨在我们身体中是一个特殊的存在,研究表明,不同于其他人体组织,它的里面不含有血液和神经。因此我们认为,关节软骨没有适应外界压力和损伤时自我修复的能力,而运动会导致我们的关节软摩托罗拉厚积薄发,将发布新机型,称对标小米12UItra,配2亿主摄摩托罗拉,曾经手机界的老大哥。后来由于缺乏创新等一些原因,渐渐地被新生造手机的厂商,逐渐击败,慢慢地退出人们的视野。近期,摩托罗拉有点想要回归手机市场的意思,开始在手机研发上,大力239279元,小米手环77NFC发布1。62英寸跑道屏,息屏显示IT之家5月24日消息,小米手环7今日晚间正式发布,采用更大屏幕,支持息屏显示,售价239元起。小米手环7搭载了1。62英寸AMOLED跑道屏,可视面积增加25,重量为13。5g起小米刮起徕卡风,猛攻高端手机市场中国商报(记者焦立坤)5月23日,小米与徕卡相机(以下简称徕卡)正式宣布牵手,双方联手的第一个成果将于今年7月面世。中国商报记者获悉,双方为独家合作,而徕卡与华为的合作也已终止。值小米1212Pro12X宣布618特惠,到手2399元起,值得买吗?优惠价格如下,23号晚8点开启预售小米12X(8128GB)2399元。小米12(8128GB)3199元。小米12Pro(8128GB)4199元。这里面个人觉得小米12X最值得公告精选小米授出超5500万股奖励股份招商银行董事会批准全额赎回10亿美元境外优先股重磅公告精选1小米集团W(01810。HK)授出合共5534。8201万股奖励股份小米集团W(01810)宣布,董事会于2022年5月20日根据股份奖励计划奖励合共55348201小米提议禁止安卓手机提取APK文件,遭谷歌驳回IT之家5月23日消息,提取和共享APK文件一直是Android生态系统的一大优势,然而,小米最近向谷歌建议禁止提取APK。MishaalRahman在Twitter上分享的信息显小米汽车,快了前两天,咱们聊了一下隔壁AppleCar的进度。目前来看,AppleCar的上市时间应该是在20252028年之间。如果从2014年(开始有相关爆料)算起的话,那AppleCar真小米官宣牵手徕卡首款机型或于7月发布5月23日消息,在诸多手机厂商牵手徕卡后,小米也不甘落人后,今日上午小米在其官方渠道正式宣布将牵手徕卡打造一款全新的合作产品,而该产品最快将于7月登场。在消息发布后,不少媒体猜测表OPPOReno8系列发布会汇总5款新品都很出彩,哪款才是你的菜?2022年5月23日晚,OPPO召开了夏季新品发布会。在这场发布会当中,OPPO除了给广大消费者带来了OPPOReno8系列三款新手机以外,还给广大消费者带来了新款平板OPPOPa