Detailed Description
Общая утилита заголовков, содержащая макросы, функции, перечисления и типы, которые являются общими для всех аспектов библиотеки.
Define Documentation
Макрос для монтирования другого многооператорного макроса. Это должно использоваться с предшествующей закрыващей скобкой в конце любого многооператорного макроса, так что содержимое макроса рассматривается как дискретный блок, а не как список отдельных операторов, которые могут создавать пороблемы, когда используются как блок - как встраиваемые (inline) операторы IF.
Макрос для монтирования другого многооператорного макроса. Это должно использоваться с открывающей скобкой перед началом любого многооператорного макроса, так что содержимое макроса рассматривается как дискретный блок, а не как список отдельных операторов, которые могут создавать пороблемы, когда используются как блок - как встраиваемые (inline) операторы IF.
#define pgm_read_ptr |
( |
|
Addr | ) |
(void*)pgm_read_word(Addr) |
Читает указатель из пространства PROGMEM. Это в настоящий момент обертка для макроса avr-libc pgm_read_ptr() с преобразованием типа к void*, благодаря чему его значение может быть напрямую присвоено переменной указателя или использоваться в арифметике указателей без дальнейших преобразований в C. В будущих дистрибутивах avr-libc эта возможность будет частью стандартного API и реализована более формальным способом.
- Parameters:
-
[in] | Addr | адрес указателя для чтения |
- Returns:
- указатель, полученный из пространства PROGMEM.
#define SWAPENDIAN_16 |
( |
|
x | ) |
((((x) & 0xFF00) >> 8) | (((x) & 0x00FF) << 8)) |
Меняет порядок байт в 16-битном значении во время компиляции. Не используйте этот макрос для переключения порядка байт в динамических значениях, получаемых во время выполнения, используйте вместо этого SwapEndian_16(). Результат этого макроса может быть использован внутри структуры или других различных инициализаторах переменных вне функций, кое-что невозможно с вариантом встроенной (inline) функции.
- Parameters:
-
[in] | x | 16-битное значение, у которого меняется порядок байт. |
- Returns:
- входная величина, у которой изменен порядок байт.
#define SWAPENDIAN_32 |
( |
|
x | ) |
|
Value:((((x) & 0xFF000000UL) >> 24UL) | (((x) & 0x00FF0000UL) >> 8UL) | \
(((x) & 0x0000FF00UL) << 8UL) | (((x) & 0x000000FFUL) << 24UL))
Изменение порядка байт в 32-битном значении во времени компиляции. Не используйте этот макрос для изменения порядка байт в динаммических значениях, вычисляемых во время выполнения, используйте вместо этого SwapEndian_32(). Результат этого макроса может быть использован внутри структуры или других различных инициализаторах переменных вне функций, кое-что невозможно с вариантом встроенной (inline) функции.
- Parameters:
-
[in] | x | 32-битное значение, у которого меняется порядок байт. |
- Returns:
- входная величина, у которой изменен порядок байт.