最近学习了一些WDM驱动的知识,弄了下虚拟串口驱动。虚拟串口就是当计算机上没有相应的串口硬件,通过一个虚拟的串口驱动程序,在计算机上虚拟出若干个串口,这些虚拟出来的串口对于应用层来说就好象是真的有这些...
最近学习了一些WDM驱动的知识,弄了下虚拟串口驱动。虚拟串口就是当计算机上没有相应的串口硬件,通过一个虚拟的串口驱动程序,在计算机上虚拟出若干个串口,这些虚拟出来的串口对于应用层来说就好象是真的有这些串口硬件一样。一般计算机上只有1到2个串口,也可以买几个USB转串口的设备,或者是PCI串口卡,通过这样的途径也只能增加几个串口,这并不能满足一些工业控制行业的需求,可能一台监控计算机上需要同时管理几十台串口设备。通过虚拟的串口加上串口服务器硬件,之间通过TCP/IP把串口数据进行透明传输,应该是一种很好的解决方案,这样就可以实现原先的用户管理串口设备软件的顺利平移。本文对我最近学习情况做一个总结。
先讲下驱动的开发。找资料的过程也是想当辛苦的,这里推荐一本WINDOWS驱动开发的书,《Programming the Microsoft Driver Model》,Micorosoft Press出版,作者是Walter Oney,网上很多地方都有下载。在WINDOWS平台开发驱动有WINDOWS提供的驱动开发包DDK可用,里面有很多驱动的例子,我用的是WINDOWS 2003 SP1 DDK包,这个在网上也有很多地方可以下载。如果是一个开发驱动的新手,先可以看看与WINDOWS驱动开发的书籍,学习一下驱动开发的理论知识,然后进行实践,看些DDK包里面的代码,进行编译调试。