通讯端口连接方法和装置与流程

文档序号:17441975发布日期:2019-04-17 04:53阅读:486来源:国知局
通讯端口连接方法和装置与流程

本发明涉及计算机技术领域,具体而言,涉及一种通讯端口连接方法和装置。



背景技术:

在平常的通讯软件应用中,在用到电脑端口通讯时,一般都需要软件用户选取本地电脑对应的端口号。但是,在电脑中端口号过多时,用户无法快速判断出哪个是需要选用的端口号及合适的波特率,一般需要逐个端口和波特率设置尝试,才能最终选择到正确的端口,这将降低用户体验,且浪费时间。

针对上述问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种通讯端口连接方法和装置,以达到软件自动识别端口和波特率,以实现自动连接的技术效果。

一方面,提供了一种通讯端口连接方法,包括:

获取目标设备的端口列表和通讯波特率列表;

根据所述端口列表,确定目标端口;

根据所述通讯波特率列表,确定所述目标端口的波特率;

以所述目标端口设置在确定的波特率,进行通讯。

在一个实施方式中,根据所述端口列表,确定目标端口,包括:

逐一识别所述端口列表中的端口是否打开,将识别到的处于打开状态的端口作为目标端口。

在一个实施方式中,根据所述通讯波特率列表,确定所述目标端口的波特率,包括:

逐一选择所述通讯波特率列表中的比特率作为目标比特率;

设置所述目标端口的比特率为所述目标比特率;

确定将所述目标端口设置为所述目标比特率的情况下,通信数据的数据质量是否符合预设要求;

在确定符合预设要求的情况下,将所述目标比特率确定为所述目标端口的比特率。

在一个实施方式中,确定将所述目标端口设置为所述目标比特率的情况下,通信数据的数据质量是否符合预设要求,包括:

确定应用软件是否为上位机;

在所述应用软件为上位机的情况下,发送命令帧数据,侦听发送的命令帧数据是否符合预设的回复帧数据的目标格式;

在所述应用软件非上位机的情况下,侦听总线数据,确定总线数据的帧头是否符合预设的数据格式。

在一个实施方式中,获取目标设备的端口列表和通讯波特率列表,包括:

选择所述目标设备的任意端口接入目标总线中;

自动检测所述目标设备,生成所述端口列表和所述通讯波特率列表。

另一方面,提供了一种通讯端口连接装置,包括:

获取模块,用于获取目标设备的端口列表和通讯波特率列表;

第一确定模块,用于根据所述端口列表,确定目标端口;

第二确定模块,用于根据所述通讯波特率列表,确定所述目标端口的波特率;

通讯模块,用于以所述目标端口设置在确定的波特率,进行通讯。

在一个实施方式中,所述第一确定模块具体用于逐一识别所述端口列表中的端口是否打开,将识别到的处于打开状态的端口作为目标端口。

在一个实施方式中,所述第二确定模块包括:

选择单元,逐一选择所述通讯波特率列表中的比特率作为目标比特率;

设置单元,用于设置所述目标端口的比特率为所述目标比特率;

确定单元,用于确定将所述目标端口设置为所述目标比特率的情况下,通信数据的数据质量是否符合预设要求;

生成单元,用于在确定符合预设要求的情况下,将所述目标比特率确定为所述目标端口的比特率。

在一个实施方式中,所述确定单元包括:

确定子单元,用于确定应用软件是否为上位机;

发送子单元,用于在所述应用软件为上位机的情况下,发送命令帧数据,侦听发送的命令帧数据是否符合预设的回复帧数据的目标格式;

侦听子单元,用于在所述应用软件非上位机的情况下,侦听总线数据,确定总线数据的帧头是否符合预设的数据格式。

在一个实施方式中,所述获取模块包括:

选择单元,用于选择所述目标设备的任意端口接入目标总线中;

检测单元,用于自动检测所述目标设备,生成所述端口列表和所述通讯波特率列表。

又一方面,提供了一种网络设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

又一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

在上述实施例中,获取目标设备的端口列表和通讯波特率列表,然后基于端口列表,确定目标端口,并根据通讯波特率列表,确定目标端口的波特率,从而可以实现目标端口和波特率的自动确定,解决了现有的软件需要用户选择端口号,设置波特率而导致的效率低下的问题,达到了软件自动识别端口和波特率,以实现自动连接的技术效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的通讯端口连接方法的方法流程图;

图2是根据本发明实施例的应用软件连接通讯的方法流程图;

图3是根据本发明实施例的通讯端口连接装置的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

为了解决现有的通讯软件连接使用电脑端口时,用户无法确定要用的端口号和波特率而导致多次选择的可能性,影响软件使用的友好性为问题,在本例中提出了一种通讯连接方法,可以自动识别在用通讯端口并连接,避免了用户盲选所导致的浪费时间的问题,提升了用户体验。

具体的,如图1所示,提供了一种通讯端口连接方法,可以包括如下步骤:

步骤101:获取目标设备的端口列表和通讯波特率列表;

其中,上述目标设备可以是电脑,通讯软件在安装进电脑之后,可以触发自动连接端口的操作。

具体的,获取目标设备的端口列表和通讯波特率列表,可以包括:选择所述目标设备的任意端口接入目标总线中;自动检测所述目标设备,生成所述端口列表和所述通讯波特率列表。

步骤102:根据所述端口列表,确定目标端口;

步骤103:根据所述通讯波特率列表,确定所述目标端口的波特率;

步骤104:以所述目标端口设置在确定的波特率,进行通讯。

在上例中,获取目标设备的端口列表和通讯波特率列表,然后基于端口列表,确定目标端口,并根据通讯波特率列表,确定目标端口的波特率,从而可以实现目标端口和波特率的自动确定,解决了现有的软件需要用户选择端口号,设置波特率而导致的效率低下的问题,达到了软件自动识别端口和波特率,以实现自动连接的技术效果。。

为了从端口列表中确定出目标端口,可以采用逐一确定的方式,即,可以按照列表的顺序,一个一个端口确认是否是可用的。即,可以逐一识别所述端口列表中的端口是否打开,将识别到的处于打开状态的端口作为目标端口。在选定目标端口之后,可以为其选择波特率,如果也可以确定出合适的波特率,那么就以该端口为目标端口,如果未处于打开状态,或者是确定不到合适的波特率,那么就确定下一个端口是否可以作为目标端口,即,逐一确定端口是否可用。

在基于端口确定端口的波特率的时候,可以按照如下步骤执行:

s1:逐一选择通讯波特率列表中的比特率作为目标比特率;

s2:设置所述目标端口的比特率为所述目标比特率;

s3:确定将所述目标端口设置为所述目标比特率的情况下,通信数据的数据质量是否符合预设要求;

s4:在确定符合预设要求的情况下,将所述目标比特率确定为所述目标端口的比特率。

在具体实现的时候,上述预设要求可以是确定数据帧格式是否是正确的,或者确定数据帧格式是否是预设的目标数据格式。这与软件的位置和身份也有关系,如果软件为上位机,那么主要是发送数据,如果软件不是上位机,那么主要是接收数据,因此,针对软件是否为上位机,可以采用不同的确定逻辑,例如,可以采用如下方式判断:

1)在应用软件为上位机的情况下,发送命令帧数据,侦听发送的命令帧数据是否符合预设的回复帧数据的目标格式;

2)在应用软件非上位机的情况下,侦听总线数据,确定总线数据的帧头是否符合预设的数据格式。

下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。

在本例中,提出了一种应用软件对使用的通讯端口和波特率的自动识别和自动连接方法,无需人工选择设置通讯端口和波特率,从而可以有效提升软件交互的友好性。

如图2所示,通讯端口自动识别及连接的方法可以包括:

s1:选择电脑可用的任意端口接入数据总线中;

s2:开启应用软件;

s3:软件程序自动检测本地电脑,生成端口列表port[i]和常用通讯波特率列表baud[j]。

s4:按顺序逐一判断端口列表中各个端口的状态,确定各个端口是否已打开在用。如果已打开在用,执行s5;否则,执行s6;

s5:选择下一个(i+1)个端口号,判断是否已超出端口列表范围,即,判断是否已检测完电脑所有存在的端口。如果已检测完,则执行s13,否则执行s4;

s6:根据波特率列表逐一设置波特率值,执行s7;

s7:判断软件是否为通讯的上位机(是否为上位机在开发软件时已决定),如果是上位机,则执行s11,否则,执行s8;

s8:侦听接收总线收据,执行s9;

s9:判断接收的数据帧头是否符合协议的目标格式,如果符合,则执行s14;否则执行s10;

s10:选择下一种(j+1)波特率,判断是否已超过波特率列表范围,即,判断是否已尝试设置完列表中的所有波特率参数。如果已超出范围,则执行s5;否则执行s6;

s11:按照通讯协议发送命令帧数据,执行s12;

s12:侦听数据,判断是否为符合协议目标格式的回复帧数据,如果是,则执行s14;否则执行s10;

s13:自动识别端口并连接失败,提示用户检查电脑端口或软件程序波特率列表是否包含通讯需求的目标波特率值。

s14:自动识别端口号、波特率并连接成功,停止自动识别步骤,软件进入使用。

通过上述方案,在后续通讯软件开发时,即可实现软件对所用的电脑端口进行自动识别和波特率的设置的目的,免除了用户人手操作设置及选择不匹配而需要重新逐一操作所导致的操作过于繁琐的问题,大大提高了软件的用户交互友好性。

基于同一发明构思,本发明实施例中还提供了一种通讯端口连接装置,如下面的实施例所述。由于通讯端口连接装置解决问题的原理与通讯端口连接方法相似,因此通讯端口连接装置的实施可以参见通讯端口连接方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图3是本发明实施例的通讯端口连接装置的一种结构框图,如图3所示,可以包括:获取模块301、第一确定模块302、第二确定模块303和通讯模块304,下面对该结构进行说明。

获取模块301,用于获取目标设备的端口列表和通讯波特率列表;

第一确定模块302,用于根据所述端口列表,确定目标端口;

第二确定模块303,用于根据所述通讯波特率列表,确定所述目标端口的波特率;

通讯模块304,用于以所述目标端口设置在确定的波特率,进行通讯。

在一个实施方式中,第一确定模块302具体可以用于逐一识别所述端口列表中的端口是否打开,将识别到的处于打开状态的端口作为目标端口。

在一个实施方式中,第二确定模块303可以包括:选择单元,逐一选择所述通讯波特率列表中的比特率作为目标比特率;设置单元,用于设置所述目标端口的比特率为所述目标比特率;确定单元,用于确定将所述目标端口设置为所述目标比特率的情况下,通信数据的数据质量是否符合预设要求;生成单元,用于在确定符合预设要求的情况下,将所述目标比特率确定为所述目标端口的比特率。

在一个实施方式中,确定单元可以包括:确定子单元,用于确定应用软件是否为上位机;发送子单元,用于在所述应用软件为上位机的情况下,发送命令帧数据,侦听发送的命令帧数据是否符合预设的回复帧数据的目标格式;侦听子单元,用于在所述应用软件非上位机的情况下,侦听总线数据,确定总线数据的帧头是否符合预设的数据格式。

在一个实施方式中,获取模块301可以包括:选择单元,用于选择所述目标设备的任意端口接入目标总线中;检测单元,用于自动检测所述目标设备,生成所述端口列表和所述通讯波特率列表。

在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。

在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。

从以上的描述中,可以看出,本发明实施例实现了如下技术效果:获取目标设备的端口列表和通讯波特率列表,然后基于端口列表,确定目标端口,并根据通讯波特率列表,确定目标端口的波特率,从而可以实现目标端口和波特率的自动确定,解决了现有的软件需要用户选择端口号,设置波特率而导致的效率低下的问题,达到了软件自动识别端口和波特率,以实现自动连接的技术效果。

尽管本申请内容中提到不同的具体实施例,但是,本申请并不局限于必须是行业标准或实施例所描述的情况等,某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、处理、输出、判断方式等的实施例,仍然可以属于本申请的可选实施方案范围之内。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。

上述实施例阐明的装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的实施方式包括这些变形和变化而不脱离本申请。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1