此刻大多数的仪器设施都要求能过经过上位机软件来操作,这样方
便调试,
利于操作。此中就波及到通讯的过程。在实质制作的几个设施中,笔者
总结出了
通讯程序的通用写法,包含上位机端和下位机端等
这里所说的数据协议是成立在物理层之上的通讯数据包格式。所谓
通讯的
物理层就是指我们往常所用到的 RS232 、RS485 、红外、光纤、无线等等
通讯方
式。在这个层面上,基层软件供给两个基本的操作函数:发送一个字节数
据、接收
一个字节数据。所有的数据协议所有成立在这两个操作方法之上。
通讯中的数据常常以数据包的形式进行传递的,我们把这样的一个数
据包称作
为一帧数据。近似于网络通讯中的 TCPIP 协议一般,比较靠谱的通讯协议
常常包
含有以下几个构成部分:帧头、地点信息、数据种类、数据长度、数据块
、校验
码、帧尾。
帧头和帧尾用于数据包完好性的鉴别,往常选择必定长度的固定
字节构
成,要求是在整个数据链中鉴别数据包的误码率越低越好。减小固定字节
数据的般
配时机,也就是说使帧头和帧尾的特点字节在整个数据链中能够般配的时
机最
小。往常有两种做法,一、减小特点字节的般配几率。二、增添特点字节
的长度。
往常选用第一种方法的状况是整个数据链路中的数据不拥有随即性,数据
可预
测,能够经过人为选择帧头和帧尾的特点字来避开,进而减小特点字节的
般配几
率。使用第二种方法的状况更为通用,合适于数据随即的场合。经过增添
特点字节
的长度减小般配几率,固然不可以够完好的防止般配的状况,但能够使般
配几率大
大减小,假如遇到般配的状况也能够由校验码来进行检测,所以这类状况
在绝大多
求状况下比较靠谱。
地点信息主要用于多机通讯中,经过地点信息的不一样来辨别不一
样的通
讯终端。在一对多的通讯系统中,能够只包含目的地点信息。同时包含源
地点和目
的地点则合用于多对多的通讯系统。
数据种类、数据长度和数据块是主要的数据部分。数据种类能够表
记后边
紧接着的是命令仍是数据。数据长度用于指示有效数据的个数。
校验码则用来查验数据的完好性和正确性。往常对数据种类、数据
长度和
数据块三个部分进行有关的运算获得。最简单的做法但是对数据段作累加
和,复杂
的也能够对数据进行 CRC 运算等等,能够依据运算速度、容错度等要求
来选用。
物理通讯层中供给了两个基本的操作函数,发送一个字节数据则
为数据
发送的基础。数据包的发送即把数据包中的左右字节依据次序一个一个的
发送数据
而已。自然发送的方法也有不一样。
在单片机系统中,比较常用的方法是直接调用串口发送单个字节数
据的函
数。这类方法的弊端是需要办理器在发送过程中全程参加,长处是所要发
送的数据
能够立刻的出此刻通讯线路上,能够立刻被接收端接收到。此外一种方法
是采纳中
止发送的方式,所有需要发送的数据被送入一个缓冲区,利用发送中止将
缓冲区中
的数据发送出去。这类方法的长处是占用办理器资源小,但是可能出现
需要发送的数据不可以立刻被发送的状况,可是这类时延相当的小。对
于 51 系列
单片机,比较偏向于采纳直接发送的方式,采纳中止发送的方式比较占
用 RAM