Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ASF USB host CDC

Human interface on EVK1100 :

Introduction

This example shows how to implement a USB host CDC on Atmel MCU with USB module.

Startup

After loading firmware, connect the board (EVKxx,Xplain,...) to a USB device CDC. The example is a bridge between a USART from the main MCU and the USB host CDC interface.

  • PWR led is on when power present
  • Led 0 is on when USB OTG cable is plugged in
  • Led 1 is on when Vbus is present
  • Led 2 is on when a device is connected
  • Led 3 blinks when the CDC device is enumerated and USB in idle mode
    • The blink is slow (1s) with low speed device
    • The blink is normal (0.5s) with full speed device
    • The blink is fast (0.25s) with high speed device
  • Led 4 green is on during data transfer from CDC to UART
  • Led 5 green is on during data transfer from UART to CDC

Note: On board the LED labels are incremented of one. E.g. Led0 in software corresponding at Led1 label on board.

About example

The example uses the following module groups:

  • Basic modules: Startup, board, clock, interrupt, power management
  • USB host stack and CDC modules:
    services/usb/
    services/usb/uhc/
    services/usb/class/cdc/host/
  • Specific implementation:
    • main.c,
      initializes clock
      initializes interrupt
      manages UI
    • specific implementation for each target "./examples/product_board/":
      • conf_foo.h configuration of each module
      • ui.c implement of user's interface (buttons, leds)