Переструктурирование:
- MyLibs - максимально платформонезависимые библиотеки (кроме разве что RTT) - RTT - STM32_General - библиотеки для периферии stm32
This commit is contained in:
98
mainpage.h
Normal file
98
mainpage.h
Normal file
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
* Скачать HTML документацию можно здесь:
|
||||
* https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs/archive/v0.02.zip
|
||||
*/
|
||||
/**
|
||||
@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 EVOLVE_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 # Битовый доступ к регистрам
|
||||
│ │ ├── evolve_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. Используйте нужные модули в своем коде. Примеры использования приведены в соответствующей теме
|
||||
|
||||
*/
|
||||
Reference in New Issue
Block a user