huqiaohui
驱动牛犊
驱动牛犊
  • 注册日期2003-07-04
  • 最后登录2005-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1449回复:3

CYPRESS的637CXX的端点1和端点2什么时候产生中断?

楼主#
更多 发布于:2004-10-21 15:03
我看说明书有很多种情况,那么该怎样区别呢?
huqiaohui
驱动牛犊
驱动牛犊
  • 注册日期2003-07-04
  • 最后登录2005-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-10-25 09:55
谢谢您的答复,我还想问一下,如果我用端点1同时收发数据,如果都用中断方式的话,那我发送出数据和收到数据时都会产生中断,这样在中断里该如何区分呢?
talkxyj
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2009-08-16
  • 粉丝1
  • 关注1
  • 积分12分
  • 威望21点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-10-22 05:29
纠正:
EP1的发生时机:
on the host’s ACK during an IN,,在设备受到host的ACK之后;
如果enp1的模式设置为了nakin,则发生在设备发送完nak之后。
talkxyj
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2009-08-16
  • 粉丝1
  • 关注1
  • 积分12分
  • 威望21点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-10-22 05:20
?CY7C63xx?
1.不同模式的响应
datasheet讲的很清楚,不过第一次看的话可能不会太明白。
从datasheet(可能我们的版本不一样)第39页开始的
"Table 22-3. Details of Modes for Differing Traffic conditions"
明确讲述了各种"End Point Mode"下,对数据包产生的响应.
2.中断发生
"endpoint. A USB endpoint interrupt is generated after the USB host writes to a USB endpoint FIFO or after the USB controller sends a packet to the USB host."
就是说:
对于ep1(IN),发生在设备发送完握手(ack或nak)后。
若为ack,产生中断时,数据已经发完了;为nak则表示告诉host没有数据可用。可在中断程序开始的地方来确定是ack还是nak中断(读EP1ModeRegister来确认);

对于ep2(OUT),发生中断时,如果应答的握手为ack,则数据已经在buff里了;
若为nak,则你的ep2还没准备好,做好处理就是了。
你只要根据需要确认产生的是否为ACK中断(读EP2ModeRegister),和数据是否有效(在EP2CounterRegister中)。


游客

返回顶部