数据传输方法、多串口驱动器装置以及车载多媒体装置制造方法

文档序号:6499567阅读:151来源:国知局
数据传输方法、多串口驱动器装置以及车载多媒体装置制造方法
【专利摘要】本发明公开了一种数据传输方法、多串口驱动器装置以及车载多媒体装置。所述数据传输方法包括:通过至少两个虚拟串口接收对应的至少两个应用程序的读请求;为至少两个应用程序分别创建虚拟串口节点;通过物理串口向外部驱动器读取对应于读请求的数据;以及根据虚拟串口节点同时向至少两个应用程序发送读取的数据。通过采用本发明的数据传输方法,能够使至少两个应用程序同时获取来自外部驱动器的数据。
【专利说明】数据传输方法、多串口驱动器装置以及车载多媒体装置
【技术领域】
[0001]本发明涉及数据传输【技术领域】,特别是涉及一种数据传输方法、多串口驱动器装置以及车载多媒体装置。
【背景技术】
[0002]通过商业通信卫星,把全球定位系统(GPS, Global Positioning System)应用到车辆导航上面,为汽车驾驶员指路,这就是车载导航系统。车载导航系统在汽车中有一定程度的普及。
[0003]通常情况下,GPS驱动器都是以物理串口的形式向上发数据。物理串行接口简称物理串口,也称物理串行通信接口(通常指COM接口),是采用串行通信方式的扩展接口。物理串行接口是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信。
[0004]本申请的发明人在长期的研发中发现,在实际应用中,一般都有多个应用程序想同时获得GPS的有效数据,而传统的物理串口都是独自式驱动,即GPS驱动器只能同时被一个应用程序打开,其它的应用程序想获得定位信息只得另寻方法。

【发明内容】

[0005]有鉴于此,本发明提供一种数据传输方法、多串口驱动器装置以及车载多媒体装置。
[0006]依据本发明一实施方式,提供一种数据传输方法,包括:通过至少两个虚拟串口接收对应的至少两个应用程序的读请求;为所述至少两个应用程序分别创建虚拟串口节点;通过物理串口向外部驱动器读取对应于所述读请求的数据;以及根据所述虚拟串口节点同时向所述至少两个应用程序发送读取的所述数据。
[0007]依据本发明另一实施方式,提供一种多串口驱动器装置,包括:接收模块,用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请求;创建模块,用于为所述至少两个应用程序分别创建虚拟串口节点;读取模块,用于通过物理串口向外部驱动器读取对应于所述读请求的数据;以及发送模块,用于根据所述虚拟串口节点同时向所述至少两个应用程序发送读取的所述数据。
[0008]依据本发明又一实施方式,提供一种车载多媒体装置,包括:物理串口以及多串口驱动器,所述多串口驱动器包括:接收模块,用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请求;创建模块,用于为所述至少两个应用程序分别创建虚拟串口节点;读取模块,用于通过所述物理串口向外部驱动器读取对应于所述读请求的数据;以及发送模块,用于根据所述虚拟串口节点同时向所述至少两个应用程序发送读取的所述数据。
[0009]本发明所提供的数据传输方法、多串口驱动器装置以及车载多媒体装置,能够使至少两个应用程序同时获取来自外部驱动器的数据。【专利附图】

【附图说明】
[0010]图1是本发明数据传输方法一实施方式的流程图;
[0011]图2是本发明数据传输方法另一实施方式的流程图;
[0012]图3是本发明数据传输方法又一实施方式的流程图;
[0013]图4是本发明数据传输方法又一实施方式的流程图;
[0014]图5是本发明多串口驱动器装置一实施方式的结构示意图;
[0015]图6是本发明多串口驱动器装置运行后的一结果示意图;
[0016]图7是本发明多串口驱动器装置另一实施方式的结构示意图;
[0017]图8是本发明多串口驱动器装置运行后的另一结果示意图;
[0018]图9是本发明多串口驱动器装置运行后的又一结果示意图;
[0019]图10是本发明多串口驱动器装置又一实施方式的结构示意图;
[0020]图11是本发明多串口驱动器装置又一实施方式的结构示意图;
[0021]图12是本发明多串口驱动器装置又一实施方式的结构示意图;
[0022]图13是本发明多串口驱动器装置又一实施方式的结构示意图;
[0023]图14是本发明车载多媒体装置一实施方式的结构示意图。
【具体实施方式】
[0024]在权利要求书及说明书中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同样的组件。本权利要求书及说明书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准贝U。在权利要求书及说明书中所提及的「包括」为开放式的用语,故应解释成「包括但不限定于」。下面结合附图和实施方式对本发明进行详细说明。
[0025]参阅图1,图1是本发明数据传输方法一实施方式的流程图,包括:
[0026]步骤SlOl:通过至少两个虚拟串口接收对应的至少两个应用程序的读请求。
[0027]如本领域技术人员熟知,物理串行接口简称物理串口,也称物理串行通信接口(通常指COM接口),是采用串行通信方式的扩展接口。而虚拟串口不是实际的物理串口,不再使用数据电缆,而是通过虚拟的方式模拟串口的通信功能,从而完成通信过程。
[0028]步骤S102:为至少两个应用程序分别创建虚拟串口节点。
[0029]步骤S103:通过物理串口向外部驱动器读取对应于读请求的数据。
[0030]通过物理串口向外部驱动器进行读数据,将读取的数据保存在对应的存储单元中,如果对应的存储单元是共用的,则将读取的数据保存在共用的存储单元中,如果对至少两个应用程序分别分配有各自对应的存储单元,则将读取的数据保存在各自对应的存储单元中。
[0031]值得注意的是,外部驱动器包括但不限于GPS驱动器,其他外部驱动器例如通过串口 GSM/GPRS数据传输驱动器、蓝牙数据传输驱动器等。
[0032]步骤S104:根据虚拟串口节点同时向至少两个应用程序发送读取的数据。在获得外部驱动器的数据后,根据虚拟串口节点同时向至少两个应用程序发送读取的数据,以便于至少两个应用程序从对应的存储单元中获得相应的数据。
[0033]本发明通过至少两个虚拟串口接收对应的至少两个应用程序的读请求;为至少两个应用程序分别创建虚拟串口节点;通过物理串口向外部驱动器读取对应于读请求的数据;以及根据虚拟串口节点同时向至少两个应用程序发送读取的数据,通过这种方式,能够使至少两个应用程序通过至少两个虚拟串口同时获取来自外部驱动器的数据。
[0034]参阅图2和图3,图2和图3是本发明数据传输方法两个实施方式的流程图,包括:
[0035]步骤S201:通过至少两个虚拟串口接收对应的至少两个应用程序的读请求。
[0036]步骤S202:判断多串口驱动器是否是第一次打开,多串口驱动器包括至少两个虚拟串口。
[0037]当有应用程序打开多串口驱动器时,多串口驱动器会判断当前是否是第一次打开,如果多串口驱动器是第一次打开,则进入步骤S203,如果多串口驱动器不是第一次打开,则进入步骤S204。
[0038]需要说明的是,步骤S201和步骤S202没有固定的先后顺序,可以预设先后顺序执行,也可以同时执行,步骤S202只要在步骤S204之前完成即可。
[0039]步骤S203:若多串口驱动器是第一次打开,则打开物理串口,并创建用于监视物理串口事件的串口监视线程。
[0040]如果多串口驱动器是第一次打开,表明物理串口还没有打开,需要打开物理串口,同时创建串口监视线程,该串口监视线程用于监视物理串口事件的发生,物理串口事件包括但不限于读数据、写数据、信号改变状态、信号中断、信号状态错误、信号状态指示等等。
[0041]步骤S204:为至少两个应用程序分别创建虚拟串口节点。
[0042]步骤S205:将已创建的虚拟串口节点添加到虚拟串口目录中,并计数虚拟串口节点的个数。将在步骤S204中创建的对应于每一应用程序的虚拟串口节点添加到虚拟串口目录中,并且,虚拟串口目录中每个应用程序对应的虚拟串口节点下都保存有对应的虚拟串口的属性,例如:串口波特率、数据位、校验位等等。对虚拟串口节点的个数进行计数,可以获知当前打开多串口驱动器的应用程序的个数。
[0043]步骤S206:根据读请求为至少两个应用程序分配存储单元。
[0044]存储单元用于保存读取外部驱动器所获得的数据,根据读请求可以为至少两个应用程序分配共用的存储单元,也可以分别为每个应用程序分配各自的存储单元。
[0045]其中,步骤S206具体包括:根据读请求为至少两个应用程序分配对应的存储单元,以便于根据虚拟串口目录,将从外部驱动器读取的数据保存到对应的存储单元中。或者,在另一实施例中,步骤S206具体包括:根据读请求为每个应用程序分别分配各自对应的存储单元。
[0046]在实际应用中,可以根据读请求为至少两个应用程序分别分配各自对应的存储单元,应用程序、存储单元以及虚拟串口节点一一对应,因此,根据虚拟串口目录,可以将从外部驱动器读取的数据保存到各自对应的存储单元中。或者,根据读请求为至少两个应用程序分配共用的存储单元,采用另一种方式以实现应用程序、存储单元等之间的对应关系,也可以实现将从外部驱动器读取的数据保存到对应的存储单元中的目的,在此不再赘叙。存储单元可以是缓冲器,循环队列等。
[0047]步骤S207:通过物理串口向外部驱动器读取对应于读请求的数据,并将读取的数据保存在存储单元中。
[0048]其中,步骤S207具体包括:子步骤S207a和子步骤S207b,如图3所示。[0049]子步骤S207a:根据已创建的串口监视线程,判断是否有对应物理串口的物理串口事件发生。
[0050]子步骤S207b:若有物理串口事件发生,则从物理串口获取数据,并将读取的数据保存至存储单元。另一实施例中,也可以将读数据的结果保存至存储单元,例如读数据失败、读数据成功、只读出部分数据等等。
[0051]步骤S208:根据虚拟串口节点同时向至少两个应用程序发送读取的数据。
[0052]其中,步骤S208具体包括:根据虚拟串口目录中的虚拟串口节点,同时向至少两个应用程序发送读取的数据。
[0053]步骤S209:当应用程序中的任一个关闭与其对应的虚拟串口时,判断虚拟串口节点的个数是否等于零。如果虚拟串口节点的个数不等于零,进入步骤S210,如果虚拟串口节点的个数等于零,进入步骤S211。
[0054]步骤S210:若虚拟串口节点的个数不等于零,则销毁虚拟串口目录中与关闭虚拟串口的应用程序相对应的虚拟串口节点和/或销毁与关闭虚拟串口的应用程序相对应的存储单元。
[0055]步骤S211:若虚拟串口节点的个数等于零,则关闭物理串口,并退出串口监视线程。
[0056]如果虚拟串口节点的个数不等于零,销毁虚拟串口目录中与关闭虚拟串口的应用程序相对应的虚拟串口节点;如果对每个应用程序分别分配了各自对应的存储单元,则可以销毁与其对应的存储单元,也可以不销毁与其对应的存储单元;如果对至少两个应用程序分配了共用的存储单元,则不必销毁与其对应的存储单元。如果虚拟串口节点的个数等于零,表明没有应用程序打开虚拟串口,或者应用程序已经关闭所有的虚拟串口,此时多串口驱动器可以关闭物理串口,并退出串口监视线程。
[0057]另外,在本发明的另一实施例中,可进一步判断所接收的至少两个应用程序的读请求是否相同,即是否是向相同的外部驱动器读取数据。若接收的读请求相同(即至少两个应用程序是向同一个外部驱动器读取数据),则物理串口只需向外部驱动器进行一次读取便可将需要的数据同时发送给对应的至少两个应用程序,可大大提高本发明数据传输的效率。在本发明的又一实施例中,若接收到的读请求不相同(即多个应用程序分别向不同的外部驱动器读取数据),可将接收到的读请求进行分组处理,相同的读请求分入相同的组,并对相同的读请求所对应的应用程序分配相同的存储单元,以便物理串口向外部驱动器读取的对应于该读请求的数据可保存在同一存储单元,随后同时向发送相同读请求的应用程序发送数据。
[0058]需要说明的是,在实际应用中,如果可得到大致上相同的结果,可以根据具体情况对本实施方式中的步骤进行增减或者对步骤的执行顺序进行调换,在此不再进行赘叙。
[0059]总之,本发明通过至少两个虚拟串口接收对应的至少两个应用程序的读请求,根据读请求为至少两个应用程序分配存储单元;通过物理串口向外部驱动器读取对应于读请求的数据,并将读取的数据保存在存储单元中;以及根据虚拟串口节点同时向至少两个应用程序发送读取的数据,以便于至少两个应用程序从存储单元中获取读取的数据,通过这种方式,能够使至少两个应用程序通过至少两个虚拟串口同时获取来自外部驱动器的数据。[0060]参阅图4,图4是本发明数据传输方法又一实施方式的流程图,本实施方式和图1的实施方式基本类似,不同之处在于本实施方式接收的是应用程序的写请求。本实施方式包括如下步骤:
[0061]步骤S301:通过至少两个虚拟串口接收对应的至少两个应用程序的写请求。
[0062]步骤S302:根据写请求为至少两个应用程序分配存储单元。
[0063]步骤S303:将要写入外部驱动器中的数据保存在存储单元中。
[0064]步骤S304:通过物理串口向外部驱动器写入对应于写请求的数据。
[0065]通过本实施方式,除了能够使多个应用程序通过至少两个虚拟串口同时获取来自外部驱动器的数据外,还可以使至少两个应用程序通过至少两个虚拟串口向外部驱动器写入数据。本领域技术人员在阅读上文关于图1-图3的说明后,应可了解图4中各步骤的详细做法,并可将图2、图3中的步骤变形应用至处理写请求的数据传输方法上,为简洁起见,在此不再赘述。
[0066]参阅图5,图5是本发明多串口驱动器装置一实施方式的结构示意图,该多串口驱动器装置100包括:接收模块101、创建模块102、读取模块103以及发送模块104。
[0067]接收模块101用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请求。
[0068]虚拟串口不是实际的物理串口,不需使用数据电缆,而是通过虚拟的方式模拟串口的通信功能,从而完成通信过程。创建模块102用于为至少两个应用程序分别创建虚拟串口节点。
[0069]读取模块103用于通过物理串口向外部驱动器读取对应于读请求的数据。
[0070]发送模块104用于根据虚拟串口节点同时向所述至少两个应用程序发送对所述外部驱动器读数据的结果。
[0071]图5的多串口驱动器装置运行后的结果示意图如图6所示,运行的结果产生至少两个虚拟串口和存储单元。
[0072]本发明的多串口驱动器装置通过至少两个虚拟串口接收对应的至少两个应用程序的读请求,根据读请求为至少两个应用程序分别创建虚拟串口节点;通过物理串口向外部驱动器读取对应于读请求的数据;在获得外部驱动器的数据后,将读取的数据保存在存储单元中,其中根据读请求可以为至少两个应用程序分配共用的存储单元,也可以分别为至少两个应用程序分配各自的存储单元;再根据虚拟串口节点同时向至少两个应用程序发送读取的数据,通过这种方式,能够使至少两个应用程序通过至少两个虚拟串口同时获取来自外部驱动器的数据。
[0073]参阅图7,图7是本发明多串口驱动器装置的另一实施方式的结构示意图,该多串口驱动器装置200包括:接收模块201、第一判断模块202、第一执行模块203、创建模块204、存储单元205、读取模块206以及发送模块207。
[0074]接收模块201用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请求。至少两个应用程序通过至少两个虚拟串口发送读请求后,通过该至少两个虚拟串口接收对应的至少两个应用程序的读请求。
[0075]第一判断模块202用于判断多串口驱动器是否是第一次打开,多串口驱动器装置包括至少两个虚拟串口。第一执行模块203用于在多串口驱动器装置是第一次打开时,打开物理串口,并创建用于监视物理串口事件的串口监视线程。
[0076]如果多串口驱动器是第一次打开,表明物理串口还没有打开,需要打开物理串口,同时创建串口监视线程,该串口监视线程用于监视物理串口事件的发生,物理串口事件包括但不限于读数据、写数据、信号改变状态、信号中断、信号状态错误、信号状态指示等等。
[0077]创建模块204用于为至少两个应用程序分别创建虚拟串口节点。创建模块204还创建虚拟串口目录,并将已创建的虚拟串口节点添加到虚拟串口目录中,并计数虚拟串口节点的个数。虚拟串口目录中每个应用程序对应的虚拟串口节点下都保存有对应的虚拟串口的属性,例如:串口波特率、数据位、校验位等等。对虚拟串口节点的个数进行计数,可以获知当前打开多串口驱动器的应用程序的个数。
[0078]此时,多串口驱动器装置200运行的结果示意图参见图8及图9,运行的结果产生至少两个虚拟串口、存储单元、虚拟串口目录以及串口监视线程。
[0079]在实际应用中,可以根据不同的设计考量来分配存储单元205。在如图9所示的实施例中,根据读请求为至少两个应用程序分别分配对应的存储单元,应用程序、存储单元以及虚拟串口节点一一对应,因此,根据虚拟串口目录,可以将从外部驱动器读取的数据保存到存储单元I和存储单元2中。在如图8所示的实施例中,根据读请求为至少两个应用程序分配共用的存储单元,采用另一种方式以实现应用程序、存储单元等之间的对应关系,同样也可以实现将从外部驱动器读取的数据保存到存储单元中的目的,在此不再赘叙。
[0080]读取模块206用于通过物理串口向外部驱动器读取对应于读请求的数据。在一实施例中,读取模块206还包括判断单元和读取单元。判断单元用于根据已创建的串口监视线程,判断物理串口是否有物理串口事件发生。当判断单元判断有物理串口事件发生时,读取单元从物理串口获取数据。
[0081]发送模块207用于根据虚拟串口节点同时向至少两个应用程序发送读取的数据。具体来说,发送模块207根据虚拟串口目录中的虚拟串口节点,同时向至少两个应用程序发送读取的数据。
[0082]在另一实施例中,多串口驱动器装置200还可以包括第二判断模块208和第二执行模块209,请参阅图10。第二判断模块208用于当应用程序关闭与其对应的虚拟串口时,判断虚拟串口节点的个数是否等于零。当虚拟串口节点的个数不等于零时,第二执行模块209销毁虚拟串口目录中与关闭虚拟串口的应用程序相对应的虚拟串口节点,若对每个应用程序分别分配了各自对应的存储单元,则可以同时销毁与其对应的存储单元,也可以不销毁与其对应的存储单元。当虚拟串口节点的个数等于零时,第二执行模块209关闭物理串口,并退出串口监视线程。
[0083]在又一实施例中,多串口驱动器装置200还可以包括第三判断模块210,请参阅图
11。第三判断模块210用于判断至少两个应用程序的读请求是否相同,即是否是向相同的外部驱动器读取数据。当第三判断模块210判断上述读请求相同时(即至少两个应用程序是向同一个外部驱动器读取数据),读取模块206通过物理串口对外部驱动器读数据,此时物理串口只需向外部驱动器进行一次读取便可将需要的数据同时发送给对应的至少两个应用程序,可大大提高本发明数据传输的效率。在本发明的又一实施例中,当第三判断模块210判断上述读请求不相同(即多个应用程序分别向不同的外部驱动器读取数据)时,可将接收到的读请求进行分组,相同的读请求分入相同的组,并对相同的读请求所对应的应用程序分配相同的存储单元,以便物理串口向外部驱动器读取的对应该读请求的数据可保存在同一存储单元,随后同时向发送相同读请求的应用程序发送数据。
[0084]另外,接收模块201还用于通过至少两个虚拟串口接收对应的至少两个应用程序的写请求。此时,参阅图12,该装置还包括写入模块211,写入模块211用于通过物理串口向外部驱动器写入数据。存储单元205保存将要写入外部驱动器中的数据。
[0085]需要说明的是,在实际应用中,可以根据具体情况对上述实施方式中的模块或单元进行增减,例如,第一判断模块、第二判断模块以及第三判断模块也可以整合为一个判断模块;第一执行模块、第二执行模块以及第三执行模块也可以整合为一个执行模块,在此不再进行赘叙。
[0086]参阅图13,图13是本发明多串口驱动器装置又一实施方式的结构示意图,该装置包括:处理器301和存储器302。
[0087]处理器301用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请求;根据读请求为至少两个应用程序分配存储器302 ;通过物理串口对外部驱动器读数据,并将读取的数据保存在存储器302中;以及同时向至少两个应用程序发送读取的数据。
[0088]处理器301还用于为至少两个应用程序分别创建虚拟串口节点;将已创建的虚拟串口节点添加到虚拟串口目录中,并计数虚拟串口节点的个数;存储器302还用于存储虚拟串口目录和虚拟串口节点的个数。
[0089]处理器301还用于根据虚拟串口目录,同时向至少两个应用程序发送读取的数据。
[0090]处理器301还用于根据读请求为至少两个应用程序分别分配对应的存储器302,以便于根据虚拟串口目录,将从外部驱动器读取的数据保存到对应的存储器302中。
[0091]参阅图14,图14是本发明车载多媒体装置一实施方式的结构示意图,车载多媒体装置400包括物理串口 401以及多串口驱动器402,其中,多串口驱动器402包括接收模块
21、创建模块22、读取模块23以及发送模块24,其中:接收模块21,用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请求;创建模块22,用于为至少两个应用程序分别创建虚拟串口节点;读取模块23,用于通过物理串口向外部驱动器读取对应于读请求的数据;以及发送模块24,用于根据虚拟串口节点同时向至少两个应用程序发送读取的数据。
[0092]关于车载多媒体装置400中各模块的具体实现形式可参阅上述虚拟串口驱动器装置各个实施方式中的相应描述,在此不再赘述。
[0093]本发明多串口驱动器装置通过至少两个虚拟串口接收对应的至少两个应用程序的读请求,根据读请求为至少两个应用程序分配存储单元;通过物理串口对外部驱动器读数据,并将读取的数据保存在存储单元中;以及同时向至少两个应用程序发送读取的数据,以便于至少两个应用程序从存储单元中获取读取的数据,通过这种方式,能够使至少两个应用程序通过至少两个虚拟串口同时获取来自外部驱动器的数据。
[0094]以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种数据传输方法,其特征在于,包括: 通过至少两个虚拟串口接收对应的至少两个应用程序的读请求; 为所述至少两个应用程序分别创建虚拟串口节点; 通过物理串口向外部驱动器读取对应于所述读请求的数据;以及 根据所述虚拟串口节点同时向所述至少两个应用程序发送读取的所述数据。
2.根据权利要求1所述的数据传输方法,其特征在于,所述为所述至少两个应用程序分别创建虚拟串口节点之后,还包括: 将已创建的所述虚拟串口节点添加到虚拟串口目录中,并计数所述虚拟串口节点的个数。
3.根据权利要求2所述的数据传输方法,其特征在于,所述根据所述虚拟串口节点同时向所述至少两个应用程序发送读取的所述数据的步骤,包括: 根据所述虚拟串口目录,同时向所述至少两个应用程序发送读取的所述数据。
4.根据权利要求2所述的数据传输方法,其特征在于,还包括: 根据所述读请求为所述至少两个应用程序分别分配对应的存储单元,以便于根据所述虚拟串口目录,将从所述外部驱动器读取的数据保存到对应的所述存储单元中。
5.根据权利要求2所述的数据传输方法,其特征在于,所述为所述至少两个应用程序分别创建虚拟串口节点的步骤之前,还包括: 判断多串口驱动器是否是第一次打开,所述多串口驱动器包括所述至少两个虚拟串Π ; 若所述多串口驱动器是第一次打开,则打开所述物理串口,并创建用于监视物理串口事件的串口监视线程。
6.根据权利要求5所述的数据传输方法,其特征在于,所述通过物理串口向外部驱动器读取对应于所述读请求的数据的步骤包括: 根据已创建的所述串口监视线程,判断所述物理串口是否有所述物理串口事件发生; 若有所述物理串口事件发生,则从所述物理串口获取数据,并保存所述数据至存储单J Li ο
7.根据权利要求5所述的数据传输方法,其特征在于,所述数据传输方法还包括: 当所述应用程序中的任一个关闭与其对应的所述虚拟串口时,判断所述虚拟串口节点的个数是否等于零; 若所述虚拟串口节点的个数不等于零,则销毁所述虚拟串口目录中与关闭所述虚拟串口的所述应用程序相对应的虚拟串口节点和/或销毁与关闭所述虚拟串口的所述应用程序相对应的存储单元;若所述虚拟串口节点的个数等于零,则关闭所述物理串口,并退出所述串口监视线程。
8.根据权利要求1所述的数据传输方法,其特征在于,进一步包括: 根据所述读请求为所述至少两个应用程序分配存储单元;以及 将读取的所述数据保存至所述存储单元。
9.根据权利要求8所述的数据传输方法,其特征在于,所述根据所述读请求为所述至少两个应用程序分配存储单元的步骤,包括: 根据所述读请求为所述至少两个应用程序分别分配对应的所述存储单元。
10.根据权利要求1所述的数据传输方法,其特征在于,所述通过物理串口向外部驱动器读取对应于所述读请求的数据的步骤之前还包括: 判断所述至少两个应用程序的读请求是否相同; 当所述读请求相同时,通过所述物理串口对所述外部驱动器读数据。
11.根据权利要求1所述的数据传输方法,其特征在于,还包括: 通过所述至少两个虚拟串口接收对应的所述至少两个应用程序的写请求; 通过所述物理串口向所述外部驱动器写入对应于所述写请求的数据。
12.根据权利要求11所述的数据传输方法,其特征在于,所述通过所述物理串口向所述外部驱动器写入对应于所述写请求的数据的步骤之前还包括: 根据所述写请求为所述至少两个应用程序分配存储单元;以及 将要写入所述外部驱动器中的数据保存在所述存储单元中。
13.一种多串口驱动器装置,其特征在于,所述装置包括: 接收模块,用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请求; 创建模块,用于为所 述至少两个应用程序分别创建虚拟串口节点; 读取模块,用于通过物理串口向外部驱动器读取对应于所述读请求的数据;以及发送模块,用于根据所述虚拟串口节点同时向所述至少两个应用程序发送读取的所述数据。
14.根据权利要求13所述的多串口驱动器装置,其特征在于, 所述创建模块,还创建虚拟串口目录,并将已创建的所述虚拟串口节点添加到所述虚拟串口目录中,并计数所述虚拟串口节点的个数。
15.根据权利要求14所述的多串口驱动器装置,其特征在于,所述发送模块根据所述虚拟串口目录,同时向所述至少两个应用程序发送读取的所述数据。
16.根据权利要求14所述的多串口驱动器装置,其特征在于,还包括: 存储单元,用于根据所述虚拟串口目录,保存从所述外部驱动器读取的数据。
17.根据权利要求14所述的多串口驱动器装置,其特征在于,所述多串口驱动器装置还包括: 第一判断模块,用于判断所述多串口驱动器装置是否是第一次打开,所述多串口驱动器装置包括所述至少两个虚拟串口 ; 第一执行模块,用于在所述多串口驱动器装置是第一次打开时,打开所述物理串口,并创建用于监视物理串口事件的串口监视线程。
18.根据权利要求17所述的多串口驱动器装置,其特征在于,所述读取模块包括: 判断单元,用于根据已创建的所述串口监视线程,判断所述物理串口是否有所述物理串口事件发生; 读取单元,用于在有所述物理串口事件发生时,则从所述物理串口获取数据。
19.根据权利要求17所述的多串口驱动器装置,其特征在于,所述多串口驱动器装置还包括: 第二判断模块,用于当所述应用程序中的任一个关闭与其对应的所述虚拟串口时,判断所述虚拟串口节点的个数是否等于零; 第二执行模块,用于在所述虚拟串口节点的个数不等于零时,销毁所述虚拟串口目录中与关闭所述虚拟串口的所述应用程序相对应的虚拟串口节点;在所述虚拟串口节点的个数等于零时,关闭所述物理串口,并退出所述串口监视线程。
20.根据权利要求13所述的多串口驱动器装置,其特征在于,所述多串口驱动器装置还包括: 第三判断模块,用于判断所述至少两个应用程序的读请求是否相同; 当所述读请求相同时,所述读取模块通过所述物理串口对所述外部驱动器读数据。
21.根据权利要求13所述的多串口驱动器装置,其特征在于, 所述接收模块还用于通过所述至少两个虚拟串口接收对应的所述至少两个应用程序的与请求; 所述多串口驱动器装置还包括写入模块,所述写入模块用于通过所述物理串口向所述外部驱动器写入对应于所述写请求的数据。
22.根据权利要求21所述的多串口驱动器装置,其特征在于,所述存储单元还用于保存所述对应于所述写请求的数据。
23.一种车载多媒体装置,其特征在于,包括: 物理串口,以及多串口驱动器,所述多串口驱动器包括: 接收模块,用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请求; 创建模块,用于为所述至少两个应用程序分别创建虚拟串口节点; 读取模块,用于通过所述物理串口向外部驱动器读取对应于所述读请求的数据;以及 发送模块,用于根据所述虚拟串口节点同时向所述至少两个应用程序发送读取的所述数据。
【文档编号】G06F13/38GK103970584SQ201310033801
【公开日】2014年8月6日 申请日期:2013年1月29日 优先权日:2013年1月29日
【发明者】洪永光 申请人:杰发科技(合肥)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1