llss2007
驱动小牛
驱动小牛
  • 注册日期2007-09-25
  • 最后登录2010-03-16
  • 粉丝5
  • 关注0
  • 积分1001分
  • 威望123点
  • 贡献值0点
  • 好评度112点
  • 原创分0分
  • 专家分0分
阅读:1429回复:6

LLSS2007工作总结

楼主#
更多 发布于:2007-12-25 09:35
         开发驱动程序已经一年了,从毕业设计到研一下科锻炼一直在做USB2.0驱动程序,下面介绍一下我的工作,和大家交流一下,有不对的地方希望大家不吝赐教。
    我使用的开发板是广州致远电子的DP-1581, 它上面有USB控制芯片isp1581,单片机P89C60X2和数码管键盘控制芯片ZLG7289A.
       开发板的附带光盘中提供了单片机的固件源程序,我将它下载到其中直接使用,固件程序将isp1581端点1IN和端点1OUT定义为中断端点,将端点2 IN和端点2OUT定义为批量端点。
我使用VC++6.0和DRIVERSTUDIO3.1开发了端点1IN上的中断传输驱动和应用程序,来读取开发板 按键值;又开发了端点2OUT上的批量传输的驱动程序和应用程序,将应用程序中的数据传给开发板,让数码管显示。
    结果,中断传输的例子只能读取固定的值,批量传输的例子不能实现在数码管显示的功能。
    我用DRIVER MONITOR 监测批量传输的例子时发现:数据从应用程序缓冲区进入了驱动程序缓冲区,并且往总线上传。但就是不能让数码管显示。
附件名称/大小 下载次数 最后更新
12.14 TEST.rar (4275KB)  35 2007-12-25 09:38
在交流中前进
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-12-25 10:50
如果数据量较小,你可以用控制传输,用自定义请求Vendor Request。
llss2007
驱动小牛
驱动小牛
  • 注册日期2007-09-25
  • 最后登录2010-03-16
  • 粉丝5
  • 关注0
  • 积分1001分
  • 威望123点
  • 贡献值0点
  • 好评度112点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-12-25 14:27
谢谢你,我试试。
在交流中前进
llss2007
驱动小牛
驱动小牛
  • 注册日期2007-09-25
  • 最后登录2010-03-16
  • 粉丝5
  • 关注0
  • 积分1001分
  • 威望123点
  • 贡献值0点
  • 好评度112点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-12-25 15:53
请教一下:BuildVendorRequest()中第四个参数bRequest应该怎么设定呢?
在交流中前进
llss2007
驱动小牛
驱动小牛
  • 注册日期2007-09-25
  • 最后登录2010-03-16
  • 粉丝5
  • 关注0
  • 积分1001分
  • 威望123点
  • 贡献值0点
  • 好评度112点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-12-28 16:37
使用控制传输要调用BuildVendorRequest(),但是它的第四个参数bRequest我在参考书上查不到用哪个标准要求能实现传输较小的数据。
在交流中前进
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-12-29 14:25
vendor每个包最多64个字节数据。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-12-29 14:26
如果只有几个字节数据,你可以使用windex,wvalue来传下去
游客

返回顶部