![]() |
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 |