AVR
  • Introduction
  • 1-Wire implementation for AVR
  • SD card support for AVR
  • Let´s use USB!
    • A brief introduction to the USB protocol
    • Initialize the USB as a USB device
    • Initialize the control endpoint
    • Now we need a few descriptors
    • Pass the first enumeration
    • Create the device driver
Powered by GitBook
On this page

Was this helpful?

Let´s use USB!

Learn how a USB stack is build up and how you can implement it on a microcontroller.

PreviousSD card support for AVRNextA brief introduction to the USB protocol

Last updated 5 years ago

Was this helpful?

Some microcontrollers, such as the AT90USB1287 used here, have a built-in USB interface, with the help of which the microcontroller can function as a USB device or as a USB host. This enables the user to to connect the microcontroller with a computer or a USB stick.

I´ll give you a short overview of how a USB 2.0 stack is built and how you can implement your own USB stack on an AT90USB1287 microcontroller. Due to the complexity of the USB, I will split the tutorial into several parts and discuss a specific section of the USB stack in each part.

Please check out my GitLay repository for the complete project.

A brief introduction to the USB protocol
Initialize the USB as a USB device
Initialize the control endpoint
Now we need a few descriptors
Pass the first enumeration
Create the device driver
https://gitlab.com/Kampi/avr/tree/master/examples/Tutorial/AVR8/AT90/USB_Examplegitlab.com