STM32_ExtendedLibs/mainpage.h

94 lines
5.0 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
@mainpage
@section overview Обзор
MyLibs - это набор библиотек для удобной работы с STM32.
\htmlonly
<a href="https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs/src/branch/release">Актуальная версия</a>
\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. Используйте нужные модули в своем коде. Примеры использования приведены в соответствующей теме
*/