|
LUFA Library
120219
|
Common library convenience headers, macros and functions. More...
Modules | |
| Hardware Architectures | |
Supported library architecture defines. | |
| Architecture Specific Definitions | |
Architecture specific definitions relating to specific processor architectures. | |
| Function/Variable Attributes | |
Special function/variable attribute macros. | |
| Board Types | |
Supported pre-made board hardware defines. | |
| Global Interrupt Macros | |
Convenience macros for the management of interrupts globally within the device. | |
| Compiler Specific Definitions | |
Compiler specific definitions for code optimization and correctness. | |
| Endianness and Byte Ordering | |
Convenience macros and functions relating to byte (re-)ordering. | |
Defines | |
| #define | MACROS do |
| #define | MACROE while (0) |
| #define | MAX(x, y) (((x) > (y)) ? (x) : (y)) |
| #define | MIN(x, y) (((x) < (y)) ? (x) : (y)) |
| #define | STRINGIFY(x) #x |
| #define | STRINGIFY_EXPANDED(x) STRINGIFY(x) |
Typedefs | |
| typedef MACHINE_REG_t | uint_reg_t |
Functions | |
| static uint8_t | BitReverse (uint8_t Byte) ATTR_WARN_UNUSED_RESULT ATTR_CONST |
| static void | Delay_MS (uint16_t Milliseconds) ATTR_ALWAYS_INLINE |
Common utility headers containing macros, functions, enums and types which are common to all aspects of the library.
| #define MACROE while (0) |
Macro for encasing other multi-statement macros. This should be used along with a preceding closing brace at the end of any multi-statement macro, so that the macros contents as a whole are treated as a discrete block and not as a list of separate statements which may cause problems when used as a block (such as inline if statements).
| #define MACROS do |
Macro for encasing other multi-statement macros. This should be used along with an opening brace before the start of any multi-statement macro, so that the macros contents as a whole are treated as a discrete block and not as a list of separate statements which may cause problems when used as a block (such as inline if statements).
| #define MAX | ( | x, | |
| y | |||
| ) | (((x) > (y)) ? (x) : (y)) |
Convenience macro to determine the larger of two values.
| [in] | x | First value to compare |
| [in] | y | First value to compare |
| #define MIN | ( | x, | |
| y | |||
| ) | (((x) < (y)) ? (x) : (y)) |
Convenience macro to determine the smaller of two values.
| [in] | x | First value to compare |
| [in] | y | First value to compare |
| #define STRINGIFY | ( | x | ) | #x |
Converts the given input into a string, via the C Preprocessor. This macro puts literal quotation marks around the input, converting the source into a string literal.
| [in] | x | Input to convert into a string literal. |
| #define STRINGIFY_EXPANDED | ( | x | ) | STRINGIFY(x) |
Converts the given input into a string after macro expansion, via the C Preprocessor. This macro puts literal quotation marks around the expanded input, converting the source into a string literal.
| [in] | x | Input to expand and convert into a string literal. |
| typedef MACHINE_REG_t uint_reg_t |
Type define for an unsigned integer the same width as the selected architecture's machine register. This is distinct from the non-specific standard int data type, whose width is machine dependant but which may not reflect the actual machine register width on some targets (e.g. AVR8).
| static uint8_t BitReverse | ( | uint8_t | Byte | ) | [inline, static] |
Function to reverse the individual bits in a byte - i.e. bit 7 is moved to bit 0, bit 6 to bit 1, etc.
| [in] | Byte | Byte of data whose bits are to be reversed. |
| static void Delay_MS | ( | uint16_t | Milliseconds | ) | [inline, static] |
Function to perform a blocking delay for a specified number of milliseconds. The actual delay will be at a minimum the specified number of milliseconds, however due to loop overhead and internal calculations may be slightly higher.
| [in] | Milliseconds | Number of milliseconds to delay |