AT90USBxxx USB device HID generic demonstration

License

Use of this program is subject to Atmel's End User License Agreement.

Please read file license.txt for copyright notice.

Description

This embedded application code illustrates how to implement a USB application with the AT90USBxxx controller using the generic HID class implementation.

A pc side application ('UsbHidDemoCode.exe') allows to communicate with the embedded firmware (set LEDS value or get joystick events).

pc_appli.gif

This application uses the AtUsbHid.dll that easily allows to communicate with a USB device using the native HID driver from the PC operating system. For more information about the AtUsbHid.dll, please refer to the application note "USB PC Driver based on HID class" (Atmel document number: 7645).

This sample application can be configured for both STK525 or AT90USBKey hardware, see TARGET_BOARD define value in config.h file.

Architecture

As illustrated in the figure bellow, the application entry point is located is the main.c file. The main function first performs the initialization of a scheduler module and then runs it in an infinite loop. The scheduler is a simple infinite loop calling all its tasks defined in the conf_scheduler.h file. No real time schedule is performed, when a task ends, the scheduler calls the next task defined in the configuration file (conf_scheduler.h).

The sample dual role application is based on two different tasks:

arch_full.gif

Generated on Fri Jan 26 17:33:01 2007 for Atmel by  doxygen 1.5.1-p1