MyLibs
1.0
Расширенные библиотеки для STM32
Loading...
Searching...
No Matches
mainpage.h
1
2
/**
3
@mainpage
4
5
@section overview Обзор
6
MyLibs - это набор библиотек для удобной работы с периферией микроконтроллеров STM32.
7
8
@subsection features Основные возможности
9
10
@subsubsection utils_module Общие утилиты (@ref MYLIBS_DEFINES)
11
- Макросы для задержек и утилит (@ref DELAYS_DEFINES и @ref UTILS_DEFINES)
12
- Трекеры для статистики и отладки (@ref TRACKERS и @ref TRACE)
13
- Эволюционный алгоритм для оптимизации параметров (@ref EVOLVE_OPTIMIZER)
14
- Битовый доступ к регистрам через union (@ref BIT_ACCESS_DEFINES)
15
16
@subsubsection trace_module Трассировка @ref TRACE
17
- Serial трассировка через SWO и RTT (@ref TRACE_SERIAL)
18
- GPIO трассировка для отладки (@ref TRACE_GPIO)
19
- Сохранение логов в Flash память (@ref TRACE_RTT_FLASH)
20
- Обработка HardFault с сохранением контекста (@ref TRACE_HARDFAULT)
21
22
@subsubsection gpio_module Модуль GPIO @ref MY_LIBS_GPIO
23
- Инициализация портов и тактирования (@ref MYLIBS_GPIO_GENERAL)
24
- Управление светодиодами (включение/выключение, моргание, плавное затухание) (@ref MYLIBS_GPIO_LEDS)
25
- Работа с кнопками (чтение состояния, фильтрация дребезга) (@ref MYLIBS_GPIO_SWITCH)
26
27
@subsubsection tim_module Модуль таймеров @ref MY_LIBS_TIM
28
- Базовая инициализация таймеров (@ref MYLIBS_TIM_GENERAL)
29
- Формирование задержек (блокирующие и неблокирующие) (@ref MYLIBS_TIM_DELAY)
30
- Работа с энкодерами (чтение положения, обработка кнопок) (@ref MYLIBS_TIM_ENCODER)
31
- Настройка ШИМ и Output Compare (@ref MYLIBS_TIM_OC)
32
33
34
@subsection structure Структура проекта
35
36
@code
37
├── inc/ # Заголовочные файлы
38
│ ├── mylibs_include.h # Главный include файл
39
│ ├── mylibs_config.h # Конфигурация библиотек
40
│ ├── mylibs_defs.h # Общие определения и макросы
41
│ ├── bit_access.h # Битовый доступ к регистрам
42
│ ├── trackers.h # Трекеры для отладки
43
│ ├── trace.h # Трассировка и логирование
44
│ ├── general_gpio.h # Работа с GPIO
45
│ └── general_tim.h # Работа с таймерами
46
└── src/ # Исходные файлы
47
├── general_gpio.c # Реализация GPIO
48
└── general_tim.c # Реализация TIM
49
@endcode
50
51
@subsection usage_basic Использование
52
53
Инструкция по подключению:
54
55
1. Настройте конфигурацию @ref MYLIBS_CONFIG в @ref mylibs_config.h
56
57
2. Подключите главный заголовочный файл:
58
@code
59
#include "mylibs_include.h"
60
@endcode
61
62
3. Используйте нужные модули в своем коде
63
64
@subsubsection gpio_example Пример работы с GPIO
65
66
@code
67
// Инициализация светодиода
68
MX_GPIO_Init();
69
GPIO_LEDTypeDef led;
70
GPIO_LED_Init(&led, GPIOA, GPIO_PIN_5, 1);
71
72
// Включение светодиода
73
GPIO_LED_On(&led);
74
75
// Запуск моргания
76
GPIO_LED_Blink_Start(&led, 500); // Период 500 мс
77
78
// В основном цикле
79
while (1) {
80
GPIO_LED_Dynamic_Handle(&led);
81
}
82
@endcode
83
84
@subsubsection tim_example Пример работы с таймером
85
86
@code
87
// Настройка таймера
88
TIM_SettingsTypeDef tim_settings = {0};
89
tim_settings.htim.Instance = TIM2;
90
tim_settings.sTimAHBFreqMHz = SystemCoreClock;
91
tim_settings.sTickBaseUS = TIM_TickBase_1MS;
92
tim_settings.sTimFreqHz = 1000; // 1 кГц
93
tim_settings.sTimMode = TIM_IT_CONF;
94
95
TIM_Base_Init(&tim_settings);
96
HAL_TIM_Base_Start(&tim_settings.htim);
97
@endcode
98
99
@subsection dependencies Зависимости
100
101
- HAL библиотека STM32
102
- SEGGER RTT (опционально, для RTT трассировки)
103
- FreeRTOS (опционально, для FreeRTOS задержек)
104
*/
MyLibsGeneral
mainpage.h
Generated by
1.10.0