This book is for developers who design and program devices that use the Universal Serial Bus (USB) interface.
My goal is to introduce you to USB and to help you get your devices up and communicating as quickly and easily as possible.
The USB interface is versatile enough for a wide range of peripheral devices.
Standard peripherals that use USB include mice, keyboards, drives, printers, and audio/video devices.
USB is also suitable for data-acquisition units, control systems, and other devices with specialized functions, including one-of-a-kind designs.
To develop a device with a USB interface, you need to know something about how the interface works, what tasks your device firmware must perform to communicate on the bus, and what class drivers and other support are available on the host computers that your device will attach to.
The right choices of device hardware, device class, and development tools and techniques can go a long way in avoiding snags and simplifying what needs to be done.
If you’re involved with designing USB devices, writing the firmware that resides inside USB devices, or writing applications that communicate with USB devices, this book will help you along the way.