MyLibs
1.0
Расширенные библиотеки для STM32
Loading...
Searching...
No Matches
E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/mainpage.h
1
/*
2
@mainpage
3
4
5
@section overview Обзор
6
MyLibs - это набор библиотек для удобной работы с 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_TOOLS)
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
46
ProjectRoot/
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
@endcode
65
66
#### Модуль GPIO @ref MY_LIBS_GPIO
67
- Инициализация портов и тактирования (@ref MYLIBS_GPIO_GENERAL)
68
- Управление светодиодами (включение/выключение, моргание, плавное затухание) (@ref MYLIBS_GPIO_LEDS)
69
- Работа с кнопками (чтение состояния, фильтрация дребезга) (@ref MYLIBS_GPIO_SWITCH)
70
71
#### Модуль таймеров @ref MY_LIBS_TIM
72
- Базовая инициализация таймеров (@ref MYLIBS_TIM_GENERAL)
73
- Формирование задержек (блокирующие и неблокирующие) (@ref MYLIBS_TIM_DELAY)
74
- Работа с энкодерами (чтение положения, обработка кнопок) (@ref MYLIBS_TIM_ENCODER)
75
- Настройка ШИМ и Output Compare (@ref MYLIBS_TIM_OC)
76
77
#### Модуль UART @ref MY_LIBS_UART
78
- Базовая инициализация UART и его пинов одной функцией (@ref UART_Base_Init)
79
80
@subsubsection spi_module Модуль SPI @ref MY_LIBS_SPI
81
- Базовая инициализация SPI и пинов одной функцией (@ref SPI_Base_Init)
82
83
84
85
86
87
@subsection usage_basic Использование
88
89
Инструкция по подключению:
90
91
1. Настройте конфигурацию @ref MYLIBS_CONFIG в @ref mylibs_config.h
92
93
2. Подключите главный заголовочный файл:
94
@code
95
#include "mylibs_include.h"
96
@endcode
97
98
3. Используйте нужные модули в своем коде. Примеры использования приведены в соответствующей теме
99
100
*/
mainpage.h
Generated by
1.14.0