基于Windows XP下的USB驱动开发总结

最近一直研究USB驱动开发,看了有关USB的协议,那可是真多呀,可以让人看到吐的感觉。最关键的是对于我们的开发需要东西,少之甚少。那么我们究竟应该如何开发USB驱动呢?我谈谈我个人的开发经历和感受。有错的地方请大家指正。
      首先开发USB设备驱动,我们应该知道在windows XP下USB驱动windows给我们做了哪些已有的工作,我们驱动开发人员需要做哪些工作。经过查阅资料,在windows XP下开发USB驱动我总结出有两种可选方案,我对这两种方案都进行了试验,各有优缺点。我个人感觉针对这种优缺点,应该说是应用的场合不一样而定的。第一种方案:就是自己开发一套USB驱动程序,根据windows提供的硬件层,我们驱动开发人员在windows下开发任何驱动程序也只能是开发功能层。但是需要了解windows的USB通信机制。实现复杂性有难度。第二种方案:利用HID类开发驱动,HID(人机交互设备)这个类提供了有关人机交互的驱动程序。例如我们的鼠标、键盘看上去不用安装任何驱动,windows就能识别并能使用。这实质是利用windows提供的HID驱动程序,但是这种HID类没有USB块传输方式,因此只能用于低速设备。理论上是64k/s。
      第二步,我们就应该了解硬件的固化程序怎么写了,固化程序的开发,就说对芯片的开发了,如摄像采集卡。我们用采集芯片采集到的数据,通过我们开发的固化程序,通过USB驱动传输到windows上层应用程序。如何写固化程序呢?我是在基于单片机51上开发的固化程序。将采集到的数据通过USB芯片传输到上层。
     第三步:就是在windows应用程序中获取固化程序传输 上来的数据啦。那么这层的调用,完全是基于windows编程的。不需要了解底层设备的运行机制,只需要知道USB设备调用函数就可以编写程序。在程序中我们需要解析上上来的数据报。然后将数据显示出来。
     总结:上面就是USB开发的三个步骤。也是开发的方向。是我自己在开发过程中总结出来的,希望与同行共勉。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值