/** @mainpage @section overview Обзор MyLibs - это набор библиотек для удобной работы с STM32. \htmlonly Актуальная версия \endhtmlonly @subsection features Основные возможности @subsubsection utils_module Общие утилиты (@ref MYLIBS_DEFINES) - Макросы для задержек и утилит (@ref DELAYS_DEFINES и @ref UTILS_DEFINES) - Трекеры для статистики и отладки (@ref TRACKERS и @ref TRACE) - Эволюционный алгоритм для оптимизации параметров (@ref GEN_OPTIMIZER) - Битовый доступ к регистрам через union (@ref BIT_ACCESS_DEFINES) @subsubsection trace_module Трассировка @ref TRACE - Serial трассировка через SWO и RTT (@ref TRACE_SERIAL) - GPIO трассировка для отладки (@ref TRACE_GPIO) - Сохранение логов в Flash память (@ref TRACE_RTT_FLASH) - Обработка HardFault с сохранением контекста (@ref TRACE_HARDFAULT) @subsubsection gpio_module Модуль GPIO @ref MY_LIBS_GPIO - Инициализация портов и тактирования (@ref MYLIBS_GPIO_GENERAL) - Управление светодиодами (включение/выключение, моргание, плавное затухание) (@ref MYLIBS_GPIO_LEDS) - Работа с кнопками (чтение состояния, фильтрация дребезга) (@ref MYLIBS_GPIO_SWITCH) @subsubsection tim_module Модуль таймеров @ref MY_LIBS_TIM - Базовая инициализация таймеров (@ref MYLIBS_TIM_GENERAL) - Формирование задержек (блокирующие и неблокирующие) (@ref MYLIBS_TIM_DELAY) - Работа с энкодерами (чтение положения, обработка кнопок) (@ref MYLIBS_TIM_ENCODER) - Настройка ШИМ и Output Compare (@ref MYLIBS_TIM_OC) @subsubsection uart_module Модуль UART @ref MY_LIBS_UART - Базовая инициализация UART и его пинов одной функцией (@ref UART_Base_Init) @subsubsection spi_module Модуль SPI @ref MY_LIBS_SPI - Базовая инициализация SPI и пинов одной функцией (@ref SPI_Base_Init) @subsection structure Структура проекта @code ProjectRoot/ ├── MyLibs/ # Общие библиотеки, независимые от платформы (или почти) │ ├── inc/ │ │ ├── mylibs_include.h # Главный include файл │ │ ├── mylibs_config.h # Конфигурация библиотек │ │ ├── mylibs_defs.h # Общие определения и макросы │ │ ├── bit_access.h # Битовый доступ к регистрам │ │ ├── gen_optimizer.h # Оптимизатор (генетический алгоритм) │ │ ├── trackers.h # Трекеры для отладки │ │ └── trace.h # Трассировка и логирование │ └── src/ │ ├──RTT # Библиотека RTT │ ├── __SEGGER_RTT_Conf.h # Конфигурационный файл RTT │ ├── SEGGER_RTT.c # Основной модуль RTT │ ├── SEGGER_RTT.h # Основной заголовок RTT │ ├── SEGGER_RTT_ASM_ARMv7M.S # Ассемблерная оптимизация для ARMv7M │ └── SEGGER_RTT_printf.c # Реализация printf() через RTT │ └── STM32_General # Работа с периферией STM32 ├── inc/ │ ├── general_gpio.h # Работа с GPIO │ ├── general_spi.h # Работа с SPI │ ├── general_tim.h # Работа с таймерами │ └── general_uart.h # Работа с UART └── src/ ├── general_gpio.c # Реализация GPIO ├── general_spi.c # Реализация SPI ├── general_tim.c # Реализация TIM └── general_uart.c # Реализация UART @endcode @subsection usage_basic Использование Инструкция по подключению: 1. Настройте конфигурацию @ref MYLIBS_CONFIG в @ref mylibs_config.h 2. Подключите главный заголовочный файл: @code #include "mylibs_include.h" @endcode 3. Используйте нужные модули в своем коде. Примеры использования приведены в соответствующей теме */