nak与timeout 如何去区分

[复制链接]
2140|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

粉丝
快速回复 在线客服 返回列表 返回顶部