eatablecode
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2002-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2079回复:14

about虚拟串口设备,紧急!

楼主#
更多 发布于:2002-04-16 17:22
目的:
能在NT下虚拟一个串口设备,该设备不需要对应实际的物理设备,应用程序通过该串口发送的内容能被截获,然后能向应用程序发送我希望的内容。
一句话,让应用程序认为该设备存在并能正常通信,并且回去的内容完全由我设定。

因为来不及自己写,所以希望能得到类似功能的源码。如果哪位高手知道比较简便的方法,也望不吝指教。
万分感谢!

最新喜欢:

wubuywubuy
大胆假设,小心求[color=red]分[/color]
KungFu
驱动大牛
驱动大牛
  • 注册日期2001-09-27
  • 最后登录2008-04-08
  • 粉丝0
  • 关注0
  • 积分221分
  • 威望24点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-17 12:28
目的:
能在NT下虚拟一个串口设备,该设备不需要对应实际的物理设备,应用程序通过该串口发送的内容能被截获,然后能向应用程序发送我希望的内容。
一句话,让应用程序认为该设备存在并能正常通信,并且回去的内容完全由我设定。

因为来不及自己写,所以希望能得到类似功能的源码。如果哪位高手知道比较简便的方法,也望不吝指教。
万分感谢!
 

既然没有实际的物理设备,为什么要虚拟一个串口?依照你的意思,干脆作两个程序而已阿,其中的一个响应另一个的请求而已。
我不写驱动好多年
eatablecode
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2002-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-17 12:53

目的在于把应用程序(无源码)骗过去
交叉调试器的命令和MONITOR不兼容,所以需要进行命令转换
大胆假设,小心求[color=red]分[/color]
eastman
驱动小牛
驱动小牛
  • 注册日期2001-12-02
  • 最后登录2004-02-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-17 18:04
和虚拟光驱差不多对吧?
李问
OS_Dev
驱动中牛
驱动中牛
  • 注册日期2002-01-09
  • 最后登录2004-03-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-17 21:46
简单,我做了一个,不过是用一个usb来虚拟串口(当然是有硬件的)

方法是,你看看ddk里的一个serial的程序,windows自己用的差不多就是这个了。你生成一个设备对象,给他一个程序可以访问的名字,然后,你需要在注册标中增加一些项,以便串口属性对话框可以显示它。怎么写create read write不用说了吧,关键是你要实现他的那些ioctl,这样就可以骗应用程序了
I know nothing!
eatablecode
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2002-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-18 18:29
有没有办法不占用实际硬件,因为应用程序(DEBUGER)有四个之多 :(
大胆假设,小心求[color=red]分[/color]
OS_Dev
驱动中牛
驱动中牛
  • 注册日期2002-01-09
  • 最后登录2004-03-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-04-19 08:42
当然可以,你收到数据之后,自己处理掉就行了,不要向什么设备发送,不就模拟出来了吗。应用只知道他发了多少数据,收到多少数据,却不知道数据是从哪里来的。这不就是虚拟了???

关键是要实现那些ioctl,因为上层(比如serialenum或应用程序)要查询一些状态
I know nothing!
eatablecode
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2002-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-04-19 11:02
试试新头像 :D
大胆假设,小心求[color=red]分[/color]
eatablecode
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2002-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-04-19 11:07
看不到,我再试!
大胆假设,小心求[color=red]分[/color]
OS_Dev
驱动中牛
驱动中牛
  • 注册日期2002-01-09
  • 最后登录2004-03-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-04-19 11:10
别试了,可吃的代码。

你做出来了吗?有什么心得,分享一下
I know nothing!
eatablecode
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2002-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-04-19 11:16
我是做嵌入式的,对windows的driver一窍不通,现学时间上来不及。
目前的解决方案是在截获串口通讯的API,然后在API一级进行虚拟。虽然骗得很辛苦,还是算做出来了。
不过还是谢谢各位。散分啦,快接住! :D :D :D
大胆假设,小心求[color=red]分[/color]
OS_Dev
驱动中牛
驱动中牛
  • 注册日期2002-01-09
  • 最后登录2004-03-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-04-19 11:20
可以吃的代码,你好。
既然你做嵌入式,就不好意思问你点问题了。
我一直想做嵌入式,学了一阵linux看了一阵的ppc资料,就是感觉不得要领,你给提提好吗。

my email is yuan3rd@21cn.com
I know nothing!
eatablecode
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2002-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-04-19 11:27
好慢的论坛。。内容还是不错

实际做点东西吧。
我也不好给你什么具体的建议。我现在的公司在做的主要是嵌入式的OS和开发工具,应用做的不多
大胆假设,小心求[color=red]分[/color]
OS_Dev
驱动中牛
驱动中牛
  • 注册日期2002-01-09
  • 最后登录2004-03-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-04-19 11:38
做什么啊,总的有个目标把
I know nothing!
eatablecode
驱动牛犊
驱动牛犊
  • 注册日期2002-04-16
  • 最后登录2002-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-04-19 11:58

比如做个BSP什么的
我觉得还是到某个公司参与实际的项目更好,或者参与一些开放的项目。
到嵌入式系统开发论坛下面去看看那个OpenArm计划
大胆假设,小心求[color=red]分[/color]
游客

返回顶部