STM32_ExtendedLibs/Doc/html/index.html

207 lines
12 KiB
HTML
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.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: MyLibs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('index.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div><div class="header">
<div class="headertitle"><div class="title">MyLibs </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1 class="doxsection"><a class="anchor" id="overview"></a>
Обзор</h1>
<p>MyLibs - это набор библиотек для удобной работы с STM32.</p>
<p>
<a href="https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs/src/branch/release">Актуальная версия</a>
</p>
<h2 class="doxsection"><a class="anchor" id="features"></a>
Основные возможности</h2>
<h3 class="doxsection"><a class="anchor" id="utils_module"></a>
Общие утилиты (<a class="el" href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html">General Tools</a>)</h3>
<ul>
<li>Макросы для задержек и утилит (<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html">Delays defines</a> и <a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html">Utils defines</a>)</li>
<li>Трекеры для статистики и отладки (<a class="el" href="group___t_r_a_c_k_e_r_s.html">Trackers defines</a> и <a class="el" href="group___t_r_a_c_e.html">Trace defines</a>)</li>
<li>Эволюционный алгоритм для оптимизации параметров (<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html">Genetic optimizer</a>)</li>
<li>Битовый доступ к регистрам через union (<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html">Bit access defines</a>)</li>
</ul>
<h3 class="doxsection"><a class="anchor" id="trace_module"></a>
Трассировка <a class="el" href="group___t_r_a_c_e.html">Trace defines</a></h3>
<ul>
<li>Serial трассировка через SWO и RTT (<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html">Serial trace defines</a>)</li>
<li>GPIO трассировка для отладки (<a class="el" href="group___t_r_a_c_e___g_p_i_o.html">GPIO trace defines</a>)</li>
<li>Сохранение логов в Flash память (<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html">Flash RTT Buffer</a>)</li>
<li>Обработка HardFault с сохранением контекста (<a class="el" href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html">Hardfault trace defines</a>)</li>
</ul>
<h3 class="doxsection"><a class="anchor" id="gpio_module"></a>
Модуль GPIO <a class="el" href="group___m_y___l_i_b_s___g_p_i_o.html">GPIO Tools</a></h3>
<ul>
<li>Инициализация портов и тактирования (<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html">General tools</a>)</li>
<li>Управление светодиодами (включение/выключение, моргание, плавное затухание) (<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html">LED tools</a>)</li>
<li>Работа с кнопками (чтение состояния, фильтрация дребезга) (<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h.html">Switch tools</a>)</li>
</ul>
<h3 class="doxsection"><a class="anchor" id="tim_module"></a>
Модуль таймеров <a class="el" href="group___m_y___l_i_b_s___t_i_m.html">TIM Tools</a></h3>
<ul>
<li>Базовая инициализация таймеров (<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html">General tools</a>)</li>
<li>Формирование задержек (блокирующие и неблокирующие) (<a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html">Delay tools</a>)</li>
<li>Работа с энкодерами (чтение положения, обработка кнопок) (<a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html">Encoder tools</a>)</li>
<li>Настройка ШИМ и Output Compare (<a class="el" href="group___m_y_l_i_b_s___t_i_m___o_c.html">PWM/OC Channels tools</a>)</li>
</ul>
<h3 class="doxsection"><a class="anchor" id="uart_module"></a>
Модуль UART <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html">UART Tools</a></h3>
<ul>
<li>Базовая инициализация UART и его пинов одной функцией (<a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">UART_Base_Init</a>)</li>
</ul>
<h3 class="doxsection"><a class="anchor" id="spi_module"></a>
Модуль SPI <a class="el" href="group___m_y___l_i_b_s___s_p_i.html">SPI Tools</a></h3>
<ul>
<li>Базовая инициализация SPI и пинов одной функцией (<a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a>)</li>
</ul>
<h2 class="doxsection"><a class="anchor" id="structure"></a>
Структура проекта</h2>
<div class="fragment"><div class="line">ProjectRoot/</div>
<div class="line">├── MyLibs/ # Общие библиотеки, независимые от платформы (или почти)</div>
<div class="line">│ ├── inc/</div>
<div class="line">│ │ ├── mylibs_include.h # Главный include файл</div>
<div class="line">│ │ ├── mylibs_config.h # Конфигурация библиотек</div>
<div class="line">│ │ ├── mylibs_defs.h # Общие определения и макросы</div>
<div class="line">│ │ ├── bit_access.h # Битовый доступ к регистрам</div>
<div class="line">│ │ ├── gen_optimizer.h # Оптимизатор (генетический алгоритм)</div>
<div class="line">│ │ ├── trackers.h # Трекеры для отладки</div>
<div class="line">│ │ └── trace.h # Трассировка и логирование</div>
<div class="line">│ └── src/</div>
<div class="line"></div>
<div class="line">├──RTT # Библиотека RTT</div>
<div class="line">│ ├── __SEGGER_RTT_Conf.h # Конфигурационный файл RTT</div>
<div class="line">│ ├── SEGGER_RTT.c # Основной модуль RTT</div>
<div class="line">│ ├── SEGGER_RTT.h # Основной заголовок RTT</div>
<div class="line">│ ├── SEGGER_RTT_ASM_ARMv7M.S # Ассемблерная оптимизация для ARMv7M</div>
<div class="line">│ └── SEGGER_RTT_printf.c # Реализация printf() через RTT</div>
<div class="line"></div>
<div class="line">└── STM32_General <span class="preprocessor"># Работа с периферией STM32</span></div>
<div class="line"> ├── inc/</div>
<div class="line"> │ ├── general_gpio.h # Работа с GPIO</div>
<div class="line"> │ ├── general_spi.h # Работа с SPI</div>
<div class="line"> │ ├── general_tim.h # Работа с таймерами</div>
<div class="line"> │ └── general_uart.h # Работа с UART</div>
<div class="line"> └── src/</div>
<div class="line"> ├── general_gpio.c # Реализация GPIO</div>
<div class="line"> ├── general_spi.c # Реализация SPI</div>
<div class="line"> ├── general_tim.c # Реализация TIM</div>
<div class="line"> └── general_uart.c # Реализация UART</div>
</div><!-- fragment --><h2 class="doxsection"><a class="anchor" id="usage_basic"></a>
Использование</h2>
<p>Инструкция по подключению:</p>
<ol type="1">
<li>Настройте конфигурацию <a class="el" href="group___m_y_l_i_b_s___c_o_n_f_i_g.html">Configs</a> в <a class="el" href="mylibs__config_8h.html">mylibs_config.h</a></li>
<li>Подключите главный заголовочный файл: <div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="mylibs__include_8h.html">mylibs_include.h</a>&quot;</span></div>
<div class="ttc" id="amylibs__include_8h_html"><div class="ttname"><a href="mylibs__include_8h.html">mylibs_include.h</a></div><div class="ttdoc">Заголочный файл для всех библиотек</div></div>
</div><!-- fragment --></li>
<li>Используйте нужные модули в своем коде. Примеры использования приведены в соответствующей теме </li>
</ol>
</div></div><!-- PageDoc -->
<a href="doxygen_crawl.html"></a>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>