only8008
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2004-12-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1135回复:7

请问:怎样判断端点2是否受到主机发出的IN操作??

楼主#
更多 发布于:2003-12-15 10:07
如题
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-15 10:28
端点2的IN中断
mailxufeng
驱动牛犊
驱动牛犊
  • 注册日期2003-10-15
  • 最后登录2005-03-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-15 11:00
补充:若端点2的IN缓冲区为空,即使主机来读也不会产生IN中断。
only8008
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2004-12-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-12-15 11:11
我觉得IN中断不是,我是说怎样知道来IN了,进入中断是在来IN之后。

正如MAILXUFENG所说,我该怎样判断出现了这样的情况?
mailxufeng
驱动牛犊
驱动牛犊
  • 注册日期2003-10-15
  • 最后登录2005-03-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-12-15 11:26
呵呵,我用PHILIP的D12驱动,然后主机对端点2发读命令(此时IN缓冲区为空),用BUSHOUND监测什么都没有,然后用串行口调试,发现端点0竟然来了个SET FEATURE包,我也想知道你问题的答案,所以顶一下啦。
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-12-15 11:40
信号线上会有变化的,不过软件要测就不知道了。有什么作用吗?
au2o3t
驱动牛犊
驱动牛犊
  • 注册日期2002-12-27
  • 最后登录2004-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-12-15 11:42
IN中断是主机读到数据,发出ACK应答时设备发给mcu的。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-12-15 13:14
如果你的芯片支持nak中断,那么第一个in中断肯定是nak产生的,因为此时你的端点是空的,设备硬件会应答主机nak。

如果你的芯片没有nak中断,那么就只好先往端点里填充一个包的数据,当主机收数据时会把这个包收走,然后产生ack中断,这个可以被认为是第一个in中断。

如果你不想先往缓冲区里添数据,那可以用vendor request来通知设备开始传输,当设备收到特定的vendor request后开始往端点填充数据,而主机方发送完这个vendor request后开始读取数据。
游客

返回顶部