打印

nak与timeout 如何去区分

[复制链接]
1236|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zxl6534|  楼主 | 2012-2-17 13:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近写USB上位机驱动,发现当USB从机(stm32单片机)相应的USB端口设置为NAK时上位机(PC)底层函数返回给我的总是TIME OUT,难道不应该是NAK么,这样从机返回NAK和什么都不返回上位机该如何去区分呢?谢谢
沙发
香水城| | 2012-2-17 13:52 | 只看该作者
没有做过上位机程序,但从原理上讲:下位机返回NAK时,上位机底层函数直接处理,不需要返回给用户的驱动,但是如果NAK时间太长,就需要用户驱动干预,所以你只看到TIMEOUT但看不到NAK。

使用特权

评论回复
板凳
zxl6534|  楼主 | 2012-2-17 14:05 | 只看该作者
有这种可能,那一般超时时间设定为多少比较合适呢?底层函数如果接受到NAK会把完整的IN令牌再重新发送一次吗?谢谢香主

使用特权

评论回复
地板
香水城| | 2012-2-17 15:27 | 只看该作者
1)超时时间需要按照你的应用环境自己定。
2)底层函数肯定会处理NAK并进行重新传输,否则就说不通了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

26

帖子

0

粉丝