Atmel ATmega CPU: common files

AVR Atmega specific code. More...

Detailed Description

AVR Atmega specific code.

Pin Change Interrupts

Pin Change Interrupts (PCINTs) can be enabled using pseudo modules. To provide a low-memory overhead implementation, the PCINTs are grouped into banks. Each banks corresponds to one PCINT on the ATmega (PCINT0, ..., PCINT3).

To enable only a specific bank, simply add USEMODULE += atmega_pcintN to your Makefile. To enable all interrupts you can use USEMODULE += atmega_pcint.

In case you want to add a new CPU, simply provide an atmega_pcint.h with your CPU and adapt your Makefile.dep and Makefile.features files.

Files

file  atmega_gpio.h
 Macros and inline functions for accessing GPIOs of the ATmega family.
 
file  atmega_regs_common.h
 CMSIS style register definitions for the atmega family.
 
file  cpu_clock.h
 Common clock support for ATmega family based micro-controllers.
 
file  cpu_conf.h
 Implementation specific CPU configuration options.
 
file  periph_cpu_common.h
 CPU specific definitions for internal peripheral handling.
 
file  errno.h
 
file  inttypes.h
 Adds include for missing inttype definitions.
 

Macros

#define PRIo64   "llo"
 Format string for octal 64-bit number.
 
#define PRIx64   "llx"
 Format string for hexadecimal 64-bit number.
 
#define PRIu64   "llu"
 Format string for unsigned 64-bit number.
 
#define PRId64   "lld"
 Format string for signed 64-bit number.
 

Variables

int errno
 number of last error
 

Error numbers

#define E2BIG   (1)
 Argument list too long.
 
#define EACCES   (2)
 Permission denied.
 
#define EADDRINUSE   (3)
 Address in use.
 
#define EADDRNOTAVAIL   (4)
 Address not available.
 
#define EAFNOSUPPORT   (5)
 Address family not supported.
 
#define EAGAIN   (6)
 Resource unavailable, try again (may be the same value as [EWOULDBLOCK]).
 
#define EALREADY   (7)
 Connection already in progress.
 
#define EBADF   (8)
 Bad file descriptor.
 
#define EBADMSG   (9)
 Bad message.
 
#define EBUSY   (10)
 Device or resource busy.
 
#define ECANCELED   (11)
 Operation canceled.
 
#define ECHILD   (12)
 No child processes.
 
#define ECONNABORTED   (13)
 Connection aborted.
 
#define ECONNREFUSED   (14)
 Connection refused.
 
#define ECONNRESET   (15)
 Connection reset.
 
#define EDEADLK   (16)
 Resource deadlock would occur.
 
#define EDESTADDRREQ   (17)
 Destination address required.
 
#define EMFILE   (18)
 File descriptor value too large.
 
#define EDQUOT   (19)
 Reserved.
 
#define EEXIST   (20)
 File exists.
 
#define EFAULT   (21)
 Bad address.
 
#define EFBIG   (22)
 File too large.
 
#define EHOSTUNREACH   (23)
 Host is unreachable.
 
#define EIDRM   (24)
 Identifier removed.
 
#define EILSEQ   (25)
 Illegal byte sequence.
 
#define EINPROGRESS   (26)
 Operation in progress.
 
#define EINTR   (27)
 Interrupted function.
 
#define EINVAL   (28)
 Invalid argument.
 
#define EIO   (29)
 I/O error.
 
#define EISCONN   (30)
 Socket is connected.
 
#define EISDIR   (31)
 Is a directory.
 
#define ELOOP   (32)
 Too many levels of symbolic links.
 
#define EDOM   (33)
 Mathematics argument out of domain of function.
 
#define ERANGE   (34)
 Result too large.
 
#define EMSGSIZE   (35)
 Message too large.
 
#define EMULTIHOP   (36)
 Reserved.
 
#define ENAMETOOLONG   (37)
 Filename too long.
 
#define ENETDOWN   (38)
 Network is down.
 
#define ENETRESET   (39)
 Connection aborted by network.
 
#define ENETUNREACH   (40)
 Network unreachable.
 
#define ENFILE   (41)
 Too many files open in system.
 
#define ENOBUFS   (42)
 No buffer space available.
 
#define ENODATA   (43)
 [OB XSR] [Option Start] No message is available on the STREAM head read queue. More...
 
#define ENODEV   (44)
 No such device.
 
#define ENOENT   (45)
 No such file or directory.
 
#define ENOEXEC   (46)
 Executable file format error.
 
#define ENOLCK   (47)
 No locks available.
 
#define ENOLINK   (48)
 Reserved.
 
#define ENOMEM   (49)
 Not enough space.
 
#define ENOMSG   (50)
 No message of the desired type.
 
#define ENOPROTOOPT   (51)
 Protocol not available.
 
#define ENOSPC   (52)
 No space left on device.
 
#define ENOSR   (53)
 [OB XSR] [Option Start] No STREAM resources. More...
 
#define ENOSTR   (54)
 [OB XSR] [Option Start] Not a STREAM. More...
 
#define ENOSYS   (55)
 Function not supported.
 
#define ENOTCONN   (56)
 The socket is not connected.
 
#define ENOTDIR   (57)
 Not a directory or a symbolic link to a directory.
 
#define ENOTEMPTY   (58)
 Directory not empty.
 
#define ENOTRECOVERABLE   (59)
 State not recoverable.
 
#define ENOTSOCK   (60)
 Not a socket.
 
#define ENOTSUP   (61)
 Not supported (may be the same value as [EOPNOTSUPP]).
 
#define ENOTTY   (62)
 Inappropriate I/O control operation.
 
#define ENXIO   (63)
 No such device or address.
 
#define EOPNOTSUPP   (64)
 Operation not supported on socket (may be the same value as [ENOTSUP]).
 
#define EOVERFLOW   (65)
 Value too large to be stored in data type.
 
#define EOWNERDEAD   (66)
 Previous owner died.
 
#define EPERM   (67)
 Operation not permitted.
 
#define EPIPE   (68)
 Broken pipe.
 
#define EPROTO   (69)
 Protocol error.
 
#define EPROTONOSUPPORT   (70)
 Protocol not supported.
 
#define EPROTOTYPE   (71)
 Protocol wrong type for socket.
 
#define EMLINK   (72)
 Too many links.
 
#define EROFS   (73)
 Read-only file system.
 
#define ESPIPE   (74)
 Invalid seek.
 
#define ESRCH   (75)
 No such process.
 
#define ESTALE   (76)
 Reserved.
 
#define ETIME   (77)
 [OB XSR] [Option Start] Stream ioctl() timeout. More...
 
#define ETIMEDOUT   (78)
 Connection timed out.
 
#define ETXTBSY   (79)
 Text file busy.
 
#define EWOULDBLOCK   (80)
 Operation would block (may be the same value as [EAGAIN]).
 
#define EXDEV   (81)
 Cross-device link.
 

Macro Definition Documentation

◆ ENODATA

#define ENODATA   (43)

[OB XSR] [Option Start] No message is available on the STREAM head read queue.

[Option End]

Definition at line 112 of file errno.h.

◆ ENOSR

#define ENOSR   (53)

[OB XSR] [Option Start] No STREAM resources.

[Option End]

Definition at line 122 of file errno.h.

◆ ENOSTR

#define ENOSTR   (54)

[OB XSR] [Option Start] Not a STREAM.

[Option End]

Definition at line 123 of file errno.h.

◆ ETIME

#define ETIME   (77)

[OB XSR] [Option Start] Stream ioctl() timeout.

[Option End]

Definition at line 146 of file errno.h.