CN106649186A - 应用程序与串口外设的通信方法及装置 - Google Patents
应用程序与串口外设的通信方法及装置 Download PDFInfo
- Publication number
- CN106649186A CN106649186A CN201611141822.7A CN201611141822A CN106649186A CN 106649186 A CN106649186 A CN 106649186A CN 201611141822 A CN201611141822 A CN 201611141822A CN 106649186 A CN106649186 A CN 106649186A
- Authority
- CN
- China
- Prior art keywords
- data
- peripheral hardware
- serial ports
- application
- application program
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种应用程序与串口外设的通信方法及装置,所述方法包括:所述驱动程序接收到所述应用程序发送的应用数据;其中,所述应用数据携带用于标识目标串口外设的标识信息;所述驱动程序基于所述标识信息确定所述目标串口外设,并针对所述应用数据执行解封装;所述驱动程序将所述解封装后的数据封装为串口数据,并将所述串口数据发送至所述目标串口外设。在本发明中,当串口外设更改,只需驱动程序进行同步更改即可,应用程序不需要进行同步更改,从而可以有效解决相关技术中当某一串口外设更改时,与该串口外设进行通信的所有应用程序都需要执行同步更改导致的操作系统稳定性差以及加重相关人员配置负担的问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种应用程序与串口外设的通信方法及装置。
背景技术
Linux操作系统作为一款可免费使用且稳定性良好的操作系统,广泛适用于各类电子产品中,而串口通信作为一种基本的通信方式,亦广泛应用于串口外设与CPU的通信。
相关技术中,Linux操作系统配置的应用程序在与串口外设进行通信的过程中,需要Linux操作系统先加载串口驱动架构,然后,应用程序执行打开串口、设置属性、读写串口、关闭串口等一系列动作,以实现与串口外设的通信。
相关技术虽然可以实现Linux操作系统配置的应用程序与串口外设的通信,但是当某一串口外设更改(例如,串口协议更改或串口属性更改)时,与该串口外设进行通信的所有应用程序都需要执行同步更改,从而导致Linux操作系统的稳定性差,而且由于上述应用程序执行同步更改的过程需要相关人员通过人工配置来完成,因此,相关技术也会加重相关人员的配置负担。
发明内容
有鉴于此,本发明提供一种应用程序与串口外设的通信方法及装置,来解决相关技术中当某一串口外设更改时,与该串口外设进行通信的所有应用程序都需要执行同步更改导致的操作系统稳定性差以及加重相关人员配置负担的问题。
具体地,本发明是通过如下技术方案实现的:
本发明提供一种应用程序与串口外设的通信方法,应用于终端设备,所述终端设备的操作系统配置有驱动程序以及至少一个应用程序,所述驱动程序预先与所述应用程序以及串口外设分别建立连接,其中,所述串口外设更改时,所述驱动程序进行同步更改,所述方法包括:
所述驱动程序接收到所述应用程序发送的应用数据;其中,所述应用数据携带用于标识目标串口外设的标识信息;
所述驱动程序基于所述标识信息确定所述目标串口外设,并针对所述应用数据执行解封装;
所述驱动程序将所述解封装后的数据封装为串口数据,并将所述串口数据发送至所述目标串口外设。
本发明同时提供另一种应用程序与串口外设的通信方法,应用于终端设备,所述终端设备的操作系统配置有驱动程序以及至少一个应用程序,所述驱动程序预先与所述应用程序以及串口外设分别建立连接,其中,所述串口外设更改时,所述驱动程序进行同步更改,所述方法包括:
所述驱动程序接收到所述串口外设发送的串口数据;其中,所述串口数据携带用于标识目标应用程序的标识信息;
所述驱动程序基于所述目标应用程序标识信息确定目标应用程序,并针对所述串口数据执行解封装;
所述驱动程序将所述解封装后的数据封装为应用数据,并将所述应用数据发送至所述目标应用程序。
本发明同时提供一种应用程序与串口外设的通信装置,应用于终端设备,所述终端设备的操作系统配置有所述装置以及至少一个应用程序,所述装置预先与所述应用程序以及串口外设分别建立连接,其中,所述串口外设更改时,所述装置进行同步更改,所述装置包括:
第一接收模块,用于接收到所述应用程序发送的应用数据;其中,所述应用数据携带用于标识目标串口外设的标识信息;
第一确定模块,用于基于所述标识信息确定所述目标串口外设,并针对所述应用数据执行解封装;
第一发送模块,用于将所述解封装后的数据封装为串口数据,并将所述串口数据发送至所述目标串口外设。
本发明同时提供另一种应用程序与串口外设的通信装置,应用于终端设备,所述终端设备的操作系统配置有所述装置以及至少一个应用程序,所述装置预先与所述应用程序以及串口外设分别建立连接,其中,所述串口外设更改时,所述装置进行同步更改,所述装置包括:
第二接收模块,用于接收到所述串口外设发送的串口数据;其中,所述串口数据携带用于标识目标应用程序的标识信息;
第二确定模块,用于基于所述目标应用程序标识信息确定目标应用程序,并针对所述串口数据执行解封装;
第二发送模块,用于将所述解封装后的数据封装为应用数据,并将所述应用数据发送至所述目标应用程序。
在本发明中,终端设备的操作系统可以配置有驱动程序以及至少一个应用程序,驱动程序可以接收到应用程序发送的应用数据,其中,应用数据可以携带用于标识目标串口外设的标识信息,然后,驱动程序可以基于该标识信息确定目标串口外设,并针对应用数据执行解封装,在完成对应用数据的解封装后,驱动程序可以将解封装后的数据封装为串口数据,并将该串口数据发送至目标串口外设;当然,驱动程序也可以接收到串口外设发送的串口数据,其中,串口数据可以携带用于标识目标应用程序的标识信息,然后,驱动程序可以基于该标识信息确定目标应用程序,并针对串口数据执行解封装,在完成对串口数据的解封装后,驱动程序可以将解封装后的数据封装为应用数据,并将该应用数据发送至目标应用程序。
在本发明中,当串口外设更改,例如,串口协议或属性更改时,终端设备的操作系统配置的驱动程序可以进行同步更改,由于串口外设以及驱动程序之间的更改不会影响到应用程序与驱动程序之间的连接,因此,应用程序不需要进行同步更改,从而可以有效解决相关技术中当某一串口外设更改时,与该串口外设进行通信的所有应用程序都需要执行同步更改导致的操作系统稳定性差以及加重相关人员配置负担的问题。
附图说明
图1是示出的一个相关技术的应用场景图;
图2是本发明一实施例示出的一种应用程序与串口外设的通信方法的流程图;
图3是本发明另一实施例示出的一种应用程序与串口外设的通信方法的流程图;
图4是是本发明另一实施例示出的一种应用程序与串口外设的通信方法的流程图;
图5是本发明实施例中应用程序与串口外设的通信装置的硬件结构框图;
图6是本发明根据一示例性实施例示出的一种应用程序与串口外设的通信装置的框图;
图7是本发明根据另一示例性实施例示出的一种应用程序与串口外设的通信装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
请参见图1,为示出的一个相关技术的应用场景图,其中,N、M和H皆为大于0的自然数。
图1中,终端设备的操作系统可以配置有驱动程序以及至少一个应用程序,其中,应用程序可以通过驱动程序与至少一个串口外设建立基于若干个串口协议的连接。当某个串口外设更改时,与该串口外设通信的所有应用程序都需要进行同步的更改,例如,可以假设串口外设1通过驱动程序与应用程序1和应用程序2均建立了连接,则当串口外设1发生更改时,应用程序1和应用程序2都需要进行同步的更改以保持与串口外设1的正常通信,当与串口外设1进行通信的应用程序较多时,该多个应用程序均需要随着串口外设1的更改而进行同步的更改,从而导致操作系统的稳定性差,而且由于该多个应用程序随着串口外设1的更改而进行同步更改的过程均需要相关人员通过人工配置来完成,因此,相关技术也会加重相关人员的配置负担。
有鉴于此,本发明提供了一种应用程序与串口外设的通信方法,来解决相关技术中当某一串口外设更改时,与该串口外设进行通信的所有应用程序都需要执行同步更改导致的操作系统稳定性差以及加重相关人员配置负担的问题。在本发明中,终端设备的操作系统可以配置有驱动程序以及至少一个应用程序,驱动程序可以接收到应用程序发送的应用数据,其中,应用数据可以携带用于标识目标串口外设的标识信息,然后,驱动程序可以基于该标识信息确定目标串口外设,并针对应用数据执行解封装,在完成对应用数据的解封装后,驱动程序可以将解封装后的数据封装为串口数据,并将该串口数据发送至目标串口外设。
在本发明中,当串口外设更改,例如,串口协议或属性更改时,终端设备的操作系统配置的驱动程序可以进行同步更改,由于串口外设以及驱动程序之间的更改不会影响到应用程序与驱动程序之间的连接,因此,应用程序不需要进行同步更改,从而可以有效解决相关技术中当某一串口外设更改时,与该串口外设进行通信的所有应用程序都需要执行同步更改导致的操作系统稳定性差以及加重相关人员配置负担的问题。
请参见图2,为本发明一实施例示出的一种应用程序与串口外设的通信方法的流程图,该实施例应用于终端设备,包括以下步骤:
步骤201:所述驱动程序接收到所述应用程序发送的应用数据;其中,所述应用数据携带用于标识目标串口外设的标识信息。
在本发明中,上述终端设备的操作系统可以为Linux操作系统、Windows操作系统,也可以为Android操作系统、iOS操作系统等,本发明对此不做限制。
在本发明中,上述终端设备的操作系统可以配置有驱动程序以及至少一个应用程序,其中,驱动程序可以预先与应用程序以及串口外设分别建立连接,其中,当串口外设更改时,驱动程序可以进行同步更改。
在一个实施例中,上述驱动程序可以预先与应用程序建立socket连接,具体地,可以建立host为127.0.0.1的socket连接;当然,上述驱动程序和应用程序也可以预设连接策略,并基于该预设的连接策略建立连接,其中,该预设的连接策略可以由相关人员自定义配置和更改。
在一个实施例中,上述驱动程序与串口外设预先建立的连接可以为基于现有的串口协议,如I2C(Inter-Integrated Circuit,两线式串行总线)串口协议等,建立的连接;也可以为上述驱动程序与串口外设基于预设的连接策略建立的连接,本发明对此不做限制。
在一个实施例中,可以假设与上述驱动程序建立连接的某一串口外设发生了更改,例如,将波特率从300Bd/s更改为600Bd/s,则上述驱动程序可以进行同步更改,即可以将已设置的对应于与该串口外设的连接的波特率从300Bd/s更改为600Bd/s。
在本发明中,上述终端设备的操作系统配置的应用程序可以通过已建立的连接向驱动程序发送应用数据,其中,该应用数据可以携带用于标识目标串口外设的标识信息。
需要说明的是,本发明对上述用于标识目标串口外设的标识信息的内容以及位置等不做限制,例如,该标识信息可以为数值、字母等;可以位于应用数据的数据头或数据尾等。
步骤202:所述驱动程序基于所述标识信息确定所述目标串口外设,并针对所述应用数据执行解封装。
在本发明中,上述终端设备的操作系统配置的驱动程序可以在接收到应用数据后,基于应用数据携带的用于标识目标串口外设的标识信息确定目标串口外设。
在一个实施例中,上述驱动程序可以对已建立连接的串口外设进行编号,可以假设应用数据携带的用于标识目标串口外设的标识信息为数值0010,则上述驱动程序可以基于该数值0010来确定目标串口外设为编号为2的串口外设。
在本发明中,上述驱动程序可以对接收到的应用数据执行解封装,其中,对应用数据执行解封装的技术为现有技术,故,本发明在此不再赘述。
步骤203:所述驱动程序将所述解封装后的数据封装为串口数据,并将所述串口数据发送至所述目标串口外设。
在本发明中,终端设备的操作系统可以配置有驱动程序以及至少一个应用程序,驱动程序可以接收到应用程序发送的应用数据,其中,应用数据可以携带用于标识目标串口外设的标识信息,然后,驱动程序可以基于该标识信息确定目标串口外设,并针对应用数据执行解封装,在完成对应用数据的解封装后,驱动程序可以将解封装后的数据封装为串口数据,并将该串口数据发送至目标串口外设。
在本发明中,当串口外设更改,例如,串口协议或属性更改时,终端设备的操作系统配置的驱动程序可以进行同步更改,由于串口外设以及驱动程序之间的更改不会影响到应用程序与驱动程序之间的连接,因此,应用程序不需要进行同步更改,从而可以有效解决相关技术中当某一串口外设更改时,与该串口外设进行通信的所有应用程序都需要执行同步更改导致的操作系统稳定性差以及加重相关人员配置负担的问题。
请参见图3,为本发明另一实施例示出的一种应用程序与串口外设的通信方法的流程图,该实施例应用于终端设备,包括以下步骤:
步骤301:所述驱动程序接收到所述串口外设发送的串口数据;其中,所述串口数据携带用于标识目标应用程序的标识信息。
在本发明中,上述终端设备的操作系统可以为Linux操作系统、Windows操作系统,也可以为Android操作系统、iOS操作系统等,本发明对此不做限制。
上述终端设备的操作系统可以配置有驱动程序以及至少一个应用程序,其中,驱动程序可以预先与应用程序以及串口外设分别建立连接,当串口外设更改时,驱动程序可以进行同步更改。
在本发明中,上述驱动程序可以接收到串口外设发送的串口数据,其中,该串口数据可以携带用于标识目标应用程序的标识信息,该标识信息可以为数值、字母等;可以位于串口数据的数据头或数据尾等,本发明对此不做限制。
步骤302:所述驱动程序基于所述目标应用程序标识信息确定目标应用程序,并针对所述串口数据执行解封装。
在本发明中,上述终端设备的操作系统配置的驱动程序可以在接收到串口数据后,基于串口数据携带的用于标识目标应用程序的标识信息确定目标应用程序。
在一个实施例中,可以假设串口数据携带的用于标识应用程序的标识信息为字母c,则上述驱动程序可以基于该字母c来确定目标应用程序为编号为3的应用程序。
在本发明中,上述驱动程序可以对接收到的串口数据执行解封装,其中,对串口数据执行解封装的技术为现有技术,故,本发明在此不再赘述。
步骤303:所述驱动程序将所述解封装后的数据封装为应用数据,并将所述应用数据发送至所述目标应用程序。
在本发明中,上述驱动程序可以将解封装后的数据封装为应用数据,然后,将该应用数据发送至目标应用程序。
在一个实施例子,上述驱动程序可以对已建立连接的应用程序进行编号,在接收到驱动程序发送的对应于编号为3的目标应用程序的应用数据后,上述驱动程序可以将应用数据发送至编号为3的目标应用程序。
在本发明中,终端设备的操作系统可以配置有驱动程序以及至少一个应用程序,驱动程序可以接收到串口外设发送的串口数据,其中,串口数据可以携带用于标识目标应用程序的标识信息,然后,驱动程序可以基于该标识信息确定目标应用程序,并针对串口数据执行解封装,在完成对串口数据的解封装后,驱动程序可以将解封装后的数据封装为应用数据,并将该应用数据发送至目标应用程序。
在本发明中,当串口外设更改,例如,串口协议或属性更改时,终端设备的操作系统配置的驱动程序可以进行同步更改,由于串口外设以及驱动程序之间的更改不会影响到应用程序与驱动程序之间的连接,因此,应用程序不需要进行同步更改,从而可以有效解决相关技术中当某一串口外设更改时,与该串口外设进行通信的所有应用程序都需要执行同步更改导致的操作系统稳定性差以及加重相关人员配置负担的问题。
请参见图4,为本发明另一实施例示出的一种应用程序与串口外设的通信方法的流程图,该实施例通过终端设备的操作系统配置的驱动程序、应用程序以及串口外设之间的数据交互来详细说明本发明示出的一种应用程序与串口外设的通信过程:
步骤401:驱动程序与至少一个应用程序建立连接。
步骤402:驱动程序与至少一个串口外设建立连接。
其中,步骤402可以在步骤401之后,也可以在步骤401之前,也可以与步骤401同时进行,本发明对此不做限制。
步骤403:应用程序可以通过已建立的连接向驱动程序发送应用数据,其中,应用数据可以携带用于标识目标串口外设的标识信息。
步骤404:驱动程序可以接收到应用数据,并基于应用数据携带的用于标识目标串口外设的标识信息确定目标串口外设。
步骤405:驱动程序可以针对应用数据执行解封装。
步骤406:驱动程序可以在完成对应用数据的解封装后,将解封装后的数据封装为串口数据。
步骤407:驱动程序可以将串口数据发送至目标串口外设。
步骤408:驱动程序可以接收到目标串口外设发送的串口数据,串口数据可以携带用于标识目标应用程序的标识信息,其中,该串口数据可以为响应于步骤407中的串口数据的响应数据。
步骤409:驱动程序可以基于串口数据携带的用于标识目标应用程序的标识信息确定目标应用程序;
步骤410:驱动程序可以针对串口数据执行解封装。
步骤411:驱动程序可以在完成对串口数据的解封装后,将解封装后的数据封装为应用数据。
步骤412:驱动程序可以将应用数据发送至目标应用程序。
需要说明的是,步骤408-步骤412可以在步骤401-步骤407之前,也可以在步骤401-步骤407之后,也可以与步骤401-步骤407同时进行,本发明对此不做限制。
在本发明中,终端设备的操作系统可以配置有驱动程序以及至少一个应用程序,驱动程序可以接收到应用程序发送的应用数据,其中,应用数据可以携带用于标识目标串口外设的标识信息,然后,驱动程序可以基于该标识信息确定目标串口外设,并针对应用数据执行解封装,在完成对应用数据的解封装后,驱动程序可以将解封装后的数据封装为串口数据,并将该串口数据发送至目标串口外设;当然,驱动程序也可以接收到串口外设发送的串口数据,其中,串口数据可以携带用于标识目标应用程序的标识信息,然后,驱动程序可以基于该标识信息确定目标应用程序,并针对串口数据执行解封装,在完成对串口数据的解封装后,驱动程序可以将解封装后的数据封装为应用数据,并将该应用数据发送至目标应用程序。
在本发明中,当串口外设更改,例如,串口协议或属性更改时,终端设备的操作系统配置的驱动程序可以进行同步更改,由于串口外设以及驱动程序之间的更改不会影响到应用程序与驱动程序之间的连接,因此,应用程序不需要进行同步更改,从而可以有效解决相关技术中当某一串口外设更改时,与该串口外设进行通信的所有应用程序都需要执行同步更改导致的操作系统稳定性差以及加重相关人员配置负担的问题。
基于与上述方法同一的发明构思,本发明实施例还提供了应用程序与串口外设的通信装置的实施例。
本发明应用程序与串口外设的通信装置可以应用于终端设备上。其中,该应用程序与串口外设的通信装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从应用层面而言,如图5所示,是本发明实施例中应用程序与串口外设的通信装置的硬件结构框图,除了图5所示的处理器、网络接口、内存以及非易失性存储器外,还可以包括其他硬件,如负责处理报文的转发芯片等。
如图6所示,为本发明根据一示例性实施例示出的一种应用程序与串口外设的通信装置的框图。所述装置包括:第一接收模块610、第一确定模块620以及第一发送模块630。
其中,第一接收模块610,用于接收到所述应用程序发送的应用数据;其中,所述应用数据携带用于标识目标串口外设的标识信息;
第一确定模块620,用于基于所述标识信息确定所述目标串口外设,并针对所述应用数据执行解封装;
第一发送模块630,用于将所述解封装后的数据封装为串口数据,并将所述串口数据发送至所述目标串口外设。
在一个可选的实现方式中,所述装置与所述应用程序预先建立的连接为socket连接。
在一个可选的实现方式中,所述装置与所述应用程序预设连接策略,并基于所述预设连接策略建立连接。
请参见图7,为本发明根据另一示例性实施例示出的一种应用程序与串口外设的通信装置的框图。所述装置包括:第二接收模块710、第二确定模块720以及第二发送模块730。
其中,第二接收模块710,用于接收到所述串口外设发送的串口数据;其中,所述串口数据携带用于标识目标应用程序的标识信息;
第二确定模块720,用于基于所述目标应用程序标识信息确定目标应用程序,并针对所述串口数据执行解封装;
第二发送模块730,用于将所述解封装后的数据封装为应用数据,并将所述应用数据发送至所述目标应用程序。
在本发明中,终端设备的操作系统可以配置有驱动程序以及至少一个应用程序,驱动程序可以接收到应用程序发送的应用数据,其中,应用数据可以携带用于标识目标串口外设的标识信息,然后,驱动程序可以基于该标识信息确定目标串口外设,并针对应用数据执行解封装,在完成对应用数据的解封装后,驱动程序可以将解封装后的数据封装为串口数据,并将该串口数据发送至目标串口外设;当然,驱动程序也可以接收到串口外设发送的串口数据,其中,串口数据可以携带用于标识目标应用程序的标识信息,然后,驱动程序可以基于该标识信息确定目标应用程序,并针对串口数据执行解封装,在完成对串口数据的解封装后,驱动程序可以将解封装后的数据封装为应用数据,并将该应用数据发送至目标应用程序。
在本发明中,当串口外设更改,例如,串口协议或属性更改时,终端设备的操作系统配置的驱动程序可以进行同步更改,由于串口外设以及驱动程序之间的更改不会影响到应用程序与驱动程序之间的连接,因此,应用程序不需要进行同步更改,从而可以有效解决相关技术中当某一串口外设更改时,与该串口外设进行通信的所有应用程序都需要执行同步更改导致的操作系统稳定性差以及加重相关人员配置负担的问题。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种应用程序与串口外设的通信方法,应用于终端设备,所述终端设备的操作系统配置有驱动程序以及至少一个应用程序,其特征在于,所述驱动程序预先与所述应用程序以及串口外设分别建立连接,其中,所述串口外设更改时,所述驱动程序进行同步更改,所述方法包括:
所述驱动程序接收到所述应用程序发送的应用数据;其中,所述应用数据携带用于标识目标串口外设的标识信息;
所述驱动程序基于所述标识信息确定所述目标串口外设,并针对所述应用数据执行解封装;
所述驱动程序将所述解封装后的数据封装为串口数据,并将所述串口数据发送至所述目标串口外设。
2.根据权利要求1所述的方法,其特征在于,所述驱动程序与所述应用程序预先建立的连接为socket连接。
3.根据权利要求1所述的方法,其特征在于,所述驱动程序与所述应用程序预设连接策略,并基于所述预设连接策略建立连接。
4.一种应用程序与串口外设的通信方法,应用于终端设备,所述终端设备的操作系统配置有驱动程序以及至少一个应用程序,其特征在于,所述驱动程序预先与所述应用程序以及串口外设分别建立连接,其中,所述串口外设更改时,所述驱动程序进行同步更改,所述方法包括:
所述驱动程序接收到所述串口外设发送的串口数据;其中,所述串口数据携带用于标识目标应用程序的标识信息;
所述驱动程序基于所述目标应用程序标识信息确定目标应用程序,并针对所述串口数据执行解封装;
所述驱动程序将所述解封装后的数据封装为应用数据,并将所述应用数据发送至所述目标应用程序。
5.一种应用程序与串口外设的通信装置,应用于终端设备,所述终端设备的操作系统配置有所述装置以及至少一个应用程序,其特征在于,所述装置预先与所述应用程序以及串口外设分别建立连接,其中,所述串口外设更改时,所述装置进行同步更改,所述装置包括:
第一接收模块,用于接收到所述应用程序发送的应用数据;其中,所述应用数据携带用于标识目标串口外设的标识信息;
第一确定模块,用于基于所述标识信息确定所述目标串口外设,并针对所述应用数据执行解封装;
第一发送模块,用于将所述解封装后的数据封装为串口数据,并将所述串口数据发送至所述目标串口外设。
6.根据权利要求5所述的装置,其特征在于,所述装置与所述应用程序预先建立的连接为socket连接。
7.根据权利要求5所述的装置,其特征在于,所述装置与所述应用程序预设连接策略,并基于所述预设连接策略建立连接。
8.一种应用程序与串口外设的通信装置,应用于终端设备,所述终端设备的操作系统配置有所述装置以及至少一个应用程序,其特征在于,所述装置预先与所述应用程序以及串口外设分别建立连接,其中,所述串口外设更改时,所述装置进行同步更改,所述装置包括:
第二接收模块,用于接收到所述串口外设发送的串口数据;其中,所述串口数据携带用于标识目标应用程序的标识信息;
第二确定模块,用于基于所述目标应用程序标识信息确定目标应用程序,并针对所述串口数据执行解封装;
第二发送模块,用于将所述解封装后的数据封装为应用数据,并将所述应用数据发送至所述目标应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611141822.7A CN106649186A (zh) | 2016-12-12 | 2016-12-12 | 应用程序与串口外设的通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611141822.7A CN106649186A (zh) | 2016-12-12 | 2016-12-12 | 应用程序与串口外设的通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106649186A true CN106649186A (zh) | 2017-05-10 |
Family
ID=58824301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611141822.7A Pending CN106649186A (zh) | 2016-12-12 | 2016-12-12 | 应用程序与串口外设的通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649186A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052474A (zh) * | 2018-01-02 | 2018-05-18 | 上海壹账通金融科技有限公司 | 数据格式转换方法、装置、设备及计算机可读存储介质 |
CN110008758A (zh) * | 2019-03-29 | 2019-07-12 | 北京金山安全软件有限公司 | 一种id获取方法、装置、电子设备及存储介质 |
CN110083394A (zh) * | 2019-04-04 | 2019-08-02 | 龙芯中科技术有限公司 | 串口驱动方法、装置及存储介质 |
CN111475318A (zh) * | 2020-04-29 | 2020-07-31 | 中国人民解放军军事科学院国防科技创新研究院 | 一种支持多用户访问的串口通信装置、方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470688A (zh) * | 2007-12-28 | 2009-07-01 | 希姆通信息技术(上海)有限公司 | 单端串口实现多功能复用的方法 |
CN101894041A (zh) * | 2010-07-15 | 2010-11-24 | 中兴通讯股份有限公司 | 多虚拟串口系统及其通信方法 |
CN102446144A (zh) * | 2010-09-30 | 2012-05-09 | 北大方正集团有限公司 | 一种串口资源调度方法及装置、系统 |
CN105467960A (zh) * | 2015-12-22 | 2016-04-06 | 湖南三一路面机械有限公司 | 上位机兼容多种控制器及其搅拌站的控制系统和方法 |
-
2016
- 2016-12-12 CN CN201611141822.7A patent/CN106649186A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470688A (zh) * | 2007-12-28 | 2009-07-01 | 希姆通信息技术(上海)有限公司 | 单端串口实现多功能复用的方法 |
CN101894041A (zh) * | 2010-07-15 | 2010-11-24 | 中兴通讯股份有限公司 | 多虚拟串口系统及其通信方法 |
CN102446144A (zh) * | 2010-09-30 | 2012-05-09 | 北大方正集团有限公司 | 一种串口资源调度方法及装置、系统 |
CN105467960A (zh) * | 2015-12-22 | 2016-04-06 | 湖南三一路面机械有限公司 | 上位机兼容多种控制器及其搅拌站的控制系统和方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052474A (zh) * | 2018-01-02 | 2018-05-18 | 上海壹账通金融科技有限公司 | 数据格式转换方法、装置、设备及计算机可读存储介质 |
CN108052474B (zh) * | 2018-01-02 | 2020-05-22 | 深圳壹账通智能科技有限公司 | 数据格式转换方法、装置、设备及计算机可读存储介质 |
CN110008758A (zh) * | 2019-03-29 | 2019-07-12 | 北京金山安全软件有限公司 | 一种id获取方法、装置、电子设备及存储介质 |
CN110083394A (zh) * | 2019-04-04 | 2019-08-02 | 龙芯中科技术有限公司 | 串口驱动方法、装置及存储介质 |
CN110083394B (zh) * | 2019-04-04 | 2022-04-22 | 龙芯中科技术股份有限公司 | 串口驱动方法、装置及存储介质 |
CN111475318A (zh) * | 2020-04-29 | 2020-07-31 | 中国人民解放军军事科学院国防科技创新研究院 | 一种支持多用户访问的串口通信装置、方法及系统 |
CN111475318B (zh) * | 2020-04-29 | 2021-02-23 | 中国人民解放军军事科学院国防科技创新研究院 | 一种支持多用户访问的串口通信装置、方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649186A (zh) | 应用程序与串口外设的通信方法及装置 | |
CN104253840B (zh) | 用于支持多种类型安全载体之间通信的装置及其通信方法 | |
US7577776B2 (en) | Multiple virtual USB devices with virtual HUB implemented using one USB device controller | |
EP2543157B1 (en) | System and method for multiple concurrent virtual networks | |
WO2015194534A1 (ja) | スイッチ装置とコンピュータシステムと方法並びにプログラム | |
CN109388213A (zh) | 服务器系统、计算机实施方法及非暂态计算机可读介质 | |
CN104237699B (zh) | 一种usb接口通信测试系统及方法 | |
CN105868149A (zh) | 一种串口信息的传输方法和装置 | |
CN107943722A (zh) | 一种基于usb设备实现传屏的方法及系统 | |
CN104598285A (zh) | 烧录方法和烧录系统 | |
CN110071878A (zh) | 报文流量统计方法、装置、电子设备 | |
CN109656767A (zh) | 一种cpld状态信息的获取方法、系统及相关组件 | |
US10355968B2 (en) | Diagnosis of a network adapter during network operation | |
CN104468368A (zh) | 配置bgp邻居的方法及装置 | |
CN106126465B (zh) | 一种数据传输方法及装置 | |
CN108124284A (zh) | 一种蓝牙数据传输方法和装置 | |
CN105071988A (zh) | 一种多用户测试系统及方法 | |
CN107645457A (zh) | 一种PCIe交换机系统和方法 | |
CN104427012B (zh) | 端口协商方法和设备 | |
CN103401738B (zh) | 一种连接终端的方法及装置 | |
CN110290187A (zh) | 数据信息的传输方法及装置、存储介质、电子装置 | |
CN108647131A (zh) | 运行日志的输出系统 | |
CN107506324A (zh) | 转接设备、远程通信系统、数据传输方法及装置 | |
CN106095711A (zh) | 用于主从模块通信的连接装置和通信方法 | |
CN104092661B (zh) | 虚拟机串口的通信方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |