The first problem with using QT to make a Kindle annotation management software on a MAC is to detect the status of USB devices connected to your Mac. If the development is in Cocoa, there will be a corresponding system API to use, but because I was in the QT platform development, so it is a bit more difficult. Just then, I found a library:libusb
LIBUSB IntroductionLibusb designed a series of external APIs called by the application, through whi
The software in Linux is divided into two types: User layer and Kernel layer. For example, the kernel compiles the driver of the temperature sensor, and the lm-sensors is responsible for interpreting the data submitted by the processing kernel at the user level. USB drive is a hardware-driven thing, and Libusb is a library that is provided for application development and USB drive interoperability (reading
also does not require you to write the driver, all the work can be done in the user state. The way to use it is simple, here's an example: Http://sourceforge.net/apps/trac/libusb-win32/wiki/libusbwin32_documentation#IV.Examples, isn't it simple?PrincipleLibusb himself with a kernel driver, named Libusb0.sys, placed in the windowssystem32drivers inside. The user program calls Libusb0.dll, and the DLL puts t
Using LIBUSB can achieve universal USB communication, but the implementation is more complex, you can use HIDAPI to encapsulate a layer, through HIDAPI call Libusb.
The specific process is as follows:
1, compile Libusb
Download Address: https://sourceforge.net/projects/libusb/files/
the beginning, and this function returns the number of devices.
Usb_get_busses
function definition: struct Usb_bus *usb_get_busses (void);
This function returns the list of buses, which are not available in the higher versions, as explained in the following example
2.2 Operating Device Interface
Usb_open
function definition: usb_dev_handle *usb_open (struct *usb_device dev);
Open the device you want to use, you must call Usb_open to open the device
, run the program, Effect:The last line prints out exactly the Tiny6410 USB device number.Attention: This can only list USB devices that have drivers installed with the Inf-wizard.exe build . At the beginning, I did not pick up the Tiny6410, the program did not output, plug a U disk, or no output, thought is the program or the library has problems, tangled a will, then a flash, plug in the Development Board try it, sure enough, the program run results as shown above.Continue to learn USB, 2 days
Linux LIBUSB installation and simple use one, reference documents:1. LIBUSB1 fails do_configure task with "Udev support requested but Libudev not installed" http://stackoverflow.com/questions/23712859/ Libusb1-fails-do-configure-task-with-udev-support-requested-but-libudev-not-ins 2. LIBUSB compilation error on Slackware -http://stackoverflow.com/questions/29552267/l
Android-4.2-3G porting path libusb (1)
Some time ago, we transplanted 3G modules to smart TV and found that Baidu Google, which transplanted 3G, found that it was basically on the linux development board,
Here, I will record the whole process of porting, so that others can avoid detours. If you have any suggestions or do not want to send a message, please leave a message ~
Currently, all 3G modules use usb interfaces. It is identified as a usb storag
Summary of LIBUSB Transplantation
Summarize the process and issues of porting libusb to embedded platforms in this phase:LIBUSB offers a set of tools that are relatively capable of shielding different Linux versions, reducing the drive-porting of different platforms, providing 1.0 versions and 0.1 versions (the old way), and developers not recommending using 0.1. This use of the 1.0 version developed.
1.
Interface in libusb: intusb_control_msg parameter transfer problem-Linux general technology-Linux programming and kernel information. The following is a detailed description. For interfaces in libusb: int usb_control_msg (struct usb_device_handle * dev, _ u8 request, _ u8 requesttype, _ b2value, _ b2index, void * data, _ size, int timeout); want to know how to fill and read the input and output parameters.
Operating environment: Ubuntu, based on LIBHID/LIBUSB for development Libusb Introduction:Libusb designed a series of external APIs to be called by the application, which can manipulate the hardware through these API applications, as seen from the source code of LIBUSB, which call the kernel's underlying interface (IOCTL), and kernel The functions used in driver
LIBUVC is a cross-platform USB Video device library built on LIBUSB. It provides granular control over USB video devices that export standard USB video class (UVC) interfaces, enabling developers to write drivers for devices that were not previously supported, or to access UVC devices in a generic manner.Install Libusb first.The Libusb-dev was installed with sudo
Libusb-win32 IntroductionLibusb-win32 is a port of the USB library Libusb (http://sf.net/projects/libusb/) to 32/64bit Windows (2k, XP, 2003, Vista , Win7, 2008; 98se/me for v0.1.12.2). The library allows user space applications to access many USB device on Windows.Libusb-win32 Wiki:http://sourceforge.net/apps/trac/libusb
[Author:bo Shen Assume you has the cross toolchain installed on your Linux host, where I use Ubuntu 12.04 with ARM-LINUX-GNUEABIHF-GCC ins Talled. (If not, here is the command)--->8---For the SoC support hard float point$ sudo apt-get install GCC-ARM-LINUX-GNUEABIHFFor the SoC only support soft float point$ sudo apt-get install GCC-ARM-LINUX-GNUEABIHF---8Then set the environment--->8---$ Export Arch=arm$ Export cross_compile=arm-linux-gnueabi----8The following steps is real to build the
Transferred from: http://cpbest.blog.163.com/blog/static/41241519201111575726966/LIBUSB is a Linux system that provides user-space access to the USB device's API to get or set USB device information from the Linux kernel. LSUSB This user space program, it is also relies on the interface API provided by LIBUSB to implement the current USB bus scanning system, so as to display the current system of USB device
customer doesn't want you to touch the kernel that he spent n time porting.3. I spent some time writing a new product driver. It was a sense of accomplishment and the code quality was quite good. As you indulge in your code, the Customer Service keeps sending emails, "the customer needs a 2.6.5 kernel driver, the config file has been sent to you. "The customer needs the 2.6.18-SMP drive with dual-core." "The customer's platform is customized by 2.6.12-xxx." You wish to give the source code of t
Once the configuration is done, you can write the code (you need to know some basic USB protocol knowledge). For the use of a library, its help documentation is very important and can be found in the libusb-win32 development documentation (http://sourceforge.net/p/libusb-win32/wiki/Documentation/). Next , analyze the code that uses bulk for data transfer. When you write code, you first determine Idvendor
In the Libusb open source source, there are based on VID and PID to open the interface of the device. However, this is not the only device. Because there are a lot of devices vid and PID are the same, such as the iphone.But the serial number of the device is unique, so according to the reference vid and PID open source code, the following is the opening of a designated serialnumber device.libusb_device_handle* Libusb_open_device_with_serialnumber (lib
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.