阅读:1442回复:14
急:虚拟串口的问题!
win2000系统,DDK。
项目需求:原本两个串口应用程序,在同一时间只有一个能访问串口1。 现在要改造成两个应用程序可以同时访问串口1。 方案:设计两个虚拟串口,如com8,com9。 一个应用程序访问com8,另一个访问com9。 虚拟串口com8和com9对收到的数据打包,从实际的串口1发送出去。 问题:1、如何做虚拟串口?给个思路即可,有例子更好。 2、虚拟串口驱动程序如何调用串口1的发送和接收函数? 感谢万分! |
|
|
沙发#
发布于:2003-11-13 17:01
我给你个思路,不知行不行,用动态连接库控制实际串口1,两个应用程序对串口的访问在动态连接库中串行处理。
好处是不用虚拟串口驱动程序,效果一样,缺点是你必须要修改应用程序。 |
|
|
板凳#
发布于:2003-11-13 17:06
我给你个思路,不知行不行,用动态连接库控制实际串口1,两个应用程序对串口的访问在动态连接库中串行处理。 动态连接库好象是进程独立啊?看来不行,呵呵。 :D |
|
|
地板#
发布于:2003-11-13 17:07
我给你个思路,不知行不行,用动态连接库控制实际串口1,两个应用程序对串口的访问在动态连接库中串行处理。 谢谢! 但应用程序不能修改。再给点意见,谢谢! |
|
|
地下室#
发布于:2003-11-13 18:45
你需要做两个驱动,一个模拟bus驱动。一个是模拟串口驱动。你可以搜索我以前发的贴子,问过一个usb转串口的问题,思路是一样的。
|
|
|
5楼#
发布于:2003-11-13 21:55
如楼上所说,比较麻烦的。一个bus driver,枚举你的com口,一个com的driver。
能在应用解决最好了。 :D比如hook |
|
6楼#
发布于:2003-11-14 10:12
你需要做两个驱动,一个模拟bus驱动。一个是模拟串口驱动。你可以搜索我以前发的贴子,问过一个usb转串口的问题,思路是一样的。 Bus驱动是什么东西? 我的底子很浅,没办法,就给24天做这个,以前没用过DDK. |
|
|
7楼#
发布于:2003-11-14 10:14
如楼上所说,比较麻烦的。一个bus driver,枚举你的com口,一个com的driver。 应用程序是不能动的,都是通用的工具。 |
|
|
8楼#
发布于:2003-11-14 10:33
我下载了ircomm2k的源代码,里面好像就是有虚拟串口和bridge,
看样子要好好研究这个东西了。 不只能否一个月搞定,还要写文档,烦。 |
|
|
9楼#
发布于:2003-11-17 16:26
你需要做两个驱动,一个模拟bus驱动。一个是模拟串口驱动。你可以搜索我以前发的贴子,问过一个usb转串口的问题,思路是一样的。 好像不用作Bus驱动,我直接在虚拟串口驱动里调用真正的串口驱动即可。 |
|
|
10楼#
发布于:2003-11-17 16:35
难道你是创建device object,让它的symbolic name是COM8、COM9,然后实际去调真正的COM驱动? :D
|
|
11楼#
发布于:2003-11-17 16:43
难道你是创建device object,让它的symbolic name是COM8、COM9,然后实际去调真正的COM驱动? :D 我用zwCreateFile等不可以吗? |
|
|
12楼#
发布于:2003-11-17 16:47
我想把从com8,com9来的数据存储起来,然后分别打不同的包,
再通过com1发下去,这样就实现了两个应用程序公用一个com1同时 发送接收数据。 有什么问题吗?如有一定告之,将万分感谢!这个项目不能拖。 |
|
|
13楼#
发布于:2003-11-17 17:05
你的COM8是怎么实现的?是表现为一个COM设备,还是只是一个普通device object,不过名字“恰好”是COM8? :D
|
|
14楼#
发布于:2003-11-17 17:09
你的COM8是怎么实现的?是表现为一个COM设备,还是只是一个普通device object,不过名字“恰好”是COM8? :D 表现为一个COM设备。主要是参造ircomm2k作的,我现在只是做试验,可以虚拟一个com口。 |
|
|