阅读:1877回复:7
请问如何开发串口驱动程序?谢谢!!
我手上有块PCI卡,里面有两块OX16PCI954芯片,每块芯片又含有4个I/O口。我写个驱动(用DRIVERSTUDIO写的),安装完驱动后,硬件属性里只能看到那块卡的驱动属性,而看不到芯片里的那4个独立的I/O口。请问各位高手,要如何编写驱动才能把芯片里的各个I/O口都独立出来,应用程序可以单独跟某个I/O口通信呢?谢谢!!
|
|
沙发#
发布于:2005-05-30 10:21
下图是原卡的驱动程序装完后硬件属性里显示的,在端口中新添了8个COM口。而我自己写的驱动只能实现在属性里添加两块多功能卡而已,无法把那8个端口也区分出来可以单独通信。请高手赐教!谢谢!! :)
|
|
板凳#
发布于:2005-05-30 16:07
各位高手,快进来看看我的帖子帮忙解答一下吧,谢谢!!
急急急急!!!!!! |
|
地板#
发布于:2005-05-31 09:13
管理员快进来看看吧,最近论坛怎么这么冷清啊 :(
|
|
地下室#
发布于:2005-06-03 13:00
串口设备和多串口卡要有各自的*.inf文件.但可以用一个*.sys驱动
安装最好是自己写安装程序,这样可以确定每个串口的地址,串口号.把这些信息保存在*.inf里. 安装时自动保存到注册表里. ddk里有例子的 8个串口则要安装8次串口设备.每次的硬件ID都要不同 我写过网络串口设备的驱动,就是在安装每个串口前,修改*.inf文件实现多个串口安装的. 在AddDevice()里要读注册表看当前是安装什么设备: 是多串口卡还是单个串口设备.还有串口号也要读注册表的.串口驱动还要把自己的串口号写入注册表里:HKEY_LOCAL_MACHINE, \"Hardware\\\\DeviceMap\\\\SerialComm\". 让超级终端,modem拨号等软件知道有这个串口 |
|
5楼#
发布于:2005-06-03 15:42
谢谢qinxg!!
ddk里的例子叫什么名字??能否告知我一下吗? 最近为了这个问题郁闷了好久 :( 真是太感谢qinxg您的回答!顺便再问一下AddDevice()里的主要代码要怎么写?谢先! |
|
6楼#
发布于:2005-06-06 10:44
DDK的例子就是MS的串口的驱动程序. serial
写的很复杂.我花了很长时间才慢慢看懂. 主要是它的DeviceExtension有100多个成员. 在AddDevice()里要创建串口设备. 读注册表后创建串口符号\'COMXX\'. 还要初始化各种队列,变量等等. |
|
7楼#
发布于:2005-06-07 14:43
谢谢qinxg!!我先自己琢磨琢磨,不懂的再向您请教。 ;)
|
|