AVR Atmega specific code
More...
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.
This is header file provides strings.h
that is missing in AVR libc for compatibility.
|
#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.
|
|
|
static void | bzero (void *dest, size_t n_bytes) |
| Same as memset(dest, 0, n_bytes) , use memset() instead.
|
|
static int | bcmp (const void *s1, const void *s2, size_t n) |
| Same as memcmp() , use memcmp instead.
|
|
static void | bcopy (const void *src, void *dest, size_t n) |
| Same as memmove() , use memmove() or memcpy() instead.
|
|
|
int | errno |
| number of last error
|
|
|
#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.
|
|
#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.
|
|
#define | ENOSTR (54) |
| [OB XSR] [Option Start] Not a STREAM.
|
|
#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.
|
|
#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.
|
|
#define | EHOSTDOWN (82) |
| Host is down.
|
|
#define | EPFNOSUPPORT (83) |
| Protocol family not supported.
|
|
#define | ETOOMANYREFS (84) |
| Too many references: cannot splice.
|
|
◆ E2BIG
Argument list too long.
Definition at line 70 of file errno.h.
◆ EACCES
Permission denied.
Definition at line 71 of file errno.h.
◆ EADDRINUSE
Address in use.
Definition at line 72 of file errno.h.
◆ EADDRNOTAVAIL
#define EADDRNOTAVAIL (4) |
Address not available.
Definition at line 73 of file errno.h.
◆ EAFNOSUPPORT
Address family not supported.
Definition at line 74 of file errno.h.
◆ EAGAIN
Resource unavailable, try again (may be the same value as [EWOULDBLOCK]).
Definition at line 75 of file errno.h.
◆ EALREADY
Connection already in progress.
Definition at line 76 of file errno.h.
◆ EBADF
Bad file descriptor.
Definition at line 77 of file errno.h.
◆ EBADMSG
Bad message.
Definition at line 78 of file errno.h.
◆ EBUSY
Device or resource busy.
Definition at line 79 of file errno.h.
◆ ECANCELED
Operation canceled.
Definition at line 80 of file errno.h.
◆ ECHILD
No child processes.
Definition at line 81 of file errno.h.
◆ ECONNABORTED
#define ECONNABORTED (13) |
Connection aborted.
Definition at line 82 of file errno.h.
◆ ECONNREFUSED
#define ECONNREFUSED (14) |
Connection refused.
Definition at line 83 of file errno.h.
◆ ECONNRESET
Connection reset.
Definition at line 84 of file errno.h.
◆ EDEADLK
Resource deadlock would occur.
Definition at line 85 of file errno.h.
◆ EDESTADDRREQ
#define EDESTADDRREQ (17) |
Destination address required.
Definition at line 86 of file errno.h.
◆ EDOM
Mathematics argument out of domain of function.
Definition at line 102 of file errno.h.
◆ EDQUOT
Reserved.
Definition at line 88 of file errno.h.
◆ EEXIST
File exists.
Definition at line 89 of file errno.h.
◆ EFAULT
Bad address.
Definition at line 90 of file errno.h.
◆ EFBIG
File too large.
Definition at line 91 of file errno.h.
◆ EHOSTDOWN
Host is down.
Definition at line 151 of file errno.h.
◆ EHOSTUNREACH
#define EHOSTUNREACH (23) |
Host is unreachable.
Definition at line 92 of file errno.h.
◆ EIDRM
Identifier removed.
Definition at line 93 of file errno.h.
◆ EILSEQ
Illegal byte sequence.
Definition at line 94 of file errno.h.
◆ EINPROGRESS
Operation in progress.
Definition at line 95 of file errno.h.
◆ EINTR
Interrupted function.
Definition at line 96 of file errno.h.
◆ EINVAL
Invalid argument.
Definition at line 97 of file errno.h.
◆ EIO
I/O error.
Definition at line 98 of file errno.h.
◆ EISCONN
Socket is connected.
Definition at line 99 of file errno.h.
◆ EISDIR
Is a directory.
Definition at line 100 of file errno.h.
◆ ELOOP
Too many levels of symbolic links.
Definition at line 101 of file errno.h.
◆ EMFILE
File descriptor value too large.
Definition at line 87 of file errno.h.
◆ EMLINK
Too many links.
Definition at line 141 of file errno.h.
◆ EMSGSIZE
Message too large.
Definition at line 104 of file errno.h.
◆ EMULTIHOP
◆ ENAMETOOLONG
#define ENAMETOOLONG (37) |
Filename too long.
Definition at line 106 of file errno.h.
◆ ENETDOWN
◆ ENETRESET
Connection aborted by network.
Definition at line 108 of file errno.h.
◆ ENETUNREACH
◆ ENFILE
Too many files open in system.
Definition at line 110 of file errno.h.
◆ ENOBUFS
No buffer space available.
Definition at line 111 of file errno.h.
◆ ENODATA
[OB XSR] [Option Start] No message is available on the STREAM head read queue.
[Option End]
Definition at line 112 of file errno.h.
◆ ENODEV
No such device.
Definition at line 113 of file errno.h.
◆ ENOENT
No such file or directory.
Definition at line 114 of file errno.h.
◆ ENOEXEC
Executable file format error.
Definition at line 115 of file errno.h.
◆ ENOLCK
No locks available.
Definition at line 116 of file errno.h.
◆ ENOLINK
◆ ENOMEM
Not enough space.
Definition at line 118 of file errno.h.
◆ ENOMSG
No message of the desired type.
Definition at line 119 of file errno.h.
◆ ENOPROTOOPT
Protocol not available.
Definition at line 120 of file errno.h.
◆ ENOSPC
No space left on device.
Definition at line 121 of file errno.h.
◆ ENOSR
[OB XSR] [Option Start] No STREAM resources.
[Option End]
Definition at line 122 of file errno.h.
◆ ENOSTR
[OB XSR] [Option Start] Not a STREAM.
[Option End]
Definition at line 123 of file errno.h.
◆ ENOSYS
Function not supported.
Definition at line 124 of file errno.h.
◆ ENOTCONN
The socket is not connected.
Definition at line 125 of file errno.h.
◆ ENOTDIR
Not a directory or a symbolic link to a directory.
Definition at line 126 of file errno.h.
◆ ENOTEMPTY
Directory not empty.
Definition at line 127 of file errno.h.
◆ ENOTRECOVERABLE
#define ENOTRECOVERABLE (59) |
State not recoverable.
Definition at line 128 of file errno.h.
◆ ENOTSOCK
Not a socket.
Definition at line 129 of file errno.h.
◆ ENOTSUP
Not supported (may be the same value as [EOPNOTSUPP]).
Definition at line 130 of file errno.h.
◆ ENOTTY
Inappropriate I/O control operation.
Definition at line 131 of file errno.h.
◆ ENXIO
No such device or address.
Definition at line 132 of file errno.h.
◆ EOPNOTSUPP
Operation not supported on socket (may be the same value as [ENOTSUP]).
Definition at line 133 of file errno.h.
◆ EOVERFLOW
Value too large to be stored in data type.
Definition at line 134 of file errno.h.
◆ EOWNERDEAD
Previous owner died.
Definition at line 135 of file errno.h.
◆ EPERM
Operation not permitted.
Definition at line 136 of file errno.h.
◆ EPFNOSUPPORT
#define EPFNOSUPPORT (83) |
Protocol family not supported.
Definition at line 152 of file errno.h.
◆ EPIPE
Broken pipe.
Definition at line 137 of file errno.h.
◆ EPROTO
Protocol error.
Definition at line 138 of file errno.h.
◆ EPROTONOSUPPORT
#define EPROTONOSUPPORT (70) |
Protocol not supported.
Definition at line 139 of file errno.h.
◆ EPROTOTYPE
Protocol wrong type for socket.
Definition at line 140 of file errno.h.
◆ ERANGE
Result too large.
Definition at line 103 of file errno.h.
◆ EROFS
Read-only file system.
Definition at line 142 of file errno.h.
◆ ESPIPE
Invalid seek.
Definition at line 143 of file errno.h.
◆ ESRCH
No such process.
Definition at line 144 of file errno.h.
◆ ESTALE
◆ ETIME
[OB XSR] [Option Start] Stream ioctl() timeout.
[Option End]
Definition at line 146 of file errno.h.
◆ ETIMEDOUT
Connection timed out.
Definition at line 147 of file errno.h.
◆ ETOOMANYREFS
#define ETOOMANYREFS (84) |
Too many references: cannot splice.
Definition at line 153 of file errno.h.
◆ ETXTBSY
Text file busy.
Definition at line 148 of file errno.h.
◆ EWOULDBLOCK
Operation would block (may be the same value as [EAGAIN]).
Definition at line 149 of file errno.h.
◆ EXDEV
Cross-device link.
Definition at line 150 of file errno.h.
◆ PRId64
Format string for signed 64-bit number.
Definition at line 30 of file inttypes.h.
◆ PRIo64
Format string for octal 64-bit number.
Definition at line 27 of file inttypes.h.
◆ PRIu64
Format string for unsigned 64-bit number.
Definition at line 29 of file inttypes.h.
◆ PRIx64
Format string for hexadecimal 64-bit number.
Definition at line 28 of file inttypes.h.
◆ bcmp()
static int bcmp |
( |
const void * | s1, |
|
|
const void * | s2, |
|
|
size_t | n ) |
|
inlinestatic |
Same as memcmp()
, use memcmp
instead.
- Parameters
-
[in] | s1 | first memory chunk to compare |
[in] | s2 | second memory chunk to compare |
[in] | n | number of bytes to compare |
- Return values
-
`0` | The first n bytes of s1 and s2 are equal |
`!=0` | The first n bytes of s1 and s2 differ in at least one bit |
Definition at line 54 of file strings.h.
◆ bcopy()
static void bcopy |
( |
const void * | src, |
|
|
void * | dest, |
|
|
size_t | n ) |
|
inlinestatic |
Same as memmove()
, use memmove()
or memcpy()
instead.
- Parameters
-
[in] | src | memory to copy from |
[out] | dest | memory to copy to |
[in] | n | number of bytes to copy |
src
and dest
may overlap
- Note
- It is preferred to use the standardize function
memcpy()
for non-overlapping memory regions and memmove()
for overlapping memory regions instead of this obsolete function.
Definition at line 72 of file strings.h.
◆ bzero()
static void bzero |
( |
void * | dest, |
|
|
size_t | n_bytes ) |
|
inlinestatic |
Same as memset(dest, 0, n_bytes)
, use memset()
instead.
- Parameters
-
[in,out] | dest | Memory to clear |
[in] | n_bytes | Size of memory to clear in bytes |
Definition at line 38 of file strings.h.