Procyon AVRlib - C-Language Function Library for Atmel AVR Processors

# Procyon AVRlib
C-Language Function Library for Atmel AVR Processors

Written by Pascal Stang | Updated:

- AVRlib is a library of easy-to-use C functions for a variety of common and uncommon tasks using AVR processors.
- The goal of AVRlib is to allow programmers to work quickly towards their end goal by reducing the time needed to write basic support functions and code.
- Most AVRlib header (*.h) files have lengthy descriptions of how to use the supplied library functions. All code (*.c) files are heavily commented with additional information.
- Documentation is still being improved and refined on many libraries. When getting familiar with a library, look first at the HTML docs and any example code that is available in the examples directory. Then look inside the *.h and *conf.h files, and then the *.c file for that library for more details and documentation.
- Significant example code is included in avrlib.zip. The example code is heavily commented and strives to illustrate how to use various AVRlib function libraries.
- Download AVRlib (with docs and code examples)
  - AVRlib (zip file, 1MB, )
  - AVRlib (win32 installer package, 1MB, )
- On-line HTML Documentation
- Release Notes
- AVRlib Install Guide for manual installation of zip file

### Procyon AVRlib Overview

General | AVR Built-In Peripheral Drivers

- Byte Buffering (circular)
- Bit Buffering (linear)
- Printf and other formatted print functions
- VT100 Terminal Output
- Command Line Interface
- FAT16/32 File System (support is read-only for now)
- STX/ETX Packet Protocol
- Fixed-Point Math Library (basic operations only)

- Timers (with PWM, interrupt management)
- UART (interrupt driven)
- A/D Converter
- I2C Master/Slave (interrupt and non-intr)
- SPI Interface
- External Interrupts

External Hardware Device Drivers | AVR Software-Emulated Devices

- Character LCD Modules (HD44780-based)
- I2C EEPROM Memories
- SPI EEPROM Memories
- MMC/SD Card Interface (SPI mode)
- LIS3L02 ST Accelerometer
- IDE/ATA Interface (for hard disks and CF cards)
- Quadrature Encoders
- RC-Servos (up to 8 channels)
- STA013 MP3 Decoder Chip
- GPS Receivers (via serial port)
  - NMEA-0813 Protocol
  - Trimble TSIP Protocol
- Graphic LCD Modules
  - KS0108/HD61202 Controller
  - T6963 Controller
  - LCD Fonts and Symbols

- I2c Master (Bit-Bang)
- UART (software-based, timer interrupt driven)
- Pulse Output (timer-based, variable frequency)
- Intel-type Memory Bus (Address & Data Buses + nRD,nWR)

Written by Pascal Stang | Updated: