AT90USBnRF Wireless CDC demonstration
Use of this program is subject to Atmel's End User License Agreement.
Please read file LICENSE.TXT for copyright notice.
This embedded application source code illustrates how to implement a CDC application with the AT90USB162 controller.
By default the sample code is delivered configured for AT90USBnRF reference design with AT90USB162 controller.
Hardware information about the AT90USBnRF, can be found in this document
This application will enumerates as a CDC (communication device class) virtual COM port. The application can be used as a USB to serial converter. The firmware is operationnal under the following operating systems:
- Windows 2000/XP.Vista (at90usbxxx_cdc.inf is required when the windows new hardware detection wizard prompts for an .inf driver file).
- Linux 2.4 and above
- MacOS X 10.4 and above
Two AT90USBnRF and their default CDC firmware, can be used to emulate a "Wireless" Null Modem Cable.
This source code is usable with the following compilers:
- IAR Embedded Workbench (5.11A and higher)
- AVRGCC (WinAVR 20080411 and higher).
Support for other compilers may required modifications or attention for:
- compiler.h file
- special registers declaration file
- interrupt subroutines declarations
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 USB CDC application is based on two different tasks:
- The usb_task (usb_task.c associated source file), is the task performing the USB low level enumeration process in device mode.
- The cdc task performs the loop back application between USB and USART interfaces.
Generated on Mon May 5 15:57:54 2008 for ATMEL by
1.5.1-p1