2013-04-27 4 views
0

Я работаю над последовательностью USB. Я хочу сделать Nexus для чтения данных с USB.Чтение данных с последовательного порта USB с помощью android

Я нашел пример проекта для этого. here

Итак, я клонировал проект и соблюдал затмение. Все работает хорошо. Я могу установить и запустить приложение. Приложение может найти мой USB, когда он подключен к Nexus, используя намерение.

Однако я не могу читать и писать данные. Код выглядит следующим образом:

protected void onResume() { 
    super.onResume(); 
    mSerialDevice = UsbSerialProber.acquire(mUsbManager); 
    Log.d(TAG, "Resumed, mSerialDevice=" + mSerialDevice); 

    if (mSerialDevice == null) { 
     mTitleTextView.setText(String.valueOf(mSerialDevice)); 
    } 
    else{ 
     ... 
     ... 
    } 
    .... 
} 

Я прочитал весь код. Я обнаружил, что «mSerialDevice» всегда имеет значение null. На самом деле, петля else помещает инструкцию для чтения данных. Я пытался отлаживать, но я не могу найти причин, по которым он равен нулю. Я нужна помощь .. :(

благодарственное заранее!

ответ

0

Теперь я нашел способ решить эту проблему. На самом деле, я действительно не знаю, почему он является недействительным, но я изменил способ сделать это используя следующий код:

HashMap<String, UsbDevice> deviceList = mUsbManager.getDeviceList(); 
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator(); 
UsbDevice device = null; 
while (deviceIterator.hasNext()) { 
    ... 
} 

Я могу читать Vendor-идентификатор, продукт-идентификатор, и т.д. Тем не менее, я до сих пор не знаю, как читать папки, в которых мой USB Если кто-нибудь знает, что мне нужно. вы помогаете.

Thank you.