linux下使用c语言和libusb开发usbhid

毛毛虫的爹 毛毛虫的爹     2022-12-21     474

关键词:

玩转USB系列:Linux下使用C语言和libusb开发USB HID
实验环境
开发步骤
安装libusb
试试好用否
我们来与HID设备通讯!
探索、学习与注意:
1.&ctx是个什么鬼
2.print_devs(devs)->print_devs(&devs);
3.操作端口这类程序加上sudo !
4.libusb_interrupt_transfer这个函数是write和read一体的!
5.找不到函数报错的时候别急查网上,把头文件打开搜索一下更管用!
6.终端清屏指令
实验环境
ubuntu 16.04 LTS 64-bit
gcc,vim
STM32做下位机
开发步骤
安装libusb
sudo apt-get install libusb-1.0-0
1
注意:我在网上找到了多个安装教程写的安装命令和我的不一样:

sudo apt-get install libusb-dev
sudo apt-get install libusb-1.0-0-dev
这些命令安装的libusb我没有探索过,但有一点我知道,也是特容易踩坑的地方:
不同的libusb引用的头文件和函数还有编译时加的库名有细微的区别!!坑死我了
而好多教程都是上来就列代码,这就导致我们在看文章的时候觉得挺好,但是在自己机器上就是找不到函数或者头文件或者编译不过去等等…

本文章下面都以sudo apt-get install libusb-1.0-0为例子

试试好用否
我们来先试一试列出usb设备:

#include <unistd.h>

libusb系列-006-qt下使用libusb1.0.9源码(代码片段)

libusb系列-006-Qt下使用libusb1.0.9源码文章目录libusb系列-006-Qt下使用libusb1.0.9源码摘要添加宏添加源文件编译文件测试libusb工程源码关键字:Debian、Linux、Qt、libusb、源码内容背景:最近项目终于切到Linux下开发了,所以最... 查看详情

linux下libusb库的安装与使用

一、下载libusb下载网址:http://www.libusb.org/这里我选择的是下载:libusb-1.0.24二、安装libusb解压后libusb-1.0.24,得到的是源代码。$tar-jxvflibusb-1.0.24.tar.bz2$cdlibusb-1.0.24$./configure--prefix=/usr/local/li 查看详情

linux环境下c编程指南的内容简介

...环境的介绍,C语言编译器、调试工具和自动维护工具的使用方法,进程、文件的相关操作,输入输出操作和内存管理,C语言网络编程方法等。《Linux环境下C编程指南(第2版)》是作者根据多年来的开发和教学经验并融合大量的编... 查看详情

linux下交叉编译libusb的方法及编译一个使用了libusb库的test程序的方法(代码片段)

linux交叉编译libusb的方法下载libusb下载网址:libusb-BrowseFilesatSourceForge.net交叉编译libusb将下载好的libusb压缩包解压后进入该文件执行下列指令./configure--build=i686-linux--host=arm-linux--prefix=/home/xfc/usb/installCC 查看详情

libusb系列-001-libusb简介(代码片段)

...busb系列-001-libusb简介摘要基本信息简介支持平台官网如何使用下载神奇的1.0.9版本关键字:Debian、Linux、Qt、libusb、源码内容背景:最近项目终于切到Linux下开发了,所以最近的记录都是发生在Debian10以及ArmDebain10下࿰... 查看详情

linux下libusb库的安装与使用

一、下载libusb下载网址:http://www.libusb.org/这里我选择的是下载:libusb-1.0.24二、安装libusb解压后libusb-1.0.24,得到的是源代码。$tar-jxvflibusb-1.0.24.tar.bz2$cdlibusb-1.0.24$./configure--prefix=/usr/local/libusb-1.0.24$make$makeinstall三、... 查看详情

libusb系列-003-linux下libusb源码编译(代码片段)

libusb系列-003-Linux下libusb源码编译文章目录libusb系列-003-Linux下libusb源码编译摘要源码下载及解压下载源码解压下载的源码压缩包打开终端准备编译环境安装makedh-autoreconf安装libudev-dev编译错误的教程增加执行bootstrap.sh指令再编译mak... 查看详情

usb开发——内核usb驱动+libusb开发方法

  linux内核已经具备usb驱动,所以一些设备使用可以免驱,libusb是针对linux内核中ubs驱动的一套api,会自行调用usb驱动接口,并为应用提供api接口,将usb设备开发减少为应用层开发。  一、usb驱动配置:    .....  二、... 查看详情

libusb系列-002-windows下libusb源码编译(代码片段)

libusb系列-002-Windows下libusb源码编译文章目录libusb系列-002-Windows下libusb源码编译摘要Windows下编译libusb库下载源码进入msvc目录选择对应的项目工程编译查看编译好的库文件关键字:vs、编译、Qt、libusb、windows内容背景:最近... 查看详情

libusb简介

...C库,它提供了通用的访问USB设备。它的目的是供开发人员使用方便的生产与USB通信硬件的应用程序。可移植的:使用一个跨平台API,它提供了访问USB设备在Linux上,OSXWindows,Android,OpenBSD等等。用户模式:不需要特权或高程应用程序与设... 查看详情

linux下使用c语言进行gtk桌面程序开发(代码片段)

目录1、环境部署2、教程3、demo1、环境部署我的开发环境是ubuntu18.04编译工具:g++GTK版本:3.0GTK的安装方法见链接:ubuntu1604安装GTK+_炎芯随笔的博客-CSDN博客_gtk+linuxUbuntu上安装GTK+3.0的命令只有4条,... 查看详情

libusb开发者指南

  本文档描述libusb的API,以及如何开发USB应用。1介绍1.1概览本文档描述libusb-0.1的API和USB相关内容。1.2当前OS支持Linux2.2或以上FreeBSD/NetBSD/OpenBSDDarwin/MacOSX2API2.1设备与接口一个设备可能有多个接口,所以一个句柄可以返回多... 查看详情

在linux下如何开发c程序?

...创建一个名为a.out的文件。如果想要指定输出文件,可以使用选项-o,命令如下所示:$gcc-otest1test.c这时可执行文件名就变为test1,而不是a.out。3.用C调试器调试程序。4.运行该可执行文件。在此例中运行的文件是:$./a.out或者tes... 查看详情

libusb3.0

1)usb3.0在windows使用winusb时,出现ReadFile的inputbuffer太大时,读不到数据问题? 2)linux下,usb3.0 libusb_claim_interfacefail,error=-5对于一些linux标准支持的设备(如HID设备),可能需要使用libusb_detach_kernel_driver,或libusb_set_auto_de... 查看详情

嵌入式开发培训有哪些内容?

...式领域中大部分开发都会用到C语言。C语言简洁、紧凑、使用方便灵活加上GNU在实际项目开发中所做的扩展,使得C语言在整个嵌入式开发过程中起着至关重要的作用。更重要的是用C语言开发的程序在嵌入式平台下可移植性比较... 查看详情

在linux下如何利用c语言实现http的get和post方法?

在LINUX下如何利用C语言实现HTTP的get和post方法?我是远程登录的LINUX,在LINUX下用Eclipse开发有关HTTP解析,不会实现HTTP的get和post方法,有没有高手指点一下啊?不要网上拉的网址和内容最好是程序实例!要求只要能给服务器发数... 查看详情

windows下qt+libusbpc程序与斑马打印机使用usb通信(代码片段)

Qt没有USB类,所以这里我决定使用第三方库libusb。1、下载libusb,下载网址:https://sourceforge.net/projects/libusb/ 2、把下载下来libusb压缩包解压,解压后有个INSTALL_WIN.txt,关于Windows环境下编译安装。  (1)我先安装了MinGW,但... 查看详情

linux下c/c++编程开发静态库和动态库(代码片段)

...库文件二、静态库2.1命名规则2.2静态库的制作2.3静态库的使用三、动态库3.1命名规则3.2动态库的制作3.3动态库的使用3.3.1修改环境变量3.3.2修改/etc/ld.so.cache文件列表3.3.3/lib或/usr/lib目录四、动静态库的优缺点4.1静态库4.2动态库前... 查看详情