Доработал модуль TIM (с точки зрения документции. Код не проверен)
Доработна документация в целом - добавелн main page - исправлены ошибки в шапках и коментах - добавлен граф инклюдов
This commit is contained in:
@@ -1,34 +1,34 @@
|
||||
/**
|
||||
**************************************************************************
|
||||
* @file mylibs_defs.h
|
||||
* @brief Заголочный файл для дефайнов библиотеки MyLibsGeneral.
|
||||
* @file bit_access.h
|
||||
* @brief Заголочный файл для дефайнов битового доступа.
|
||||
**************************************************************************
|
||||
* @defgroup BIT_ACCESS_DEFINES Bit access defines
|
||||
* @ingroup MYLIBS_DEFINES
|
||||
* @brief Макросы и typedef'ы для работы с битами в unsigned типах.
|
||||
* @details
|
||||
* В этом файле определены макросы для получения значения конкретного бита^
|
||||
* - @ref uint8_bit
|
||||
* - @ref uint16_bit
|
||||
* - @ref uint32_bit
|
||||
* - @ref uint64_bit
|
||||
*
|
||||
* Особенности использования:
|
||||
* - Индекс бита должен быть **константой на этапе компиляции**.
|
||||
* Пример верного использования:
|
||||
* @code
|
||||
* uint8_t val = 0x05;
|
||||
* uint8_t b2 = uint8_bit(val, 2); // Получить бит 2
|
||||
* uint8_bit(val, 6) = 1; // Записать бит 6
|
||||
* @endcode
|
||||
* - Нельзя использовать переменные в качестве индекса:
|
||||
* @code
|
||||
* uint8_t i = 2;
|
||||
* uint8_bit(val, i); // Не сработает!
|
||||
* @endcode
|
||||
* - Макросы возвращают 0 или 1.
|
||||
* - Доступ реализован через приведение к `union` с битовыми полями, поэтому это
|
||||
* безопасный способ работы с отдельными битами без ручного сдвига и маскирования.
|
||||
В этом файле определены макросы для получения значения конкретного бита^
|
||||
- @ref uint8_bit
|
||||
- @ref uint16_bit
|
||||
- @ref uint32_bit
|
||||
- @ref uint64_bit
|
||||
|
||||
Особенности использования:
|
||||
- Индекс бита должен быть **константой на этапе компиляции**.
|
||||
Пример верного использования:
|
||||
@code
|
||||
uint8_t val = 0x05;
|
||||
uint8_t b2 = uint8_bit(val, 2); // Получить бит 2
|
||||
uint8_bit(val, 6) = 1; // Записать бит 6
|
||||
@endcode
|
||||
- Нельзя использовать переменные в качестве индекса:
|
||||
@code
|
||||
uint8_t i = 2;
|
||||
uint8_bit(val, i); // Не сработает!
|
||||
@endcode
|
||||
- Макросы возвращают 0 или 1.
|
||||
- Доступ реализован через приведение к `union` с битовыми полями, поэтому это
|
||||
безопасный способ работы с отдельными битами без ручного сдвига и маскирования.
|
||||
* @{
|
||||
*************************************************************************/
|
||||
#ifndef __BIT_ACCESS_H_
|
||||
|
||||
Reference in New Issue
Block a user