zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1450回复:12

用什么方式把设备状态返回给主机

楼主#
更多 发布于:2003-03-11 08:29
大家好:
   我现在要实现把设备上产生的一个状态信号告诉主机,用什么办法实现呢?usb接口中我采用了gpif auto模式,对与设备上产生的rdy信号如何让主机知道啊?谢谢大家的帮助
drivermaster
驱动中牛
驱动中牛
  • 注册日期2003-02-26
  • 最后登录2004-06-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-12 11:11
最简单的方式是从fireware and programme 入手,driver还是小改为好,除非特许要求
菩提本无树,明镜亦非台, 本来无一物,何处染尘埃? 身似菩提树,心如明镜台, 愿将勤拂拭,勿使染尘埃。
xyzxian
驱动牛犊
驱动牛犊
  • 注册日期2002-02-19
  • 最后登录2007-06-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-03-12 10:02
你误解我的意思了,我的意思是需要特别通知driver的
状态,我们最好用interrupt,然后在driver中build 一个
Urb去取interrupt的内容就OK了...(正如你所说,这个urb结构是现成的,我们仅需要用UsbBuildInterruptOrBulkTransferRequest给我们分配建立的urb初始化为URB_BULK_OR_INTERRUPT_TRANSFER urb,然后塞给bus driver就OK了)
金用驱动开发
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-12 09:49
一般情况下的rdy信号是不需要特别通知driver的,估摸个
大致时间或设置个事件等待机制估计都可以满足需求。
但是如果你有一些特殊的需要要主动通知driver,你最好
还是看USB,设置一个interrupt pipe,driver build a URB_BULK_OR_INTERRUPT_TRANSFER urb with pipe index, read interrupt buffer is OK!!!!!!!



你的意思是说在驱动程序中增加一个URB_BULK_OR_INTERRUPT
_TRANSFER urb吗?但是一般的驱动程序中已经有了,有必要多加一个吗我觉得只要在固件程序和应用程序中加一点代码,就OK了,不知道你的意见如何,大家讨论一下! ;)
xyzxian
驱动牛犊
驱动牛犊
  • 注册日期2002-02-19
  • 最后登录2007-06-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-03-11 20:21
一般情况下的rdy信号是不需要特别通知driver的,估摸个
大致时间或设置个事件等待机制估计都可以满足需求。
但是如果你有一些特殊的需要要主动通知driver,你最好
还是看USB,设置一个interrupt pipe,driver build a URB_BULK_OR_INTERRUPT_TRANSFER urb with pipe index, read interrupt buffer is OK!!!!!!!
金用驱动开发
silan
驱动小牛
驱动小牛
  • 注册日期2002-02-04
  • 最后登录2004-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-03-11 20:06
把状态变成数据,用bulk in读回来
/***************************/ 认认真真学好三个代表,踏踏实实做好无产阶级接班人。 /***************************/
mcu520
驱动牛犊
驱动牛犊
  • 注册日期2003-03-04
  • 最后登录2004-10-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-03-11 19:19
我用API,get information



bool DeviceIoControl(
  (handle)  hfile,
   FSCTL_GET_HFS_INFORMATION,
   NULL,
   0,
   (LPVOID) LPOUTBUFFER,
   (DWORD) NOUTBUFFERSIZE,
   (LPDWORD) LPBYTESRETURNED,
   (LPOVERLAPPED)
   );

HELP  FROM  \"MSDN\"!!!




zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-03-11 14:20
rimrock
 我现在用的是批量管道,对于中断管道该如何设置我不太清楚,能详细的说一下吗?我的qq 107947912
rimrock
驱动小牛
驱动小牛
  • 注册日期2002-10-15
  • 最后登录2004-10-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-03-11 12:33
在usb段设置一个interrupt模式的endpoint,然后cpu接管外部中断。当有事件产生事,就用这个endpoint相助计发送数据。
zyz1201
驱动牛犊
驱动牛犊
  • 注册日期2002-09-30
  • 最后登录2003-05-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-03-11 09:43
呵呵
谁能解决了zyz1974提出的问题,我把我的分全给你啊,我也解决不了这个问题
zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-03-11 09:10
没人能回答吗?
zyz1201
驱动牛犊
驱动牛犊
  • 注册日期2002-09-30
  • 最后登录2003-05-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-03-11 08:46
hi
我也遇到该问题,但是还没有解决,正在看,大家互相交流啊
zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-03-11 08:33
大家出出主意吧,我现在正被这个问题所困扰啊,整个固件就要完成了,却被这一点难住了。
游客

返回顶部