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

上传人:zhu****69 文档编号:4427808 上传时间:2018-10-01 格式:PDF 页数:20 大小:4.81MB
返回 下载 相关 举报
数据传输方法、多串口驱动器装置以及车载多媒体装置.pdf_第1页
第1页 / 共20页
数据传输方法、多串口驱动器装置以及车载多媒体装置.pdf_第2页
第2页 / 共20页
数据传输方法、多串口驱动器装置以及车载多媒体装置.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《数据传输方法、多串口驱动器装置以及车载多媒体装置.pdf》由会员分享,可在线阅读,更多相关《数据传输方法、多串口驱动器装置以及车载多媒体装置.pdf(20页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103970584 A (43)申请公布日 2014.08.06 C N 1 0 3 9 7 0 5 8 4 A (21)申请号 201310033801.3 (22)申请日 2013.01.29 G06F 9/455(2006.01) G06F 13/38(2006.01) (71)申请人杰发科技(合肥)有限公司 地址 230000 安徽省合肥市望江西路800号 创新产业园A3楼10层 (72)发明人洪永光 (74)专利代理机构深圳市威世博知识产权代理 事务所(普通合伙) 44280 代理人李庆波 (54) 发明名称 数据传输方法、多串口驱动器装置以及车载 多媒体装。

2、置 (57) 摘要 本发明公开了一种数据传输方法、多串口驱 动器装置以及车载多媒体装置。所述数据传输方 法包括:通过至少两个虚拟串口接收对应的至少 两个应用程序的读请求;为至少两个应用程序分 别创建虚拟串口节点;通过物理串口向外部驱动 器读取对应于读请求的数据;以及根据虚拟串口 节点同时向至少两个应用程序发送读取的数据。 通过采用本发明的数据传输方法,能够使至少两 个应用程序同时获取来自外部驱动器的数据。 (51)Int.Cl. 权利要求书3页 说明书7页 附图9页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书7页 附图9页 (10)申请公布号 CN 10。

3、3970584 A CN 103970584 A 1/3页 2 1.一种数据传输方法,其特征在于,包括: 通过至少两个虚拟串口接收对应的至少两个应用程序的读请求; 为所述至少两个应用程序分别创建虚拟串口节点; 通过物理串口向外部驱动器读取对应于所述读请求的数据;以及 根据所述虚拟串口节点同时向所述至少两个应用程序发送读取的所述数据。 2.根据权利要求1所述的数据传输方法,其特征在于,所述为所述至少两个应用程序 分别创建虚拟串口节点之后,还包括: 将已创建的所述虚拟串口节点添加到虚拟串口目录中,并计数所述虚拟串口节点的个 数。 3.根据权利要求2所述的数据传输方法,其特征在于,所述根据所述虚拟串。

4、口节点同 时向所述至少两个应用程序发送读取的所述数据的步骤,包括: 根据所述虚拟串口目录,同时向所述至少两个应用程序发送读取的所述数据。 4.根据权利要求2所述的数据传输方法,其特征在于,还包括: 根据所述读请求为所述至少两个应用程序分别分配对应的存储单元,以便于根据所述 虚拟串口目录,将从所述外部驱动器读取的数据保存到对应的所述存储单元中。 5.根据权利要求2所述的数据传输方法,其特征在于,所述为所述至少两个应用程序 分别创建虚拟串口节点的步骤之前,还包括: 判断多串口驱动器是否是第一次打开,所述多串口驱动器包括所述至少两个虚拟串 口; 若所述多串口驱动器是第一次打开,则打开所述物理串口,并。

5、创建用于监视物理串口 事件的串口监视线程。 6.根据权利要求5所述的数据传输方法,其特征在于,所述通过物理串口向外部驱动 器读取对应于所述读请求的数据的步骤包括: 根据已创建的所述串口监视线程,判断所述物理串口是否有所述物理串口事件发生; 若有所述物理串口事件发生,则从所述物理串口获取数据,并保存所述数据至存储单 元。 7.根据权利要求5所述的数据传输方法,其特征在于,所述数据传输方法还包括: 当所述应用程序中的任一个关闭与其对应的所述虚拟串口时,判断所述虚拟串口节点 的个数是否等于零; 若所述虚拟串口节点的个数不等于零,则销毁所述虚拟串口目录中与关闭所述虚拟串 口的所述应用程序相对应的虚拟串。

6、口节点和/或销毁与关闭所述虚拟串口的所述应用程 序相对应的存储单元;若所述虚拟串口节点的个数等于零,则关闭所述物理串口,并退出所 述串口监视线程。 8.根据权利要求1所述的数据传输方法,其特征在于,进一步包括: 根据所述读请求为所述至少两个应用程序分配存储单元;以及 将读取的所述数据保存至所述存储单元。 9.根据权利要求8所述的数据传输方法,其特征在于,所述根据所述读请求为所述至 少两个应用程序分配存储单元的步骤,包括: 根据所述读请求为所述至少两个应用程序分别分配对应的所述存储单元。 权 利 要 求 书CN 103970584 A 2/3页 3 10.根据权利要求1所述的数据传输方法,其特征。

7、在于,所述通过物理串口向外部驱动 器读取对应于所述读请求的数据的步骤之前还包括: 判断所述至少两个应用程序的读请求是否相同; 当所述读请求相同时,通过所述物理串口对所述外部驱动器读数据。 11.根据权利要求1所述的数据传输方法,其特征在于,还包括: 通过所述至少两个虚拟串口接收对应的所述至少两个应用程序的写请求; 通过所述物理串口向所述外部驱动器写入对应于所述写请求的数据。 12.根据权利要求11所述的数据传输方法,其特征在于,所述通过所述物理串口向所 述外部驱动器写入对应于所述写请求的数据的步骤之前还包括: 根据所述写请求为所述至少两个应用程序分配存储单元;以及 将要写入所述外部驱动器中的数。

8、据保存在所述存储单元中。 13.一种多串口驱动器装置,其特征在于,所述装置包括: 接收模块,用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请求; 创建模块,用于为所述至少两个应用程序分别创建虚拟串口节点; 读取模块,用于通过物理串口向外部驱动器读取对应于所述读请求的数据;以及 发送模块,用于根据所述虚拟串口节点同时向所述至少两个应用程序发送读取的所述 数据。 14.根据权利要求13所述的多串口驱动器装置,其特征在于, 所述创建模块,还创建虚拟串口目录,并将已创建的所述虚拟串口节点添加到所述虚 拟串口目录中,并计数所述虚拟串口节点的个数。 15.根据权利要求14所述的多串口驱动器装置,其。

9、特征在于,所述发送模块根据所述 虚拟串口目录,同时向所述至少两个应用程序发送读取的所述数据。 16.根据权利要求14所述的多串口驱动器装置,其特征在于,还包括: 存储单元,用于根据所述虚拟串口目录,保存从所述外部驱动器读取的数据。 17.根据权利要求14所述的多串口驱动器装置,其特征在于,所述多串口驱动器装置 还包括: 第一判断模块,用于判断所述多串口驱动器装置是否是第一次打开,所述多串口驱动 器装置包括所述至少两个虚拟串口; 第一执行模块,用于在所述多串口驱动器装置是第一次打开时,打开所述物理串口,并 创建用于监视物理串口事件的串口监视线程。 18.根据权利要求17所述的多串口驱动器装置,其。

10、特征在于,所述读取模块包括: 判断单元,用于根据已创建的所述串口监视线程,判断所述物理串口是否有所述物理 串口事件发生; 读取单元,用于在有所述物理串口事件发生时,则从所述物理串口获取数据。 19.根据权利要求17所述的多串口驱动器装置,其特征在于,所述多串口驱动器装置 还包括: 第二判断模块,用于当所述应用程序中的任一个关闭与其对应的所述虚拟串口时,判 断所述虚拟串口节点的个数是否等于零; 第二执行模块,用于在所述虚拟串口节点的个数不等于零时,销毁所述虚拟串口目录 权 利 要 求 书CN 103970584 A 3/3页 4 中与关闭所述虚拟串口的所述应用程序相对应的虚拟串口节点;在所述虚拟。

11、串口节点的个 数等于零时,关闭所述物理串口,并退出所述串口监视线程。 20.根据权利要求13所述的多串口驱动器装置,其特征在于,所述多串口驱动器装置 还包括: 第三判断模块,用于判断所述至少两个应用程序的读请求是否相同; 当所述读请求相同时,所述读取模块通过所述物理串口对所述外部驱动器读数据。 21.根据权利要求13所述的多串口驱动器装置,其特征在于, 所述接收模块还用于通过所述至少两个虚拟串口接收对应的所述至少两个应用程序 的写请求; 所述多串口驱动器装置还包括写入模块,所述写入模块用于通过所述物理串口向所述 外部驱动器写入对应于所述写请求的数据。 22.根据权利要求21所述的多串口驱动器装。

12、置,其特征在于,所述存储单元还用于保 存所述对应于所述写请求的数据。 23.一种车载多媒体装置,其特征在于,包括: 物理串口,以及多串口驱动器,所述多串口驱动器包括: 接收模块,用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请求; 创建模块,用于为所述至少两个应用程序分别创建虚拟串口节点; 读取模块,用于通过所述物理串口向外部驱动器读取对应于所述读请求的数据;以及 发送模块,用于根据所述虚拟串口节点同时向所述至少两个应用程序发送读取的所述 数据。 权 利 要 求 书CN 103970584 A 1/7页 5 数据传输方法、 多串口驱动器装置以及车载多媒体装置 技术领域 0001 本发明。

13、涉及数据传输技术领域,特别是涉及一种数据传输方法、多串口驱动器装 置以及车载多媒体装置。 背景技术 0002 通过商业通信卫星,把全球定位系统(GPS,Global Positioning System)应用到 车辆导航上面,为汽车驾驶员指路,这就是车载导航系统。车载导航系统在汽车中有一定程 度的普及。 0003 通常情况下,GPS驱动器都是以物理串口的形式向上发数据。物理串行接口简称 物理串口,也称物理串行通信接口(通常指COM接口),是采用串行通信方式的扩展接口。物 理串行接口是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可 以实现双向通信。 0004 本申请的发明人在。

14、长期的研发中发现,在实际应用中,一般都有多个应用程序想 同时获得GPS的有效数据,而传统的物理串口都是独自式驱动,即GPS驱动器只能同时被一 个应用程序打开,其它的应用程序想获得定位信息只得另寻方法。 发明内容 0005 有鉴于此,本发明提供一种数据传输方法、多串口驱动器装置以及车载多媒体装 置。 0006 依据本发明一实施方式,提供一种数据传输方法,包括:通过至少两个虚拟串口接 收对应的至少两个应用程序的读请求;为所述至少两个应用程序分别创建虚拟串口节点; 通过物理串口向外部驱动器读取对应于所述读请求的数据;以及根据所述虚拟串口节点同 时向所述至少两个应用程序发送读取的所述数据。 0007 。

15、依据本发明另一实施方式,提供一种多串口驱动器装置,包括:接收模块,用于通 过至少两个虚拟串口接收对应的至少两个应用程序的读请求;创建模块,用于为所述至少 两个应用程序分别创建虚拟串口节点;读取模块,用于通过物理串口向外部驱动器读取对 应于所述读请求的数据;以及发送模块,用于根据所述虚拟串口节点同时向所述至少两个 应用程序发送读取的所述数据。 0008 依据本发明又一实施方式,提供一种车载多媒体装置,包括:物理串口以及多串口 驱动器,所述多串口驱动器包括:接收模块,用于通过至少两个虚拟串口接收对应的至少两 个应用程序的读请求;创建模块,用于为所述至少两个应用程序分别创建虚拟串口节点; 读取模块,。

16、用于通过所述物理串口向外部驱动器读取对应于所述读请求的数据;以及发送 模块,用于根据所述虚拟串口节点同时向所述至少两个应用程序发送读取的所述数据。 0009 本发明所提供的数据传输方法、多串口驱动器装置以及车载多媒体装置,能够使 至少两个应用程序同时获取来自外部驱动器的数据。 说 明 书CN 103970584 A 2/7页 6 附图说明 0010 图1是本发明数据传输方法一实施方式的流程图; 0011 图2是本发明数据传输方法另一实施方式的流程图; 0012 图3是本发明数据传输方法又一实施方式的流程图; 0013 图4是本发明数据传输方法又一实施方式的流程图; 0014 图5是本发明多串口。

17、驱动器装置一实施方式的结构示意图; 0015 图6是本发明多串口驱动器装置运行后的一结果示意图; 0016 图7是本发明多串口驱动器装置另一实施方式的结构示意图; 0017 图8是本发明多串口驱动器装置运行后的另一结果示意图; 0018 图9是本发明多串口驱动器装置运行后的又一结果示意图; 0019 图10是本发明多串口驱动器装置又一实施方式的结构示意图; 0020 图11是本发明多串口驱动器装置又一实施方式的结构示意图; 0021 图12是本发明多串口驱动器装置又一实施方式的结构示意图; 0022 图13是本发明多串口驱动器装置又一实施方式的结构示意图; 0023 图14是本发明车载多媒体装。

18、置一实施方式的结构示意图。 具体实施方式 0024 在权利要求书及说明书中使用了某些词汇来指称特定的组件。所属领域中的技术 人员应可理解,硬件制造商可能会用不同的名词来称呼同样的组件。本权利要求书及说明 书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准 则。在权利要求书及说明书中所提及的包括为开放式的用语,故应解释成包括但不限 定于。下面结合附图和实施方式对本发明进行详细说明。 0025 参阅图1,图1是本发明数据传输方法一实施方式的流程图,包括: 0026 步骤S101:通过至少两个虚拟串口接收对应的至少两个应用程序的读请求。 0027 如本领域技术人员熟知,物。

19、理串行接口简称物理串口,也称物理串行通信接口(通 常指COM接口),是采用串行通信方式的扩展接口。而虚拟串口不是实际的物理串口,不再 使用数据电缆,而是通过虚拟的方式模拟串口的通信功能,从而完成通信过程。 0028 步骤S102:为至少两个应用程序分别创建虚拟串口节点。 0029 步骤S103:通过物理串口向外部驱动器读取对应于读请求的数据。 0030 通过物理串口向外部驱动器进行读数据,将读取的数据保存在对应的存储单元 中,如果对应的存储单元是共用的,则将读取的数据保存在共用的存储单元中,如果对至少 两个应用程序分别分配有各自对应的存储单元,则将读取的数据保存在各自对应的存储单 元中。 00。

20、31 值得注意的是,外部驱动器包括但不限于GPS驱动器,其他外部驱动器例如通过 串口GSM/GPRS数据传输驱动器、蓝牙数据传输驱动器等。 0032 步骤S104:根据虚拟串口节点同时向至少两个应用程序发送读取的数据。在获得 外部驱动器的数据后,根据虚拟串口节点同时向至少两个应用程序发送读取的数据,以便 于至少两个应用程序从对应的存储单元中获得相应的数据。 0033 本发明通过至少两个虚拟串口接收对应的至少两个应用程序的读请求;为至少两 说 明 书CN 103970584 A 3/7页 7 个应用程序分别创建虚拟串口节点;通过物理串口向外部驱动器读取对应于读请求的数 据;以及根据虚拟串口节点同。

21、时向至少两个应用程序发送读取的数据,通过这种方式,能够 使至少两个应用程序通过至少两个虚拟串口同时获取来自外部驱动器的数据。 0034 参阅图2和图3,图2和图3是本发明数据传输方法两个实施方式的流程图,包括: 0035 步骤S201:通过至少两个虚拟串口接收对应的至少两个应用程序的读请求。 0036 步骤S202:判断多串口驱动器是否是第一次打开,多串口驱动器包括至少两个虚 拟串口。 0037 当有应用程序打开多串口驱动器时,多串口驱动器会判断当前是否是第一次打 开,如果多串口驱动器是第一次打开,则进入步骤S203,如果多串口驱动器不是第一次打 开,则进入步骤S204。 0038 需要说明的。

22、是,步骤S201和步骤S202没有固定的先后顺序,可以预设先后顺序执 行,也可以同时执行,步骤S202只要在步骤S204之前完成即可。 0039 步骤S203:若多串口驱动器是第一次打开,则打开物理串口,并创建用于监视物 理串口事件的串口监视线程。 0040 如果多串口驱动器是第一次打开,表明物理串口还没有打开,需要打开物理串口, 同时创建串口监视线程,该串口监视线程用于监视物理串口事件的发生,物理串口事件包 括但不限于读数据、写数据、信号改变状态、信号中断、信号状态错误、信号状态指示等等。 0041 步骤S204:为至少两个应用程序分别创建虚拟串口节点。 0042 步骤S205:将已创建的虚。

23、拟串口节点添加到虚拟串口目录中,并计数虚拟串口节 点的个数。将在步骤S204中创建的对应于每一应用程序的虚拟串口节点添加到虚拟串口 目录中,并且,虚拟串口目录中每个应用程序对应的虚拟串口节点下都保存有对应的虚拟 串口的属性,例如:串口波特率、数据位、校验位等等。对虚拟串口节点的个数进行计数,可 以获知当前打开多串口驱动器的应用程序的个数。 0043 步骤S206:根据读请求为至少两个应用程序分配存储单元。 0044 存储单元用于保存读取外部驱动器所获得的数据,根据读请求可以为至少两个应 用程序分配共用的存储单元,也可以分别为每个应用程序分配各自的存储单元。 0045 其中,步骤S206具体包括。

24、:根据读请求为至少两个应用程序分配对应的存储单 元,以便于根据虚拟串口目录,将从外部驱动器读取的数据保存到对应的存储单元中。或 者,在另一实施例中,步骤S206具体包括:根据读请求为每个应用程序分别分配各自对应 的存储单元。 0046 在实际应用中,可以根据读请求为至少两个应用程序分别分配各自对应的存储单 元,应用程序、存储单元以及虚拟串口节点一一对应,因此,根据虚拟串口目录,可以将从外 部驱动器读取的数据保存到各自对应的存储单元中。或者,根据读请求为至少两个应用程 序分配共用的存储单元,采用另一种方式以实现应用程序、存储单元等之间的对应关系,也 可以实现将从外部驱动器读取的数据保存到对应的存。

25、储单元中的目的,在此不再赘叙。存 储单元可以是缓冲器,循环队列等。 0047 步骤S207:通过物理串口向外部驱动器读取对应于读请求的数据,并将读取的数 据保存在存储单元中。 0048 其中,步骤S207具体包括:子步骤S207a和子步骤S207b,如图3所示。 说 明 书CN 103970584 A 4/7页 8 0049 子步骤S207a:根据已创建的串口监视线程,判断是否有对应物理串口的物理串 口事件发生。 0050 子步骤S207b:若有物理串口事件发生,则从物理串口获取数据,并将读取的数据 保存至存储单元。另一实施例中,也可以将读数据的结果保存至存储单元,例如读数据失 败、读数据成功。

26、、只读出部分数据等等。 0051 步骤S208:根据虚拟串口节点同时向至少两个应用程序发送读取的数据。 0052 其中,步骤S208具体包括:根据虚拟串口目录中的虚拟串口节点,同时向至少两 个应用程序发送读取的数据。 0053 步骤S209:当应用程序中的任一个关闭与其对应的虚拟串口时,判断虚拟串口节 点的个数是否等于零。如果虚拟串口节点的个数不等于零,进入步骤S210,如果虚拟串口节 点的个数等于零,进入步骤S211。 0054 步骤S210:若虚拟串口节点的个数不等于零,则销毁虚拟串口目录中与关闭虚拟 串口的应用程序相对应的虚拟串口节点和/或销毁与关闭虚拟串口的应用程序相对应的 存储单元。。

27、 0055 步骤S211:若虚拟串口节点的个数等于零,则关闭物理串口,并退出串口监视线 程。 0056 如果虚拟串口节点的个数不等于零,销毁虚拟串口目录中与关闭虚拟串口的应用 程序相对应的虚拟串口节点;如果对每个应用程序分别分配了各自对应的存储单元,则可 以销毁与其对应的存储单元,也可以不销毁与其对应的存储单元;如果对至少两个应用程 序分配了共用的存储单元,则不必销毁与其对应的存储单元。如果虚拟串口节点的个数等 于零,表明没有应用程序打开虚拟串口,或者应用程序已经关闭所有的虚拟串口,此时多串 口驱动器可以关闭物理串口,并退出串口监视线程。 0057 另外,在本发明的另一实施例中,可进一步判断所。

28、接收的至少两个应用程序的读 请求是否相同,即是否是向相同的外部驱动器读取数据。若接收的读请求相同(即至少两个 应用程序是向同一个外部驱动器读取数据),则物理串口只需向外部驱动器进行一次读取 便可将需要的数据同时发送给对应的至少两个应用程序,可大大提高本发明数据传输的效 率。在本发明的又一实施例中,若接收到的读请求不相同(即多个应用程序分别向不同的外 部驱动器读取数据),可将接收到的读请求进行分组处理,相同的读请求分入相同的组,并 对相同的读请求所对应的应用程序分配相同的存储单元,以便物理串口向外部驱动器读取 的对应于该读请求的数据可保存在同一存储单元,随后同时向发送相同读请求的应用程序 发送数。

29、据。 0058 需要说明的是,在实际应用中,如果可得到大致上相同的结果,可以根据具体情况 对本实施方式中的步骤进行增减或者对步骤的执行顺序进行调换,在此不再进行赘叙。 0059 总之,本发明通过至少两个虚拟串口接收对应的至少两个应用程序的读请求,根 据读请求为至少两个应用程序分配存储单元;通过物理串口向外部驱动器读取对应于读 请求的数据,并将读取的数据保存在存储单元中;以及根据虚拟串口节点同时向至少两个 应用程序发送读取的数据,以便于至少两个应用程序从存储单元中获取读取的数据,通过 这种方式,能够使至少两个应用程序通过至少两个虚拟串口同时获取来自外部驱动器的数 据。 说 明 书CN 10397。

30、0584 A 5/7页 9 0060 参阅图4,图4是本发明数据传输方法又一实施方式的流程图,本实施方式和图1 的实施方式基本类似,不同之处在于本实施方式接收的是应用程序的写请求。本实施方式 包括如下步骤: 0061 步骤S301:通过至少两个虚拟串口接收对应的至少两个应用程序的写请求。 0062 步骤S302:根据写请求为至少两个应用程序分配存储单元。 0063 步骤S303:将要写入外部驱动器中的数据保存在存储单元中。 0064 步骤S304:通过物理串口向外部驱动器写入对应于写请求的数据。 0065 通过本实施方式,除了能够使多个应用程序通过至少两个虚拟串口同时获取来自 外部驱动器的数据。

31、外,还可以使至少两个应用程序通过至少两个虚拟串口向外部驱动器写 入数据。本领域技术人员在阅读上文关于图1-图3的说明后,应可了解图4中各步骤的详 细做法,并可将图2、图3中的步骤变形应用至处理写请求的数据传输方法上,为简洁起见, 在此不再赘述。 0066 参阅图5,图5是本发明多串口驱动器装置一实施方式的结构示意图,该多串口驱 动器装置100包括:接收模块101、创建模块102、读取模块103以及发送模块104。 0067 接收模块101用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请 求。 0068 虚拟串口不是实际的物理串口,不需使用数据电缆,而是通过虚拟的方式模拟串 口的通信功能。

32、,从而完成通信过程。创建模块102用于为至少两个应用程序分别创建虚拟 串口节点。 0069 读取模块103用于通过物理串口向外部驱动器读取对应于读请求的数据。 0070 发送模块104用于根据虚拟串口节点同时向所述至少两个应用程序发送对所述 外部驱动器读数据的结果。 0071 图5的多串口驱动器装置运行后的结果示意图如图6所示,运行的结果产生至少 两个虚拟串口和存储单元。 0072 本发明的多串口驱动器装置通过至少两个虚拟串口接收对应的至少两个应用程 序的读请求,根据读请求为至少两个应用程序分别创建虚拟串口节点;通过物理串口向外 部驱动器读取对应于读请求的数据;在获得外部驱动器的数据后,将读取。

33、的数据保存在存 储单元中,其中根据读请求可以为至少两个应用程序分配共用的存储单元,也可以分别为 至少两个应用程序分配各自的存储单元;再根据虚拟串口节点同时向至少两个应用程序发 送读取的数据,通过这种方式,能够使至少两个应用程序通过至少两个虚拟串口同时获取 来自外部驱动器的数据。 0073 参阅图7,图7是本发明多串口驱动器装置的另一实施方式的结构示意图,该多 串口驱动器装置200包括:接收模块201、第一判断模块202、第一执行模块203、创建模块 204、存储单元205、读取模块206以及发送模块207。 0074 接收模块201用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请 求。。

34、至少两个应用程序通过至少两个虚拟串口发送读请求后,通过该至少两个虚拟串口接 收对应的至少两个应用程序的读请求。 0075 第一判断模块202用于判断多串口驱动器是否是第一次打开,多串口驱动器装置 包括至少两个虚拟串口。第一执行模块203用于在多串口驱动器装置是第一次打开时,打 说 明 书CN 103970584 A 6/7页 10 开物理串口,并创建用于监视物理串口事件的串口监视线程。 0076 如果多串口驱动器是第一次打开,表明物理串口还没有打开,需要打开物理串口, 同时创建串口监视线程,该串口监视线程用于监视物理串口事件的发生,物理串口事件包 括但不限于读数据、写数据、信号改变状态、信号中。

35、断、信号状态错误、信号状态指示等等。 0077 创建模块204用于为至少两个应用程序分别创建虚拟串口节点。创建模块204还 创建虚拟串口目录,并将已创建的虚拟串口节点添加到虚拟串口目录中,并计数虚拟串口 节点的个数。虚拟串口目录中每个应用程序对应的虚拟串口节点下都保存有对应的虚拟串 口的属性,例如:串口波特率、数据位、校验位等等。对虚拟串口节点的个数进行计数,可以 获知当前打开多串口驱动器的应用程序的个数。 0078 此时,多串口驱动器装置200运行的结果示意图参见图8及图9,运行的结果产生 至少两个虚拟串口、存储单元、虚拟串口目录以及串口监视线程。 0079 在实际应用中,可以根据不同的设计。

36、考量来分配存储单元205。在如图9所示的实 施例中,根据读请求为至少两个应用程序分别分配对应的存储单元,应用程序、存储单元以 及虚拟串口节点一一对应,因此,根据虚拟串口目录,可以将从外部驱动器读取的数据保存 到存储单元1和存储单元2中。在如图8所示的实施例中,根据读请求为至少两个应用程 序分配共用的存储单元,采用另一种方式以实现应用程序、存储单元等之间的对应关系,同 样也可以实现将从外部驱动器读取的数据保存到存储单元中的目的,在此不再赘叙。 0080 读取模块206用于通过物理串口向外部驱动器读取对应于读请求的数据。在一实 施例中,读取模块206还包括判断单元和读取单元。判断单元用于根据已创建。

37、的串口监视 线程,判断物理串口是否有物理串口事件发生。当判断单元判断有物理串口事件发生时,读 取单元从物理串口获取数据。 0081 发送模块207用于根据虚拟串口节点同时向至少两个应用程序发送读取的数据。 具体来说,发送模块207根据虚拟串口目录中的虚拟串口节点,同时向至少两个应用程序 发送读取的数据。 0082 在另一实施例中,多串口驱动器装置200还可以包括第二判断模块208和第二执 行模块209,请参阅图10。第二判断模块208用于当应用程序关闭与其对应的虚拟串口时, 判断虚拟串口节点的个数是否等于零。当虚拟串口节点的个数不等于零时,第二执行模块 209销毁虚拟串口目录中与关闭虚拟串口的。

38、应用程序相对应的虚拟串口节点,若对每个应 用程序分别分配了各自对应的存储单元,则可以同时销毁与其对应的存储单元,也可以不 销毁与其对应的存储单元。当虚拟串口节点的个数等于零时,第二执行模块209关闭物理 串口,并退出串口监视线程。 0083 在又一实施例中,多串口驱动器装置200还可以包括第三判断模块210,请参阅图 11。第三判断模块210用于判断至少两个应用程序的读请求是否相同,即是否是向相同的 外部驱动器读取数据。当第三判断模块210判断上述读请求相同时(即至少两个应用程序 是向同一个外部驱动器读取数据),读取模块206通过物理串口对外部驱动器读数据,此时 物理串口只需向外部驱动器进行一。

39、次读取便可将需要的数据同时发送给对应的至少两个 应用程序,可大大提高本发明数据传输的效率。在本发明的又一实施例中,当第三判断模块 210判断上述读请求不相同(即多个应用程序分别向不同的外部驱动器读取数据)时,可将 接收到的读请求进行分组,相同的读请求分入相同的组,并对相同的读请求所对应的应用 说 明 书CN 103970584 A 10 7/7页 11 程序分配相同的存储单元,以便物理串口向外部驱动器读取的对应该读请求的数据可保存 在同一存储单元,随后同时向发送相同读请求的应用程序发送数据。 0084 另外,接收模块201还用于通过至少两个虚拟串口接收对应的至少两个应用程序 的写请求。此时,参。

40、阅图12,该装置还包括写入模块211,写入模块211用于通过物理串口 向外部驱动器写入数据。存储单元205保存将要写入外部驱动器中的数据。 0085 需要说明的是,在实际应用中,可以根据具体情况对上述实施方式中的模块或单 元进行增减,例如,第一判断模块、第二判断模块以及第三判断模块也可以整合为一个判断 模块;第一执行模块、第二执行模块以及第三执行模块也可以整合为一个执行模块,在此不 再进行赘叙。 0086 参阅图13,图13是本发明多串口驱动器装置又一实施方式的结构示意图,该装置 包括:处理器301和存储器302。 0087 处理器301用于通过至少两个虚拟串口接收对应的至少两个应用程序的读请。

41、求; 根据读请求为至少两个应用程序分配存储器302;通过物理串口对外部驱动器读数据,并 将读取的数据保存在存储器302中;以及同时向至少两个应用程序发送读取的数据。 0088 处理器301还用于为至少两个应用程序分别创建虚拟串口节点;将已创建的虚拟 串口节点添加到虚拟串口目录中,并计数虚拟串口节点的个数;存储器302还用于存储虚 拟串口目录和虚拟串口节点的个数。 0089 处理器301还用于根据虚拟串口目录,同时向至少两个应用程序发送读取的数 据。 0090 处理器301还用于根据读请求为至少两个应用程序分别分配对应的存储器302, 以便于根据虚拟串口目录,将从外部驱动器读取的数据保存到对应的。

42、存储器302中。 0091 参阅图14,图14是本发明车载多媒体装置一实施方式的结构示意图,车载多媒体 装置400包括物理串口401以及多串口驱动器402,其中,多串口驱动器402包括接收模块 21、创建模块22、读取模块23以及发送模块24,其中:接收模块21,用于通过至少两个虚拟 串口接收对应的至少两个应用程序的读请求;创建模块22,用于为至少两个应用程序分别 创建虚拟串口节点;读取模块23,用于通过物理串口向外部驱动器读取对应于读请求的数 据;以及发送模块24,用于根据虚拟串口节点同时向至少两个应用程序发送读取的数据。 0092 关于车载多媒体装置400中各模块的具体实现形式可参阅上述虚。

43、拟串口驱动器 装置各个实施方式中的相应描述,在此不再赘述。 0093 本发明多串口驱动器装置通过至少两个虚拟串口接收对应的至少两个应用程序 的读请求,根据读请求为至少两个应用程序分配存储单元;通过物理串口对外部驱动器读 数据,并将读取的数据保存在存储单元中;以及同时向至少两个应用程序发送读取的数据, 以便于至少两个应用程序从存储单元中获取读取的数据,通过这种方式,能够使至少两个 应用程序通过至少两个虚拟串口同时获取来自外部驱动器的数据。 0094 以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本 发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关。

44、的 技术领域,均同理包括在本发明的专利保护范围内。 说 明 书CN 103970584 A 11 1/9页 12 图1 说 明 书 附 图CN 103970584 A 12 2/9页 13 图2 说 明 书 附 图CN 103970584 A 13 3/9页 14 图3 说 明 书 附 图CN 103970584 A 14 4/9页 15 图4 图5 图6 说 明 书 附 图CN 103970584 A 15 5/9页 16 图7 图8 说 明 书 附 图CN 103970584 A 16 6/9页 17 图9 图10 说 明 书 附 图CN 103970584 A 17 7/9页 18 图11 说 明 书 附 图CN 103970584 A 18 8/9页 19 图12 图13 说 明 书 附 图CN 103970584 A 19 9/9页 20 图14 说 明 书 附 图CN 103970584 A 20 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1