AT90USBxxx Audio Microphone 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 source code illustrates how to implement a basic audio microphone application with the AT90USBxxx controller.

About the sample application

The demonstration enumerates as a standard USB audio microphone, and can be used to record sample sound loaded in the on-chip flash memory (press joystick select position to be able to record the build in raw file) or a direct sound stream from the STK525 microphone. !! New !! This firmware version also allows to send a sound stream from an external analog source (PF3/ADC3, that is free on STK525), if the Joystick DOWN position is pushed.

By default the sample code is delivered configured for STK525, but this sample application can be configured for both STK525 or AT90USBKey hardware, see TARGET_BOARD define value in config.h file. When the AT90USBKey is used as target hardware, only the build in sound sample mode is available (the AT90USBKey does not provide a microphone interface).

About the source code

This source code is usable with the following compilers:

Support for other compilers may required modifications or attention for:

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 Oct 31 15:31:40 2008 for ATMEL by  doxygen 1.5.3