libusb 使用說明

2021-07-10 13:27:27 字數 2779 閱讀 6772

******window下:

2. 選擇bin目錄中的inf-wizard.exe;點next;然後根據vid,pid指定乙個usb裝置;點next,儲存inf檔案,點install now;成功後可以在裝置管理器中看到多了乙個libusb-win32 devices的裝置節點及裝置 (以uvc camera裝置為例,原來的影象裝置就沒有該裝置了)

3. 以visual studio2010為例,在專案屬性中新增include目錄和lib目錄,分別為:libusb-win32-bin-1.2.6.0\include和libusb-win32-bin-1.2.6.0\lib\msvc

4. 包含標頭檔案和庫

#include "lusb0_usb.h"

#pragma comment(lib, "libusb")

5. **示例

struct usb_bus *busses, *bus;

struct usb_device *dev, *selectdev = null;

char data[8];

usb_init();

usb_find_busses();

usb_find_devices();

busses = usb_get_busses();

for (bus = busses; bus; bus = bus->next)}}

found:

if (selectdev != null) 

return;

devh = usb_open(selectdev);

usb_claim_inte***ce(devh, 0);

// do something. for example, control transfer

usb_control_msg(devh, 0xa1, 0x85, 0x0a00, 0x0400, data, 2, 0);

memset(data, 0, sizeof(data));

data[1] = 0xd0;

data[4] = 0x08;

usb_control_msg(devh, 0x21, 0x01, 0x0a00, 0x0400, data, 8, 0);

usb_release_inte***ce(devh, 0);

usb_close(devh);

******ubuntu 下

2. 編譯 

# tar xjvf libusb-1.0.20.tar.bz2

# cd libusb-1.0.20

# ./configure --prefix=/home/pc/usb/sdk

# make

# make install

3. **示例:

#include

#include

#include

#include

void main(int argc, char *argv)

libusb_claim_inte***ce(devh, 0);

libusb_control_transfer(devh, 0xa1, 0x85, 0x0a00, 0x0400, data, 2, 0);

memset(data, 0, sizeof(data));

data[1] = 0xd0;

data[4] = 0x08;

libusb_control_transfer(devh, 0x21, 0x01, 0x0a00, 0x0400, data, 8, 0);

libusb_release_inte***ce(devh, 0);

libusb_close(devh);

libusb_exit(ctx); }

4. 編譯

#gcc demo.c -o demo -i/home/pc/usb/sdk/include -l/home/pc/usb/sdk/lib -lusb-1.0

#./demo(執行)

******android 下(針對uvccamera-master摘錄部分**): jni cpp檔案中

1. **示例片段

#include "libuvccamera.h"

unsigned char

pdata[8];

libusb_device_handle *devh = mdevicehandle->usb_devh;// mdevicehandle由**原有部分獲取,**略
libusb_control_transfer(devh, 0xa1, 0x85, 0x0a00, 0x0400, pdata, 2, 0);

memset(pdata, 0, sizeof(pdata));

pdata[1] = 0xd0;

pdata[4] = 0x08;

libusb_control_transfer(devh, 0x21, 0x01, 0x0a00, 0x0400, pdata, 8, 0);

備註:關於control_transfer的內容,需要根據實際的usb裝置去定義,這邊只是針對我的裝置舉例

****** libuvc 編譯

參考**: 

# git clone

# cd libuvc

# mkdir build

# cmake -dcmake_build_type=release ..  (注意後面的兩個點)

# make && make install

使用說明 附註工具使用說明

附註工具使用說明 附註工具用途 附註工具主要用於更新利用word附註應用程式生成的帶域 的附註,該工具在word右鍵 更新鏈結 的基礎上進行了優化,故在使用時,不能再利用word右鍵 更新鏈結 而要用本工具的 更新當前鏈結 或 更新所有鏈結 使用說明 一 更換路徑 當利用word附註應用程式生成帶域...

使用說明 農用遮光網使用說明

農用遮光網使用說明 建築防塵網購買方 建築施工企業 在購買建築防塵網時,應該對 作出比較,可以分辨品牌 型號,且購買時應該在一定程度上了解信譽良莠。建築防塵網購買方 市場售賣方 在選購建築防塵網時,可以把 作為基礎,好的 可以用來彌補信譽不足,而差的 則需要按照你的服務收費。農用遮光網使用說明 用途...

Hibernate tools 使用說明

05年的8月份第一次接觸hibernate tools,使用起來感覺還不錯,但也沒有深入研究,後來由於一直在做乙個專案,再後來用了一陣myeclipse,現在換了公司,使用wtp all in one eclipse的乙個版本 生成domain的時候使用了hibernate tools,發現都不知怎...