MyLibs 1.0
Расширенные библиотеки для STM32
Loading...
Searching...
No Matches
Utils defines

Общие вспомогательные макросы More...

Collaboration diagram for Utils defines:

Macros

#define ClearStruct(_struct_)
 Обнуление структуры.
#define Divide_Up(_val_, _div_)
 Деление с округлением вверх
#define ByteSwap16(v)
 Swap between Little Endian and Big Endian.
#define ABS(x)
 Абсолютное значение числа

Detailed Description

Общие вспомогательные макросы

Macro Definition Documentation

◆ ClearStruct

#define ClearStruct ( _struct_)
Value:
memset(&(_struct_), 0, sizeof(_struct_))

Обнуление структуры.

Parameters
_struct_Структура, которую нужно обнулить.

Макрос использует memset для обнуления всей памяти структуры. Используется для быстрой и безопасной инициализации переменных структур до нуля.

Definition at line 169 of file mylibs_defs.h.

◆ Divide_Up

#define Divide_Up ( _val_,
_div_ )
Value:
((_val_ - 1) / _div_) + 1 /* через мат выражение */

Деление с округлением вверх

Parameters
_val_Делимое.
_div_Делитель.
Returns
Результат деления, округленный вверх.

Если результат деления без остатка: он возвращается как есть Если с остатком - округляется вверх

Definition at line 180 of file mylibs_defs.h.

◆ ByteSwap16

#define ByteSwap16 ( v)
Value:
(((v&0xFF00) >> (8)) | ((v&0x00FF) << (8)))

Swap between Little Endian and Big Endian.

Parameters
vИсходное 16-битное значение.
Returns
Результат с поменяными местами старшим и младшим байтом.

Переключения между двумя типами хранения слова: HI-LO байты и LO-HI байты.

Definition at line 188 of file mylibs_defs.h.

◆ ABS

#define ABS ( x)
Value:
( ((x) > 0)? (x) : -(x))

Абсолютное значение числа

Parameters
xЧисло.
Returns
Абсолютное значение числа x.

Берет число по модулю. Хз как работает библиотечный abs в stdlib.h, мб это быстрее, но вряд ли конечно.

Definition at line 196 of file mylibs_defs.h.