Общие определения, используемые библиотекой HAL.
Подробнее...
|
| #define | UNUSED(x) ((void)(x)); |
| |
|
#define | MAKE_VERSION(major, minor, bugfix) (((major) << 16) | ((minor) << 8) | (bugfix)) |
| | Составление номера версии для драйверов
|
| |
|
#define | HAL_COMMON_DRIVER_VERSION (MAKE_VERSION(0, 1, 0)) |
| | Версия драйвера common.
|
| |
| #define | BE_TO_LE32(x) |
| | Приведение 32-битного Big-endian числа к Little-endian представлению
|
| |
| #define | BE_TO_LE24(x) |
| | Приведение 24-битного Big-endian числа к Little-endian представлению
|
| |
| #define | BE_TO_LE16(x) |
| | Приведение 16-битного Big-endian числа к Little-endian представлению
|
| |
| #define | MIN(a, b) (((a) < (b)) ? (a) : (b)) |
| | Выбор минимального значения из двух вариантов
|
| |
| #define | MAX(a, b) (((a) > (b)) ? (a) : (b)) |
| | Выбор максимального значения из двух вариантов
|
| |
| #define | DIM(x) (sizeof(x) / sizeof((x)[0])) |
| | Вычисление количества элементов в массиве
|
| |
| #define | UINT16_MAX ((uint16_t) -1) |
| |
| #define | UINT32_MAX ((uint32_t) -1) |
| |
| #define | FIELD_BIT(top, bottom) ((top) - (bottom) + 1) |
| | Вычисление длины битового поля
|
| |
|
|
typedef int32_t | status_t |
| | Тип, используемый для всех возвращаемых значений статуса и ошибок
|
| |
|
| void | LBBLEndian (uint32_t *val, uint8_t num_bits) |
| | Преобразование формата представления данных Big-endian <-> Little-endian.
|
| |
|
При использовании ARM GCC с включенными флагами -Wextra и -Wimplicit-fallthrough=n для switch-case блока с разделами case, не оканчивающихся оператором break, будет выдаваться предупреждение. Для подавления данного предупреждения, необходимо использовать предлагаемый макрос в конце каждого case, который не "закрыт" оператором break.
|
| #define | SUPPRESS_FALL_THROUGH_WARNING() /*!< Подавление предупреждения switch-fallthrough */ |
| |
Общие определения, используемые библиотекой HAL.
◆ BE_TO_LE16
Макроопределение: ((((unsigned)(x) >> 8) & 0xFF) \
| (((unsigned)(x) << 8 ) & 0xFF00))
Приведение 16-битного Big-endian числа к Little-endian представлению
- Аргументы
-
| x | 16-битное число с Big-endian порядком байтов |
- Возвращает
- 16-битное число с Little-endian порядком байтов
◆ BE_TO_LE24
Макроопределение: ((((unsigned)(x) >> 16) & 0xFF) \
| ((unsigned)(x) & 0xFF00) \
| (((unsigned)(x) << 16 ) & 0xFF0000))
Приведение 24-битного Big-endian числа к Little-endian представлению
- Аргументы
-
| x | 24-битное число с Big-endian порядком байтов |
- Возвращает
- 24-битное число с Little-endian порядком байтов
◆ BE_TO_LE32
Макроопределение: ((((unsigned)(x) >> 24) & 0xFF) \
| (((unsigned)(x) << 24 ) & 0xFF000000) \
| (((unsigned)(x) >> 8) & 0xFF00) \
| (((unsigned)(x) << 8 ) & 0xFF0000))
Приведение 32-битного Big-endian числа к Little-endian представлению
- Аргументы
-
| x | 32-битное число с Big-endian порядком байтов |
- Возвращает
- 32-битное число с Little-endian порядком байтов
◆ DIM
| #define DIM |
( |
| x | ) |
(sizeof(x) / sizeof((x)[0])) |
Вычисление количества элементов в массиве
- Аргументы
-
- Возвращает
- Количество элементов в массиве
◆ FIELD_BIT
| #define FIELD_BIT |
( |
| top, |
|
|
| bottom ) ((top) - (bottom) + 1) |
Вычисление длины битового поля
- Аргументы
-
| top | Старший бит поля |
| bottom | Младший бит поля |
- Возвращает
- Длина битового поля
◆ MAX
| #define MAX |
( |
| a, |
|
|
| b ) (((a) > (b)) ? (a) : (b)) |
Выбор максимального значения из двух вариантов
- Аргументы
-
| a | Первое значение |
| b | Второе значение |
- Возвращает
- Максимальное значение
◆ MIN
| #define MIN |
( |
| a, |
|
|
| b ) (((a) < (b)) ? (a) : (b)) |
Выбор минимального значения из двух вариантов
- Аргументы
-
| a | Первое значение |
| b | Второе значение |
- Возвращает
- Минимальное значение
◆ SUPPRESS_FALL_THROUGH_WARNING
| #define SUPPRESS_FALL_THROUGH_WARNING |
( |
| ) |
/*!< Подавление предупреждения switch-fallthrough */ |
Подавление предупреждения switch-fallthrough
◆ UINT16_MAX
| #define UINT16_MAX ((uint16_t) -1) |
Максимальное значение 16-битного беззнакового целого числа
◆ UINT32_MAX
| #define UINT32_MAX ((uint32_t) -1) |
Максимальное значение 32-битного беззнакового целого числа
◆ UNUSED
| #define UNUSED |
( |
| x | ) |
((void)(x)); |
◆ LBBLEndian()
| void LBBLEndian |
( |
uint32_t * | val, |
|
|
uint8_t | num_bits ) |
Преобразование формата представления данных Big-endian <-> Little-endian.
- Заметки
- Размер числа может быть от 1 до 32 битов.
- Аргументы
-
| val | Преобразуемое число |
| num_bits | Размер числа в битах |