| <alloca.h>: Allocate space in the stack | |
| <assert.h>: Diagnostics | |
| <ctype.h>: Character Operations | These functions perform various operations on characters |
| <errno.h>: System Errors | |
| <inttypes.h>: Integer Type conversions | |
| <math.h>: Mathematics | |
| <setjmp.h>: Non-local goto | While the C language has the dreaded goto statement, it can only be used to jump to a label in the same (local) function. In order to jump directly to another (non-local) function, the C library provides the setjmp() and longjmp() functions. setjmp() and longjmp() are useful for dealing with errors and interrupts encountered in a low-level subroutine of a program |
| <stdint.h>: Standard Integer Types | |
| <stdio.h>: Standard IO facilities | |
| <stdlib.h>: General utilities | |
| <string.h>: Strings | |
| <time.h>: Time | |
| <avr/boot.h>: Bootloader Support Utilities | |
| <avr/cpufunc.h>: Special AVR CPU functions | |
| <avr/eeprom.h>: EEPROM handling | |
| <avr/fuse.h>: Fuse Support | |
| <avr/interrupt.h>: Interrupts | |
| <avr/io.h>: AVR device-specific IO definitions | |
| <avr/lock.h>: Lockbit Support | |
| <avr/pgmspace.h>: Program Space Utilities | |
| <avr/power.h>: Power Reduction Management | |
| ▼<avr/sfr_defs.h>: Special function registers | When working with microcontrollers, many tasks usually consist of controlling internal peripherals, or external peripherals that are connected to the device. The entire IO address space is made available as memory-mapped IO, i.e. it can be accessed using all the MCU instructions that are applicable to normal data memory. For most AVR devices, the IO register space is mapped into the data memory address space with an offset of 0x20 since the bottom of this space is reserved for direct access to the MCU registers. (Actual SRAM is available only behind the IO register area, starting at some specific address depending on the device.) |
| Additional notes from <avr/sfr_defs.h> | |
| <avr/signature.h>: Signature Support | |
| <avr/sleep.h>: Power Management and Sleep Modes | |
| <avr/version.h>: avr-libc version macros | |
| <avr/wdt.h>: Watchdog timer handling | |
| <util/atomic.h> Atomically and Non-Atomically Executed Code Blocks | |
| <util/crc16.h>: CRC Computations | |
| <util/delay.h>: Convenience functions for busy-wait delay loops | |
| <util/delay_basic.h>: Basic busy-wait delay loops | |
| <util/parity.h>: Parity bit generation | |
| <util/setbaud.h>: Helper macros for baud rate calculations | |
| <util/twi.h>: TWI bit mask definitions | |
| <compat/deprecated.h>: Deprecated items | This header file contains several items that used to be available in previous versions of this library, but have eventually been deprecated over time |
| <compat/ina90.h>: Compatibility with IAR EWB 3.x | |
| ▼Demo projects | Various small demo projects are provided to illustrate several aspects of using the opensource utilities for the AVR controller series. It should be kept in mind that these demos serve mainly educational purposes, and are normally not directly suitable for use in any production environment. Usually, they have been kept as simple as sufficient to demonstrate one particular feature |
| Combining C and assembly source files | |
| A simple project | |
| A more sophisticated project | |
| Using the standard IO facilities | |
| Example using the two-wire interface (TWI) | |