STM32_ExtendedLibs/Doc/latex/index.tex
Razvalyaev 141ea6bac9 Переструктурирование:
- MyLibs - максимально платформонезависимые библиотеки (кроме разве что RTT)
- RTT
- STM32_General - библиотеки для периферии stm32
2025-10-21 05:03:54 +03:00

90 lines
8.5 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\chapter{My\+Libs }
\hypertarget{index}{}\label{index}\index{MyLibs@{MyLibs}}
\hypertarget{index_overview}{}\doxysection{\texorpdfstring{Обзор}{Обзор}}\label{index_overview}
My\+Libs -\/ это набор библиотек для удобной работы с STM32.
\hypertarget{index_features}{}\doxysubsection{\texorpdfstring{Основные возможности}{Основные возможности}}\label{index_features}
\hypertarget{index_utils_module}{}\doxysubsubsection{\texorpdfstring{Общие утилиты (\protect\doxylink{group___m_y_l_i_b_s___d_e_f_i_n_e_s}{General Tools})}{Общие утилиты ({General Tools})}}\label{index_utils_module}
\begin{DoxyItemize}
\item Макросы для задержек и утилит (\doxylink{group___d_e_l_a_y_s___d_e_f_i_n_e_s}{Delays defines} и \doxylink{group___u_t_i_l_s___d_e_f_i_n_e_s}{Utils defines})
\item Трекеры для статистики и отладки (\doxylink{group___t_r_a_c_k_e_r_s}{Trackers defines} и \doxylink{group___t_r_a_c_e}{Trace defines})
\item Эволюционный алгоритм для оптимизации параметров (\doxylink{group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r}{Evolve optimizer})
\item Битовый доступ к регистрам через union (\doxylink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s}{Bit access defines})
\end{DoxyItemize}\hypertarget{index_trace_module}{}\doxysubsubsection{\texorpdfstring{Трассировка \protect\doxylink{group___t_r_a_c_e}{Trace defines}}{Трассировка {Trace defines}}}\label{index_trace_module}
\begin{DoxyItemize}
\item Serial трассировка через SWO и RTT (\doxylink{group___t_r_a_c_e___s_e_r_i_a_l}{Serial trace defines})
\item GPIO трассировка для отладки (\doxylink{group___t_r_a_c_e___g_p_i_o}{GPIO trace defines})
\item Сохранение логов в Flash память (\doxylink{group___t_r_a_c_e___r_t_t___f_l_a_s_h}{Flash RTT Buffer})
\item Обработка Hard\+Fault с сохранением контекста (\doxylink{group___t_r_a_c_e___h_a_r_d_f_a_u_l_t}{Hardfault trace defines})
\end{DoxyItemize}\hypertarget{index_gpio_module}{}\doxysubsubsection{\texorpdfstring{Модуль GPIO \protect\doxylink{group___m_y___l_i_b_s___g_p_i_o}{GPIO Tools}}{Модуль GPIO {GPIO Tools}}}\label{index_gpio_module}
\begin{DoxyItemize}
\item Инициализация портов и тактирования (\doxylink{group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l}{General tools})
\item Управление светодиодами (включение/выключение, моргание, плавное затухание) (\doxylink{group___m_y_l_i_b_s___g_p_i_o___l_e_d_s}{LED tools})
\item Работа с кнопками (чтение состояния, фильтрация дребезга) (\doxylink{group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h}{Switch tools})
\end{DoxyItemize}\hypertarget{index_tim_module}{}\doxysubsubsection{\texorpdfstring{Модуль таймеров \protect\doxylink{group___m_y___l_i_b_s___t_i_m}{TIM Tools}}{Модуль таймеров {TIM Tools}}}\label{index_tim_module}
\begin{DoxyItemize}
\item Базовая инициализация таймеров (\doxylink{group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l}{General tools})
\item Формирование задержек (блокирующие и неблокирующие) (\doxylink{group___m_y_l_i_b_s___t_i_m___d_e_l_a_y}{Delay tools})
\item Работа с энкодерами (чтение положения, обработка кнопок) (\doxylink{group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r}{Encoder tools})
\item Настройка ШИМ и Output Compare (\doxylink{group___m_y_l_i_b_s___t_i_m___o_c}{PWM/\+OC Channels tools})
\end{DoxyItemize}\hypertarget{index_uart_module}{}\doxysubsubsection{\texorpdfstring{Модуль UART \protect\doxylink{group___m_y___l_i_b_s___u_a_r_t}{UART Tools}}{Модуль UART {UART Tools}}}\label{index_uart_module}
\begin{DoxyItemize}
\item Базовая инициализация UART и его пинов одной функцией (\doxylink{group___m_y___l_i_b_s___u_a_r_t_gab9f07396b778505c934143e89953e154}{UART\+\_\+\+Base\+\_\+\+Init})
\end{DoxyItemize}\hypertarget{index_spi_module}{}\doxysubsubsection{\texorpdfstring{Модуль SPI \protect\doxylink{group___m_y___l_i_b_s___s_p_i}{SPI Tools}}{Модуль SPI {SPI Tools}}}\label{index_spi_module}
\begin{DoxyItemize}
\item Базовая инициализация SPI и пинов одной функцией (\doxylink{group___m_y___l_i_b_s___s_p_i_ga0e177e3c57a8fcdc73b5602e72ec66ba}{SPI\+\_\+\+Base\+\_\+\+Init})
\end{DoxyItemize}\hypertarget{index_structure}{}\doxysubsection{\texorpdfstring{Структура проекта}{Структура проекта}}\label{index_structure}
\begin{DoxyCode}{0}
\DoxyCodeLine{ProjectRoot/}
\DoxyCodeLine{├──\ MyLibs/\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \#\ Общие\ библиотеки,\ независимые\ от\ платформы\ (или\ почти)}
\DoxyCodeLine{\ \ \ ├──\ inc/}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ mylibs\_include.h\ \ \ \ \ \#\ Главный\ include\ файл}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ mylibs\_config.h\ \ \ \ \ \ \#\ Конфигурация\ библиотек}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ mylibs\_defs.h\ \ \ \ \ \ \ \ \#\ Общие\ определения\ и\ макросы}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ bit\_access.h\ \ \ \ \ \ \ \ \ \#\ Битовый\ доступ\ к\ регистрам}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ evolve\_optimizer.h\ \ \ \#\ Оптимизатор\ (генетический\ алгоритм)}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ trackers.h\ \ \ \ \ \ \ \ \ \ \ \#\ Трекеры\ для\ отладки}
\DoxyCodeLine{\ \ \ \ \ \ └──\ trace.h\ \ \ \ \ \ \ \ \ \ \ \ \ \ \#\ Трассировка\ и\ логирование}
\DoxyCodeLine{\ \ \ └──\ src/}
\DoxyCodeLine{}
\DoxyCodeLine{├──RTT\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \#\ Библиотека\ RTT}
\DoxyCodeLine{\ \ \ ├──\ \_\_SEGGER\_RTT\_Conf.h\ \ \ \ \ \ \#\ Конфигурационный\ файл\ RTT}
\DoxyCodeLine{\ \ \ ├──\ SEGGER\_RTT.c\ \ \ \ \ \ \ \ \ \ \ \ \ \#\ Основной\ модуль\ RTT}
\DoxyCodeLine{\ \ \ ├──\ SEGGER\_RTT.h\ \ \ \ \ \ \ \ \ \ \ \ \ \#\ Основной\ заголовок\ RTT}
\DoxyCodeLine{\ \ \ ├──\ SEGGER\_RTT\_ASM\_ARMv7M.S\ \ \#\ Ассемблерная\ оптимизация\ для\ ARMv7M}
\DoxyCodeLine{\ \ \ └──\ SEGGER\_RTT\_printf.c\ \ \ \ \ \ \#\ Реализация\ printf()\ через\ RTT}
\DoxyCodeLine{}
\DoxyCodeLine{└──\ STM32\_General\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{preprocessor}{\#\ Работа\ с\ периферией\ STM32}}
\DoxyCodeLine{\ \ \ \ ├──\ inc/}
\DoxyCodeLine{\ \ \ \ \ \ \ ├──\ general\_gpio.h\ \ \ \ \ \ \ \#\ Работа\ с\ GPIO}
\DoxyCodeLine{\ \ \ \ \ \ \ ├──\ general\_spi.h\ \ \ \ \ \ \ \ \#\ Работа\ с\ SPI}
\DoxyCodeLine{\ \ \ \ \ \ \ ├──\ general\_tim.h\ \ \ \ \ \ \ \ \#\ Работа\ с\ таймерами}
\DoxyCodeLine{\ \ \ \ \ \ \ └──\ general\_uart.h\ \ \ \ \ \ \ \#\ Работа\ с\ UART}
\DoxyCodeLine{\ \ \ \ └──\ src/}
\DoxyCodeLine{\ \ \ \ \ \ \ \ ├──\ general\_gpio.c\ \ \ \ \ \ \ \#\ Реализация\ GPIO}
\DoxyCodeLine{\ \ \ \ \ \ \ \ ├──\ general\_spi.c\ \ \ \ \ \ \ \ \#\ Реализация\ SPI}
\DoxyCodeLine{\ \ \ \ \ \ \ \ ├──\ general\_tim.c\ \ \ \ \ \ \ \ \#\ Реализация\ TIM}
\DoxyCodeLine{\ \ \ \ \ \ \ \ └──\ general\_uart.c\ \ \ \ \ \ \ \#\ Реализация\ UART}
\end{DoxyCode}
\hypertarget{index_usage_basic}{}\doxysubsection{\texorpdfstring{Использование}{Использование}}\label{index_usage_basic}
Инструкция по подключению\+:
\begin{DoxyEnumerate}
\item Настройте конфигурацию \doxylink{group___m_y_l_i_b_s___c_o_n_f_i_g}{Configs} в \doxylink{mylibs__config_8h}{mylibs\+\_\+config.\+h}
\item Подключите главный заголовочный файл\+:
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{mylibs__include_8h}{mylibs\_include.h}}"{}}}
\end{DoxyCode}
\item Используйте нужные модули в своем коде. Примеры использования приведены в соответствующей теме
\end{DoxyEnumerate}