94 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /**
 | ||
| @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. Используйте нужные модули в своем коде. Примеры использования приведены в соответствующей теме
 | ||
| 
 | ||
| */ |