USB驱动

libusb库

官方文档

https://libusb.info/

下载

  1. github
  2. sourceforge
  3. brew install libusb-compat libusb
  4. MAC PORTS方式下载

安装

MAC

打开终端,并定位到libusb-1.0.26

./configure
make
sudo make install

Mac OS X 中libusb库在Qt中用法使用过程记录

引入项目

  1. 获取libusb的dylib、.h文件
    /usr/local/include/libusb-1.0/libusb.h
    /usr/local/lib/libusb-1.0.0.dylib

  2. 链接动态库

# 添加动态库的目录
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/Include)
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/Lib)

# 链接库
target_link_libraries(src PRIVATE libusb-1.0.0.dylib)

基础操作

初始化 & 退出

void OpenUsb()
{
	// 初始化
	libusb_init(nullptr);
	
	// ... 执行读写USB设备的操作 ...

    // 退出libusb
    libusb_exit(nullptr);
}

获取所有设备列表

//在list里寻找需要访问的设备(list的最后一项是NULL),找到之后使用libusb_open函数打开它
ssize_t API_EXPORTED libusb_get_device_list(libusb_context *ctx,
	libusb_device ***list);

// .......其它处理.......

// 最后必须调用libusb_free_device_list()来释放它
void API_EXPORTED libusb_free_device_list(libusb_device **list,
	int unref_devices);
libusb_device **devs;
ssize_t cnt = libusb_get_device_list(NULL, &devs);

// .......其它处理.......

libusb_free_device_list(devs, 1);

打开/关闭设备

// libusb_open()函数内部会增加此设备的引用计数, 使用完毕后要调用libusb_close()减小引用计数。
int API_EXPORTED libusb_open(libusb_device *dev,
	libusb_device_handle **dev_handle);

...

void API_EXPORTED libusb_close(libusb_device_handle *dev_handle);
libusb_device_handle *handle;  // 设备句柄
r = libusb_open(dev, &handle);

...

// 关闭设备
libusb_close(handle);

USB学习4-libusb的使用

其它资料

libusb库的编译与使用(X86_64与ARM双平台)

USB系列-LibUSB使用指南(1)-Windows下的报错与踩坑

Mac开发之USB HID 通讯

MAC API:IOKit

IOKit框架详细解析(一) —— 基本概览

IOUSBInterfaceInterface

Mac与USB通讯IO框架

MAC上通过USB传输信息

PS: windows API驱动控制

设备名称

\\.\XXXUSB-0(PORT)

打开驱动设备CreateFile

sys文件

用CreateFile函数怎么启动驱动?

USB基础知识

从零开始学USB(七、端点、管道、接口、配置、设备)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值