MyLibs 1.0
Расширенные библиотеки для STM32
Loading...
Searching...
No Matches
E:/.WORK/STM32/STM32_ExtendedLibs/mainpage.h
1/**
2@mainpage
3
4
5@section overview Обзор
6MyLibs - это набор библиотек для удобной работы с STM32.
7
8\htmlonly
9<a href="https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs/src/branch/release">Актуальная версия</a>
10\endhtmlonly
11
12@subsection features Основные возможности
13
14@subsubsection utils_module Общие утилиты (@ref MYLIBS_DEFINES)
15- Макросы для задержек и утилит (@ref DELAYS_DEFINES и @ref UTILS_DEFINES)
16- Трекеры для статистики и отладки (@ref TRACKERS и @ref TRACE)
17- Эволюционный алгоритм для оптимизации параметров (@ref GEN_OPTIMIZER)
18- Битовый доступ к регистрам через union (@ref BIT_ACCESS_DEFINES)
19
20@subsubsection trace_module Трассировка @ref TRACE
21- Serial трассировка через SWO и RTT (@ref TRACE_SERIAL)
22- GPIO трассировка для отладки (@ref TRACE_GPIO)
23- Сохранение логов в Flash память (@ref TRACE_RTT_FLASH)
24- Обработка HardFault с сохранением контекста (@ref TRACE_HARDFAULT)
25
26@subsubsection gpio_module Модуль GPIO @ref MY_LIBS_GPIO
27- Инициализация портов и тактирования (@ref MYLIBS_GPIO_GENERAL)
28- Управление светодиодами (включение/выключение, моргание, плавное затухание) (@ref MYLIBS_GPIO_LEDS)
29- Работа с кнопками (чтение состояния, фильтрация дребезга) (@ref MYLIBS_GPIO_SWITCH)
30
31@subsubsection tim_module Модуль таймеров @ref MY_LIBS_TIM
32- Базовая инициализация таймеров (@ref MYLIBS_TIM_GENERAL)
33- Формирование задержек (блокирующие и неблокирующие) (@ref MYLIBS_TIM_DELAY)
34- Работа с энкодерами (чтение положения, обработка кнопок) (@ref MYLIBS_TIM_ENCODER)
35- Настройка ШИМ и Output Compare (@ref MYLIBS_TIM_OC)
36
37@subsubsection uart_module Модуль UART @ref MY_LIBS_UART
38- Базовая инициализация UART и его пинов одной функцией (@ref UART_Base_Init)
39
40@subsubsection spi_module Модуль SPI @ref MY_LIBS_SPI
41- Базовая инициализация SPI и пинов одной функцией (@ref SPI_Base_Init)
42
43@subsection structure Структура проекта
44
45@code
46ProjectRoot/
47├── MyLibs/ # Общие библиотеки, независимые от платформы (или почти)
48│ ├── inc/
49│ │ ├── mylibs_include.h # Главный include файл
50│ │ ├── mylibs_config.h # Конфигурация библиотек
51│ │ ├── mylibs_defs.h # Общие определения и макросы
52│ │ ├── bit_access.h # Битовый доступ к регистрам
53│ │ ├── gen_optimizer.h # Оптимизатор (генетический алгоритм)
54│ │ ├── trackers.h # Трекеры для отладки
55│ │ └── trace.h # Трассировка и логирование
56│ └── src/
57
58├──RTT # Библиотека RTT
59│ ├── __SEGGER_RTT_Conf.h # Конфигурационный файл RTT
60│ ├── SEGGER_RTT.c # Основной модуль RTT
61│ ├── SEGGER_RTT.h # Основной заголовок RTT
62│ ├── SEGGER_RTT_ASM_ARMv7M.S # Ассемблерная оптимизация для ARMv7M
63│ └── SEGGER_RTT_printf.c # Реализация printf() через RTT
64
65└── STM32_General # Работа с периферией STM32
66 ├── inc/
67 │ ├── general_gpio.h # Работа с GPIO
68 │ ├── general_spi.h # Работа с SPI
69 │ ├── general_tim.h # Работа с таймерами
70 │ └── general_uart.h # Работа с UART
71 └── src/
72 ├── general_gpio.c # Реализация GPIO
73 ├── general_spi.c # Реализация SPI
74 ├── general_tim.c # Реализация TIM
75 └── general_uart.c # Реализация UART
76@endcode
77
78
79
80
81@subsection usage_basic Использование
82
83Инструкция по подключению:
84
851. Настройте конфигурацию @ref MYLIBS_CONFIG в @ref mylibs_config.h
86
872. Подключите главный заголовочный файл:
88@code
89#include "mylibs_include.h"
90@endcode
91
923. Используйте нужные модули в своем коде. Примеры использования приведены в соответствующей теме
93
94*/