dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1544回复:14

关于d12手册的问题(STALL)<特别是做过EZ-USB的>

楼主#
更多 发布于:2002-12-07 10:45
手册上说40H命令-45H命令是读最后处理状态寄存器,处理是读一个字节,可是我看一个EZ-USB的汇编例程是调用40H命令后,向D12写了一个字节的数据#00000001H啊...是因为EZ-USB和普通D12不一样么....那我要怎么做才能返回STALL指令阿...

还有一个fdH.好像是得到芯片ID的命令.不知道是不是啊.可是手册上没有啊??

[编辑 -  12/10/02 by  dacongtou]
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-09 17:30
没人理.自己顶.

我就是想知道如何教主机知道STALL了
lgasj
驱动中牛
驱动中牛
  • 注册日期2002-07-12
  • 最后登录2006-01-23
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-10 10:57
D12 和EZ-USB 是两种完全不同的器件吧?
D12 是PHILIPS 公司的USB接口芯片,
而EZ-USB是CYPRESS公司的USB单片机!
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-10 11:02
D12 和EZ-USB 是两种完全不同的器件吧?
D12 是PHILIPS 公司的USB接口芯片,
而EZ-USB是CYPRESS公司的USB单片机!


那请问我怎么通知主机STALL了啊??
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-10 17:21
我会一直顶到我明白为之的..... :mad:
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-11 09:52
registry里面有设置。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-11 10:58
registry里面有设置。


那需要我做什么呢..我不太明白你的意思?
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-11 23:10
sorry!应该是硬件的register里面一般都有设置相应的bit,这样就可以发stall。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-12 08:20
sorry!应该是硬件的register里面一般都有设置相应的bit,这样就可以发stall。



我还没说谢谢那..有什么可SORRY的 :P

可是我没找到D12哪里可以发啊....真有够笨
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-12-12 11:50
去看zboard的USBD12_SetEndpointStatus函数。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-12-12 13:54
  应该是端点停止掉后硬件自动发的吧,协议里说如果一个端点(端点0除外)被停止,那主机再发送in或out令牌过去该端点都会以stall应答,直到该端点的stall状态被清掉为止,主机可以通过发送ClearFeature()命令来清除端点的停止状态,设备方收到这个命令后首先禁止该端点然后再使能它。
  不知道可不可以直接在设备方先禁止再使能一个端点来清除它的stall状态而不通过主机的干预?
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-12-13 08:05
 应该是端点停止掉后硬件自动发的吧,协议里说如果一个端点(端点0除外)被停止,那主机再发送in或out令牌过去该端点都会以stall应答,直到该端点的stall状态被清掉为止,主机可以通过发送ClearFeature()命令来清除端点的停止状态,设备方收到这个命令后首先禁止该端点然后再使能它。
  不知道可不可以直接在设备方先禁止再使能一个端点来清除它的stall状态而不通过主机的干预?
 


如何令端点停止阿?还是它自动停止..那不是我们就什么都不用做了么
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-12-13 11:22
  当数据收发连续出现三次错误时硬件会自动停止该端点,接下来我们要做的就是解除这个端点的停止状态,用ClearFeature()命令是协议明确说明的,但是能否在设备方直接通过先禁止再使能端点的方法来清除端点的停止状态我没试过我也不知道,不过我在例子代码中看到设备方收到ClearFeature()命令后做的事情也就是先禁止再使能该端点,设备能不能自己判断并清除那要试了才知道。
  除了自动停止外,你也可以通过SetFeature( )命令来停止一个端点,详细情况协议9.4里有说明,你可以看一下然后试一下,如果试出来了别忘了告诉我一声哟,我也很想知道!
  另外判断端点是否停止在设备方可以通过读相应的寄存器,在主机方我就不知道通过什么方法判断了,还往知道的大虾不吝赐教!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-12-13 14:39
补充一点,用GetStatus()命令可以得到一个端点的‘halt’特性,参考一下9.4.5,里面有较详细的说明,不知道你现在做的怎么样了。
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-12-13 15:03
补充一点,用GetStatus()命令可以得到一个端点的‘halt’特性,参考一下9.4.5,里面有较详细的说明,不知道你现在做的怎么样了。


我还没到这一步呢..枚举总是通不过...急死了
游客

返回顶部