2013-04-02 43 views
1

我想獲得一個Android USB主機程序來連接到一個有效的USB串行轉換器的奴隸。當沒有數據可用時,從設備設置爲返回NAK,並且我正在使用IN端點上的queue()和requestWait()作爲onAnimationUpdate監聽器的一部分來查詢是否存在任何IN數據。然而,系統卡在requestWait()中 - 大概等待直到它對排隊的請求得到確定的回覆。
我會認爲NAK將被視爲奴隸已經對請求作出反應並且返回空結果或類似結果的指示。但是,我無法找到關於此的詳細文檔。任何人都可以在正確的方向指出我的建議嗎?USB請求如何響應從設備的NAK?

回答

1

我有點解決了這個問題 - 但不是很滿意。 似乎Android requestWait()函數不能識別對IN的NAK響應,指示「沒有數據可用」(我本以爲它會返回null,因爲這會得到正確的結果),而只是簡單地坐着等待有一些數據可用 - 鎖定系統。 我通過返回一個來自我的設備的「NULL」消息來解決這個問題,該消息由一個單字節的ASCII NAK單字節答覆組成。這是有效的,因爲我使用ASCII進行消息編碼。