yan_hg
驱动牛犊
驱动牛犊
  • 注册日期2006-10-20
  • 最后登录2008-06-29
  • 粉丝0
  • 关注0
  • 积分385分
  • 威望47点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
阅读:1496回复:7

虚拟串口驱动程序求教

楼主#
更多 发布于:2007-05-11 10:33
  我做了一块pci串口卡,插在主机的pci插槽上,外面引出8个串口,已经作好了,现在驱动程序也调通了.但只能通过api接口调用.现在我想把它在硬件管理器里映射为8个串口,以后别的程序可以把它们跟主机串口一样使用,比如说可以直接用串口调试助手打开这些串口并读写数据,该怎么做呢??能给些思路和例子程序吗??感激不尽!!
2928708
驱动牛犊
驱动牛犊
  • 注册日期2007-05-02
  • 最后登录2008-06-03
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-05-11 10:40
你的串口的驱动程序是完全自己写的还是借鉴的什么现成的例子?能介绍一下吗?

你的问题可能设置一下注册表就可以了,具体我也不了解。
我学驱动编程还不到一周,请多指教。
yan_hg
驱动牛犊
驱动牛犊
  • 注册日期2006-10-20
  • 最后登录2008-06-29
  • 粉丝0
  • 关注0
  • 积分385分
  • 威望47点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-05-11 13:52
我的串口卡的驱动程序是我自己写的,现在只是一个pci驱动程序啊,装好了以后系统只认识这是一块pci卡,要进行串口读写需要我提供api接口.
我就想再做个虚拟串口驱动,等驱动装好后我的pci 卡在硬件管理器里显示的是多了8个串口,用户不需要我的api接口,直接就可以像正常的主机串口一样使用.还要请教各位,请指点一下,谢谢!!!!
fanzi
驱动小牛
驱动小牛
  • 注册日期2004-12-09
  • 最后登录2013-12-19
  • 粉丝1
  • 关注0
  • 积分1004分
  • 威望754点
  • 贡献值0点
  • 好评度93点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-05-13 14:51
不太清除PCI卡和你卡上的串口是如何通信的,PCI卡应该有BAR0,BAR1,...BARN.它们映射板子上的内存和IO,是通过这个访问串口的吗?PCI卡上有中断线吗?坛子里有个虚拟串口的程序,我也正在研究,大概是用DDK里面提供的toaster总线虚拟出一个设备,会产生pdo,然后用那个虚拟串口生成fdo。
张帆的内核学习论坛 http://bbs.kerneldev.com
yan_hg
驱动牛犊
驱动牛犊
  • 注册日期2006-10-20
  • 最后登录2008-06-29
  • 粉丝0
  • 关注0
  • 积分385分
  • 威望47点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-05-14 10:30
串口是这块pci卡上与外部的接口.
谢谢了!!!
我自己琢磨琢磨
yan_hg
驱动牛犊
驱动牛犊
  • 注册日期2006-10-20
  • 最后登录2008-06-29
  • 粉丝0
  • 关注0
  • 积分385分
  • 威望47点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-05-14 15:13
现在能添加8个虚拟串口了,串口调试助手能打开,但是报错 :  SetCommTimeouts() Failed........
因为我还没有添加对应的 irp 处理函数,请问都需要添加那些呢,处理这些 irp 时要按照什么规则?
需要做过滤驱动吗?

请指点一下,有好的建议我一定高分相送
yan_hg
驱动牛犊
驱动牛犊
  • 注册日期2006-10-20
  • 最后登录2008-06-29
  • 粉丝0
  • 关注0
  • 积分385分
  • 威望47点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-05-14 15:15
请问怎么散分啊 ??????????
我还不会呢??   请指教
fanzi
驱动小牛
驱动小牛
  • 注册日期2004-12-09
  • 最后登录2013-12-19
  • 粉丝1
  • 关注0
  • 积分1004分
  • 威望754点
  • 贡献值0点
  • 好评度93点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-05-25 09:45
如果是SetCommTimeouts() Failed,估计是IOCTL_SERIAL_SET_TIMEOUTS没有设置对
张帆的内核学习论坛 http://bbs.kerneldev.com
游客

返回顶部