# 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, 1.5MB, )
  - AVRlib (win32 installer package, 1.5MB, )
- On-line HTML Documentation

### 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)
Network Support |
Device Drivers RTL8019 Ethernet AX88796 Ethernet CS8900 Ethernet Prism2 Wireless LAN Network Protocols ARP ICMP IP UDP DHCP Network Stack infrastructure |

Written by Pascal Stang | Updated: