CN103327012A - 一种基于通讯协议的可通用rs232/422/485数据接收方法 - Google Patents

一种基于通讯协议的可通用rs232/422/485数据接收方法 Download PDF

Info

Publication number
CN103327012A
CN103327012A CN2013102088205A CN201310208820A CN103327012A CN 103327012 A CN103327012 A CN 103327012A CN 2013102088205 A CN2013102088205 A CN 2013102088205A CN 201310208820 A CN201310208820 A CN 201310208820A CN 103327012 A CN103327012 A CN 103327012A
Authority
CN
China
Prior art keywords
data
buffering area
buffer
communication protocol
communications protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2013102088205A
Other languages
English (en)
Inventor
罗海鹰
张洪宇
刘永安
陈涛
张成标
喻芳
冯燕
徐志龙
袁欢欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi Hongdu Aviation Industry Group Co Ltd
Original Assignee
Jiangxi Hongdu Aviation Industry Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangxi Hongdu Aviation Industry Group Co Ltd filed Critical Jiangxi Hongdu Aviation Industry Group Co Ltd
Priority to CN2013102088205A priority Critical patent/CN103327012A/zh
Publication of CN103327012A publication Critical patent/CN103327012A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)

Abstract

本发明涉及一种基于通讯协议的可通用RS232/422/485数据接收方法,这种接收方法基于一种常用的通讯协议。本方法采用一种在内存中自建缓冲区的方式接收数据,其特征在于下列步骤完成:A)接收到数据后先追加至缓冲区尾部;B)然后从缓冲区头部取出数据并根据通讯协议进行重新组包,取数后缓冲区里所有数据前移至头部;C)最后对组包后的数据进行解析;将上述步骤置入定时器中周期性调用可实现数据实时接收。1、本发明采用这种方法对具体硬件没有要求,任何RS232/422/485通讯设备都能采用此方法接收数据。2、本发明通讯内容稳定可靠。

Description

一种基于通讯协议的可通用RS232/422/485数据接收方法
技术领域
本发明涉及一种基于通讯协议的可通用RS232/422/485数据接收方法,这种接收方法基于一种常用的通讯协议。 
背景技术
RS232/422/485通讯被广泛运用于军用、民用电子设备中,为了使通讯内容稳定可靠,通讯双方往往会约定一种通讯协议;最常用的一种通讯协议邮包形式为: 
Figure 2013102088205100002DEST_PATH_IMAGE002
位组长度指的是数据块中命令ID号和数据字的字节数之和。
基于这种通讯协议,有多种数据接收方法,但是这些方法往往受到硬件条件的限制(如要求能够获取硬件状态或者获取接收区已接收字节数等与硬件相关的内容),不同的硬件能够提供的条件也不相同,导致这些方法无法通用。 
发明内容
为了克服上述缺陷,发明目的在于提供一种在内存中自建缓冲区的基于通讯协议的可通用RS232/422/485数据接收方法。 
为了达到上述目的,本发明采用如下技术方案: 
一种基于通讯协议的可通用RS232/422/485数据接收方法,本方法采用一种在内存中自建缓冲区的方式接收数据,如下列步骤完成:
A)、接收到数据后先追加至缓冲区尾部;
B)、然后从缓冲区头部取出数据并根据通讯协议进行重新组包,取数后缓冲区里所有数据前移至头部;
C)、最后对组包后的数据进行解析;
将上述步骤置入定时器中周期性调用可实现数据实时接收。
本发明的有益效果 
1、本发明采用这种方法对具体硬件没有要求,任何RS232/422/485通讯设备都能采用此方法接收数据。
2、本发明通讯内容稳定可靠。 
附图说明
图1为本发明数据接收工作原理。 
具体实施方式
下面结合附图1对本发明进行详细描述: 
一种基于通讯协议的可通用RS232/422/485数据接收方法,本方法采用一种在内存中自建缓冲区的方式接收数据,如下列步骤完成:
A)、接收到数据后先追加至缓冲区尾部;
B)、然后从缓冲区头部取出数据并根据通讯协议进行重新组包,取数后缓冲区里所有数据前移至头部;
C)、最后对组包后的数据进行解析;
将上述步骤置入定时器中周期性调用可实现数据实时接收。
程序具体说明: 
接收函数( )
{
   初始化缓冲区;
   接收数据;
   if ( 接收到的数据字节数 < 1)
       退出函数;
   if ( 接收到的数据字节数 > 0)
       将接收到的数据追加到缓冲区尾部;
   while (缓冲区字节数 >=通讯协议最小邮包长度)
   {
      去除缓冲区头部非邮包同步字的内容;
      将剩余部分移动至缓冲区头部;
      if (缓冲区字节数 >通讯协议最小邮包长度)
      {
         switch (缓冲区[3])
         {
            case命令ID号1:
                从缓冲区取出该邮包并进行解析处理;
                将剩余部分移动至缓冲区头部;
            case命令ID号2:
                从缓冲区取出该邮包并进行解析处理;
                将剩余部分移动至缓冲区头部;
            ……
         }
}
}
}
定时器函数( )
{
   接收函数( );
}。

Claims (1)

1. 一种基于通讯协议的可通用RS232/422/485数据接收方法,本方法采用一种在内存中自建缓冲区的方式接收数据,其特征在于下列步骤完成:
A)、接收到数据后先追加至缓冲区尾部;
B)、然后从缓冲区头部取出数据并根据通讯协议进行重新组包,取数后缓冲区里所有数据前移至头部;
C)、最后对组包后的数据进行解析;
将上述步骤置入定时器中周期性调用可实现数据实时接收。
CN2013102088205A 2013-05-30 2013-05-30 一种基于通讯协议的可通用rs232/422/485数据接收方法 Pending CN103327012A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013102088205A CN103327012A (zh) 2013-05-30 2013-05-30 一种基于通讯协议的可通用rs232/422/485数据接收方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013102088205A CN103327012A (zh) 2013-05-30 2013-05-30 一种基于通讯协议的可通用rs232/422/485数据接收方法

Publications (1)

Publication Number Publication Date
CN103327012A true CN103327012A (zh) 2013-09-25

Family

ID=49195543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013102088205A Pending CN103327012A (zh) 2013-05-30 2013-05-30 一种基于通讯协议的可通用rs232/422/485数据接收方法

Country Status (1)

Country Link
CN (1) CN103327012A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294266A (zh) * 2016-07-27 2017-01-04 江西洪都航空工业集团有限责任公司 一种基于rs422串口数字通信的飞行器信号量处理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146090A (zh) * 2007-10-16 2008-03-19 深圳国人通信有限公司 一种基于usart总线的发送接收数据的方法及其装置
CN101471787A (zh) * 2007-12-25 2009-07-01 希姆通信息技术(上海)有限公司 基于无线通信模块的软件模拟uart的方法
CN101666534A (zh) * 2009-09-18 2010-03-10 佛山市中格威电子有限公司 一种空调控制系统
CN101719306A (zh) * 2009-10-30 2010-06-02 深圳市科陆电子科技股份有限公司 并发式电量数据采集方法
CN201540487U (zh) * 2009-11-30 2010-08-04 中国船舶重工集团公司第七一一研究所 手持式船舶机舱设备维护检测操作器
CN102030018A (zh) * 2009-09-28 2011-04-27 西门子信号有限公司 计轴系统的附属外围数据采集与分发装置
CN103078895A (zh) * 2013-02-28 2013-05-01 安徽康海时代科技有限公司 一种基于mcf52233芯片的工业以太网多功能双串口服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146090A (zh) * 2007-10-16 2008-03-19 深圳国人通信有限公司 一种基于usart总线的发送接收数据的方法及其装置
CN101471787A (zh) * 2007-12-25 2009-07-01 希姆通信息技术(上海)有限公司 基于无线通信模块的软件模拟uart的方法
CN101666534A (zh) * 2009-09-18 2010-03-10 佛山市中格威电子有限公司 一种空调控制系统
CN102030018A (zh) * 2009-09-28 2011-04-27 西门子信号有限公司 计轴系统的附属外围数据采集与分发装置
CN101719306A (zh) * 2009-10-30 2010-06-02 深圳市科陆电子科技股份有限公司 并发式电量数据采集方法
CN201540487U (zh) * 2009-11-30 2010-08-04 中国船舶重工集团公司第七一一研究所 手持式船舶机舱设备维护检测操作器
CN103078895A (zh) * 2013-02-28 2013-05-01 安徽康海时代科技有限公司 一种基于mcf52233芯片的工业以太网多功能双串口服务器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294266A (zh) * 2016-07-27 2017-01-04 江西洪都航空工业集团有限责任公司 一种基于rs422串口数字通信的飞行器信号量处理方法
CN106294266B (zh) * 2016-07-27 2019-04-19 江西洪都航空工业集团有限责任公司 一种基于rs422串口数字通信的飞行器信号量处理方法

Similar Documents

Publication Publication Date Title
WO2015159307A3 (en) Method and system for implementing a wireless digital wallet
WO2012122555A3 (en) Biological data networks and methods therefor
WO2010014698A3 (en) Method and apparatus for proximate placement of sequential cells
EP2378822A3 (en) Synchronizing wireless devices
EP2945350A3 (en) Communication apparatus, a system for secure communication, and a method for communication
TW200637299A (en) Method and related apparatus for reconfiguring size of a receiving window in a communication system
TW200943882A (en) Synchronizing timing mismatch by data deletion
EP2782020A3 (en) Completion combining to improve effective link bandwidth
JP2016526325A5 (zh)
EP2903119A3 (en) Communications via wireless charging
SG10201902590WA (en) Data synchronization method and apparatus
WO2012125571A3 (en) Apparatus and method for male stimulation
WO2010136775A3 (en) Acquisition method and apparatus for mass spectrometer data
CN103746938A (zh) 一种发送数据包的方法及装置
RU2015108423A (ru) Способ синхронизации в системе сбора данных
EP2490194A3 (en) Communication apparatus, communication system, and communication method
EP2670100A3 (en) Method and apparatus for synchronization of data and error samples in a communications system
CN104363034A (zh) 可穿戴设备解除绑定的方法及其装置
WO2014151589A3 (en) Method and apparatus for context-aware synchronization for peer-to-peer communication
CN103327012A (zh) 一种基于通讯协议的可通用rs232/422/485数据接收方法
WO2011031103A3 (en) Display method, and user terminal and system for transmitting and receiving data using the same
ATE501558T1 (de) Verfahren für die synchronisation von anwendbaren uhrensignalen in einem synchronen kommunikationsnetzwerk, entsprechende sende- und empfangsvorrichtungen, computerprogrammprodukt und computerlesbares speichermittel
EP2096458A3 (en) Systems and methods for radar data communication
US8995460B1 (en) Embedded control data in communications systems
CN103152134B (zh) 基于rtp协议的接收端重排语音包的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20130925

RJ01 Rejection of invention patent application after publication