"If you want to add the Universal Serial Bus to your repertoire, then this is the book for you." -- Nuts & Volts
An excellent and highly recommended "how to" guide and reference. -- Midwest Book Review
From the Author
A few words about USB developing...
USB is very different from earlier PC interfaces such as the serial (COM) and parallel ports. On attaching to a PC, a device must respond to a series of requests that enable the PC to learn about the device. So every USB device must contain an intelligent controller that knows how to respond to the requests. You can't just connect generic I/O pins to the cable as you can with a parallel port. In the host PC, every device must have a device driver to manage communications between applications and the systems USB drivers. Applications must communicate with the driver. They can't access a generic port as they can with serial and parallel ports.
For many devices, complying with the standard for the human interface device (HID) class can simplify development. All Windows editions from Windows 98 on support HID communications. This means that you don't have to provide (and ask users to install) a device driver for the PC. The HID class includes standard peripherals such as keyboards and mice, but HIDs are suitable for other uses as well, including instrumentation, robotics, motor control, and data acquisition.
The example HID device firmware in USB Complete is for the Cypress enCoRe series of USB controllers. If you prefer a different controller, my web site has additional examples that are compatible with the host software in the book.
I hope you find the book useful. I welcome any comments you may have.