libusb для Android с использованием open2 (, int fd)

Я скомпилировал модифицированную версию libusb для использования на устройствах Android из

https://github.com/martinmarinov/rtl_tcp_andro-/blob/master/jni/libusb-andro/README

Есть ли какой-нибудь пример того, как использовать эту конкретную функцию в программе на C?

  1. Какие заголовки нужно включить, чтобы эта библиотека работала.
  2. Любые примеры использования open2 (, int fd) в программе на C

person user2249279    schedule 09.06.2014    source источник


Ответы (1)


Это не новая библиотека. Только модифицированная версия libusb. Итак, здесь применимы все команды libusb. Единственное отличие будет заключаться в libusb_open2, который вам придется использовать вместо libusb_open. В файле libusb / libusb.h виден прототип libusb_open2.

int LIBUSB_CALL libusb_open2(libusb_device *dev, libusb_device_handle **handle, int fd);

Теперь, для использования libusb на android, шаги будут такими.

  1. Сначала получите разрешения для интересующего вас USB-устройства. Подробности приведены здесь: http://developer.android.com/guide/topics/connectivity/usb/host.html.

  2. Затем извлеките дескриптор файла USB-устройства с помощью метода getFileDescriptor ()

  3. Используйте этот файловый дескриптор для открытия подключения к USB-устройству. Это делает libusb_device.

Теперь вы можете использовать этот libusb_device, чтобы делать все, что можно сделать на компьютере с помощью libusb. На веб-сайте libusb приведено множество примеров.

По другим вопросам вы можете общаться на #libusb на freenode. Для конкретных примеров просмотрите документацию. Попробуйте сами. А если попробую где-нибудь спросить здесь. Не ждите кормления с ложечки.

person venky    schedule 16.06.2014