MyLibs 1.0
Расширенные библиотеки для STM32
Loading...
Searching...
No Matches
mainpage.h
1
2/**
3@mainpage
4
5@section overview Обзор
6MyLibs - это набор библиотек для удобной работы с периферией микроконтроллеров 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
551. Настройте конфигурацию @ref MYLIBS_CONFIG в @ref mylibs_config.h
56
572. Подключите главный заголовочный файл:
58@code
59#include "mylibs_include.h"
60@endcode
61
623. Используйте нужные модули в своем коде
63
64@subsubsection gpio_example Пример работы с GPIO
65
66@code
67// Инициализация светодиода
68MX_GPIO_Init();
69GPIO_LEDTypeDef led;
70GPIO_LED_Init(&led, GPIOA, GPIO_PIN_5, 1);
71
72// Включение светодиода
73GPIO_LED_On(&led);
74
75// Запуск моргания
76GPIO_LED_Blink_Start(&led, 500); // Период 500 мс
77
78// В основном цикле
79while (1) {
80GPIO_LED_Dynamic_Handle(&led);
81}
82@endcode
83
84@subsubsection tim_example Пример работы с таймером
85
86@code
87// Настройка таймера
88TIM_SettingsTypeDef tim_settings = {0};
89tim_settings.htim.Instance = TIM2;
90tim_settings.sTimAHBFreqMHz = SystemCoreClock;
91tim_settings.sTickBaseUS = TIM_TickBase_1MS;
92tim_settings.sTimFreqHz = 1000; // 1 кГц
93tim_settings.sTimMode = TIM_IT_CONF;
94
95TIM_Base_Init(&tim_settings);
96HAL_TIM_Base_Start(&tim_settings.htim);
97@endcode
98
99@subsection dependencies Зависимости
100
101- HAL библиотека STM32
102- SEGGER RTT (опционально, для RTT трассировки)
103- FreeRTOS (опционально, для FreeRTOS задержек)
104 */