ELIOT1 HAL
Загрузка...
Поиск...
Не найдено
Общие определения для библиотеки HAL

Общие определения, используемые библиотекой 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.
 

Макрос подавления предупреждения switch-fallthrough

При использовании ARM GCC с включенными флагами -Wextra и -Wimplicit-fallthrough=n для switch-case блока с разделами case, не оканчивающихся оператором break, будет выдаваться предупреждение. Для подавления данного предупреждения, необходимо использовать предлагаемый макрос в конце каждого case, который не "закрыт" оператором break.

#define SUPPRESS_FALL_THROUGH_WARNING()   /*!< Подавление предупреждения switch-fallthrough */
 

Подробное описание

Общие определения, используемые библиотекой HAL.

Макросы

◆ BE_TO_LE16

#define BE_TO_LE16 ( x)
Макроопределение:
((((unsigned)(x) >> 8) & 0xFF) \
| (((unsigned)(x) << 8 ) & 0xFF00))

Приведение 16-битного Big-endian числа к Little-endian представлению

Аргументы
x16-битное число с Big-endian порядком байтов
Возвращает
16-битное число с Little-endian порядком байтов

◆ BE_TO_LE24

#define BE_TO_LE24 ( x)
Макроопределение:
((((unsigned)(x) >> 16) & 0xFF) \
| ((unsigned)(x) & 0xFF00) \
| (((unsigned)(x) << 16 ) & 0xFF0000))

Приведение 24-битного Big-endian числа к Little-endian представлению

Аргументы
x24-битное число с Big-endian порядком байтов
Возвращает
24-битное число с Little-endian порядком байтов

◆ BE_TO_LE32

#define BE_TO_LE32 ( x)
Макроопределение:
((((unsigned)(x) >> 24) & 0xFF) \
| (((unsigned)(x) << 24 ) & 0xFF000000) \
| (((unsigned)(x) >> 8) & 0xFF00) \
| (((unsigned)(x) << 8 ) & 0xFF0000))

Приведение 32-битного Big-endian числа к Little-endian представлению

Аргументы
x32-битное число с Big-endian порядком байтов
Возвращает
32-битное число с Little-endian порядком байтов

◆ DIM

#define DIM ( x)    (sizeof(x) / sizeof((x)[0]))

Вычисление количества элементов в массиве

Аргументы
xМассив
Возвращает
Количество элементов в массиве

◆ 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));

TODO

Функции

◆ LBBLEndian()

void LBBLEndian ( uint32_t * val,
uint8_t num_bits )

Преобразование формата представления данных Big-endian <-> Little-endian.

Заметки
Размер числа может быть от 1 до 32 битов.
Аргументы
valПреобразуемое число
num_bitsРазмер числа в битах