一种NMEA数据的波特率识别方法技术

技术编号:22820109 阅读:13 留言:0更新日期:2019-12-14 14:14
本发明专利技术提供一种NMEA数据的波特率识别方法,包括以下步骤:S1、用户设置:根据船舶电子设备的输出数据波特率的设置主要列表和次要列表;S2、列表设置:主要列表、次要列表均以及分别对应序号设置的波特率;S3、识别模式:根据选择判断是否进入自动识别模式;S4、读取主要列表:设定主要列表的序号初始值n=0;S5、主要列表序号:设定主要列表的序号当前值n=n+1;并判断序号当前值n是否大于N;S6、读取次要列表:设定主要列表的序号初始值m=0;S7、次要列表序号:设定主要列表的序号当前值m=m+1;并判断序号当前值m是否大于M;根据获取的波特率接收船舶电子设备的输出数据输出字符语句;根据字符语句判断是否得到正确数据;具有操作简单方便的优点。

A baud rate identification method for NMEA data

【技术实现步骤摘要】
一种NMEA数据的波特率识别方法
本专利技术属于数据传输
,具体涉及一种NMEA数据的波特率识别方法。
技术介绍
船舶内的电子设备,很多情况下需要外接其他电子设备的数据,以电子海图为例,需要接收GPS或北斗定位数据、罗经方位数据、AIS自动识别系统数据、测深仪数据、计程仪数据以及雷达ARPA数据。各个设备其输出数据的波特率不尽相同,即使同样的设备,不同品牌的输出波特率也可能不同,因此现场需要查阅输出设备的操作手册,频繁以不同的波特率测试,直至识别出正确的为止,给现场接线和调试带来了很大的工作量。
技术实现思路
本专利技术的目的是提供一种NMEA数据的波特率识别方法,以解决现在船舶内的电子设备外接其他电子设备的数据,其数据传输波特率不同导致现场接线和调试费事费力的问题。本专利技术提供了如下的技术方案:一种NMEA数据的波特率识别方法,包括以下步骤:S1、用户设置:根据船舶电子设备的输出数据波特率的设置主要列表和次要列表;S2、列表设置:主要列表包括序号1、2、3、…、N,以及分别对应序号设置的波特率;次要列表均包括序号1、2、3、…、M,以及分别对应序号设置的波特率;N和M均为正整数;S3、识别模式:根据选择判断是否进入自动识别模式,若是,则进入S4;若否,则返回S1;S4、读取主要列表:设定主要列表的序号初始值n=0;S5、主要列表序号:设定主要列表的序号当前值n=n+1;并判断序号当前值n是否大于N,若是,则进入S6;若否,则输出序号当前值n对应的波特率,并进入S8;S6、读取次要列表:设定主要列表的序号初始值m=0;S7、次要列表序号:设定主要列表的序号当前值m=m+1;并判断序号当前值m是否大于M,若是,则提示未识别,并结束;若否,则输出序号当前值m对应的波特率,并进入S10;S8、主要识别数据:根据获取的波特率接收船舶电子设备的输出数据输出字符语句;S9、根据字符语句判断是否得到与接收船舶电子设备的输出数据一致正确数据,若是,则保存当前的波特率,并以当前的波特率为工作状态,结束;若否,则返回S5;S10、次要识别数据:根据获取的波特率接收船舶电子设备的输出数据输出字符语句;S11、根据字符语句判断是否得到与接收船舶电子设备的输出数据一致正确数据,若是,则保存当前的波特率,并以当前的波特率为工作状态,结束;若否,则返回S7。进一步的,所述S1中,根据船舶电子设备的输出数据波特率的使用频次,频次较高的设置于主要列表,频次较低的设置于次要列表。进一步的,所述S8和所述S10中,输出字符语句包括以下步骤:S101、获取字符:根据输出序号当前值n对应的波特率接收船舶电子设备的输出数据;S102、读取首个字符:读取该输出数据的首个字符并判断是否为正确,若是,则进入S103;若否,则重置S102;S103、读取后续字符:字符指针+1,保存上一字符,继续读取当前字符;S104、停止读取:判断当前字符是否是输出数据的最后一个字符,若是,则字符指针复位并根据读取的字符输出整个字符语句;若否,则返回103。本专利技术的有益效果是:本专利技术用于电子设备的数据接收,特别用于船舶NMEA数据波特率的自动识别,通过自动识别来自外部的数据的波特率,并记忆状态,节省调试时间;从而避免用户手动尝试探索波特率的繁琐操作,其中自动识别的波特率为常用波特率。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1是本专利技术方法流程示意图;图2是本专利技术输出字符语句方法流程示意图;图3是具体实施方式主要列表示意图;图4是具体实施方式次要列表示意图;图5是具体实施方式传输数据格式构成。具体实施方式如图1所示,一种NMEA数据的波特率识别方法,包括以下步骤:S1、用户设置:根据船舶电子设备的输出数据波特率的设置主要列表和次要列表;允许用户自定义优先识别的波特率,允许用户自定义识别波特率的范围,允许用户手动选择波特率;S2、列表设置:主要列表包括序号1、2、3、…、N,以及分别对应序号设置的波特率;次要列表均包括序号1、2、3、…、M,以及分别对应序号设置的波特率;N和M均为正整数;如图3所示的主要列表,第一行代表序号,第二行代表波特率bps;如图4所示的次要列表,第一行代表序号,第二行代表波特率bps;工作人员根据船舶电子设备的输出数据波特率的使用频次,频次较高的设置于主要列表,频次较低的设置于次要列表;S3、识别模式:根据选择判断是否进入自动识别模式,若是,则进入S4;若否,则返回S1;S4、读取主要列表:设定主要列表的序号初始值n=0;S5、主要列表序号:设定主要列表的序号当前值n=n+1;并判断序号当前值n是否大于N,若是,则进入S6;若否,则输出序号当前值n对应的波特率,并进入S8;S6、读取次要列表:设定主要列表的序号初始值m=0;S7、次要列表序号:设定主要列表的序号当前值m=m+1;并判断序号当前值m是否大于M,若是,则提示未识别,并结束;若否,则输出序号当前值m对应的波特率,并进入S10;S8、主要识别数据:根据获取的波特率接收船舶电子设备的输出数据输出字符语句;S9、根据字符语句判断是否得到与接收船舶电子设备的输出数据一致正确数据,若是,则保存当前的波特率,并以当前的波特率为工作状态,结束;若否,则返回S5;S10、次要识别数据:根据获取的波特率接收船舶电子设备的输出数据输出字符语句;S11、根据字符语句判断是否得到与接收船舶电子设备的输出数据一致正确数据,若是,则保存当前的波特率,并以当前的波特率为工作状态,结束;若否,则返回S7。如图2所示,S8和所述S10中,输出字符语句包括以下步骤:S101、获取字符:根据输出序号当前值n对应的波特率接收船舶电子设备的输出数据;S102、读取首个字符:读取该输出数据的首个字符并判断是否为正确,若是,则进入S103;若否,则重置S102;S103、读取后续字符:字符指针+1,保存上一字符,继续读取当前字符;S104、停止读取:判断当前字符是否是输出数据的最后一个字符,若是,则字符指针复位并根据读取的字符输出整个字符语句;若否,则返回103。根据IEC61162-1Maritimenavigationandradiocommunicationequipmentandsystems–DigitalinterfacesPart1:Singletalkerandmultiplelisteners的要求,传输数据的格式由以下三部分组成,如图5所示,1,本文档来自技高网...

【技术保护点】
1.一种NMEA数据的波特率识别方法,其特征在于,包括以下步骤:/nS1、用户设置:根据船舶电子设备的输出数据波特率的设置主要列表和次要列表;/nS2、列表设置:主要列表包括序号1、2、3、…、N,以及分别对应序号设置的波特率;次要列表均包括序号1、2、3、…、M,以及分别对应序号设置的波特率;N和M均为正整数;/nS3、识别模式:根据选择判断是否进入自动识别模式,/n若是,则进入S4;/n若否,则返回S1;/nS4、读取主要列表:设定主要列表的序号初始值n=0;/nS5、主要列表序号:设定主要列表的序号当前值n=n+1;并判断序号当前值n是否大于N,/n若是,则进入S6;/n若否,则输出序号当前值n对应的波特率,并进入S8;/nS6、读取次要列表:设定主要列表的序号初始值m=0;/nS7、次要列表序号:设定主要列表的序号当前值m=m+1;并判断序号当前值m是否大于M,/n若是,则提示未识别,并结束;/n若否,则输出序号当前值m对应的波特率,并进入S10;/nS8、主要识别数据:根据获取的波特率接收船舶电子设备的输出数据输出字符语句;/nS9、根据字符语句判断是否得到与接收船舶电子设备的输出数据一致正确数据,/n若是,则保存当前的波特率,并以当前的波特率为工作状态,结束;/n若否,则返回S5;/nS10、次要识别数据:根据获取的波特率接收船舶电子设备的输出数据输出字符语句;/nS11、根据字符语句判断是否得到与接收船舶电子设备的输出数据一致正确数据,/n若是,则保存当前的波特率,并以当前的波特率为工作状态,结束;/n若否,则返回S7。/n...

【技术特征摘要】
1.一种NMEA数据的波特率识别方法,其特征在于,包括以下步骤:
S1、用户设置:根据船舶电子设备的输出数据波特率的设置主要列表和次要列表;
S2、列表设置:主要列表包括序号1、2、3、…、N,以及分别对应序号设置的波特率;次要列表均包括序号1、2、3、…、M,以及分别对应序号设置的波特率;N和M均为正整数;
S3、识别模式:根据选择判断是否进入自动识别模式,
若是,则进入S4;
若否,则返回S1;
S4、读取主要列表:设定主要列表的序号初始值n=0;
S5、主要列表序号:设定主要列表的序号当前值n=n+1;并判断序号当前值n是否大于N,
若是,则进入S6;
若否,则输出序号当前值n对应的波特率,并进入S8;
S6、读取次要列表:设定主要列表的序号初始值m=0;
S7、次要列表序号:设定主要列表的序号当前值m=m+1;并判断序号当前值m是否大于M,
若是,则提示未识别,并结束;
若否,则输出序号当前值m对应的波特率,并进入S10;
S8、主要识别数据:根据获取的波特率接收船舶电子设备的输出数据输出字符语句;
S9、根据字符语句判断是否得到与接收船舶电子设备的输出数据一致正确数据,
若是,则保存当前的波特率,并以...

【专利技术属性】
技术研发人员:徐俊杰娄方
申请(专利权)人:南京俊禄科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1