请教一个stm usb 控制传输的问题

2019-12-26 18:53发布

usb收到GetReport后,我在准备数据,然后返回了一个USB_NOT_READY。
怎么样可以当我数据准备好的时候,直接把数据发送,不需要再等待下一个GetReport呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
hyper320
1楼-- · 2019-12-27 20:34
這是控制傳輸,不是中斷傳輸,隨時可傳,只受hid封包數限制吧,如果是全速,傳輸速度可以到64KB/S.
hyper320
2楼-- · 2019-12-27 21:35
至於IN封包回送電腦端,以協議來說,足足可卡2,3秒沒問題,實際我也試過(也是剛好程式有BUG才發現可以卡這麼久,哈哈),你的運算應該不會需要這麼久吧?
sujieww
3楼-- · 2019-12-28 01:35
hyper320 发表于 2017-7-26 00:20
至於IN封包回送電腦端,以協議來說,足足可卡2,3秒沒問題,實際我也試過(也是剛好程式有BUG才發現可以卡這麼久 ...

需要等待键盘的返回,不是需要准备那么的数据。
那怎么样可以卡2,3秒呢?
我试的都是不回NAK的话,就直接失败了。。
hyper320
4楼-- · 2019-12-28 07:00
 精彩回答 2  元偷偷看……
sujieww
5楼-- · 2019-12-28 08:22
hyper320 发表于 2017-7-26 12:35
當然要回NAK阿,之後PC端會一直要求數據阿,如果一直回NAK太久都沒返回數據,電腦端就會出現錯誤,這段時間有好 ...

那我应该怎么样在回NAK后,再把数据返回给PC?
现在是我回了NAK后,PC端就不理我,然后我只能在他5s后给下一个GETREPORT的时候,我才能返回数据了。
或者是我传递数据的方式有问题?
刚接触这块,还是不太了解。
hyper320
6楼-- · 2019-12-28 12:49
usb是一個標準的協議,不可能發生這樣的事,肯定是程式有問題,看過usb協議分析儀的資料嗎?

一周热门 更多>