2012-05-30 132 views
1

我無法理解如何溝通我的android應用程序通過串行連接與自定義板通信。 Android軟件支持USB主機模式。Android平板電腦到串行通信

我的Android 3.1+平板電腦作爲USB主機< -----字節的數據包----->定製電路板在9600波特率

這就是我理解有關設置我的應用程序:

  1. 使用USB管理器我找到我的USB設備(自定義板)
  2. 找到我的USB設備後,我設置了一個USBInterface進行通信。
  3. 使用USBInterface我需要找到USBEndpoint(可以告訴我那是什麼?)
  4. 我現在可以使用USBDeviceConnection發送和接收信息。

任何幫助理解過程都有幫助。謝謝

回答

0

將端點視爲具有已定義行爲的虛擬管道,類似於套接字。

USB CDC設備端點由控制端點,批量IN,批量OUT和「中斷」端點組成。控制端點是雙向的,用於配置連接。一旦連接配置完成,BULK IN就是平板電腦接收數據的位置(認爲是RX),BULK OUT將是平板電腦發送數據的位置(認爲TX)。中斷端點是IN-ONLY,並將通知平板電腦發生的任何狀態變化。

端點位置和功能由設備在其USB接口描述符中指定。 Host協議棧將檢索該描述符並使其可供應用層使用。

您將使用控制端點配置項目,如波特率,奇偶校驗,停止位等

+0

另一個問題。只有當我們找到設備時才需要生成一次端點?或者他們需要不斷爲每次發送和接收生成。 (對不起,你的文章對我來說有點混亂) – Dogz1

+0

在編輯中增加了一點。基於其他USB堆棧的經驗,我希望一旦你聲明一個接口(所有端點)他們的你的直到釋放接口或連接終止。 – skitheo

+0

好的非常感謝 – Dogz1

相關問題