корр. gitignore
3
.gitignore
vendored
@ -1,2 +1 @@
|
||||
/MyLibsGeneral/.vscode/
|
||||
/Doc/
|
||||
/MyLibsGeneral/.vscode/
|
||||
165
Doc/html/_s_p_i__usage__example-example.html
Normal file
@ -0,0 +1,165 @@
|
||||
<!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: SPI_Usage_Example</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"> 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('_s_p_i__usage__example-example.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 class="header">
|
||||
<div class="headertitle"><div class="title">SPI_Usage_Example</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<p>Пример использования SPI_Base_Init.</p>
|
||||
<p>Пример использования SPI_Base_Init. Инициализация SPI1 с базовыми настройками: </p><div class="fragment"><div class="line"><span class="preprocessor">#include "<a class="code" href="general__spi_8h.html">general_spi.h</a>"</span></div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"><a id="_a0" name="_a0"></a><a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> mySPI;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"><span class="keywordtype">void</span> SPI1_Init(<span class="keywordtype">void</span>)</div>
|
||||
<div class="line">{</div>
|
||||
<div class="line"> <span class="comment">// Настройка SPI1</span></div>
|
||||
<div class="line"> mySPI.<a id="a1" name="a1"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Instance = SPI1;</div>
|
||||
<div class="line"> mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.Mode = SPI_MODE_MASTER;</div>
|
||||
<div class="line"> mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.Direction = SPI_DIRECTION_2LINES;</div>
|
||||
<div class="line"> mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.DataSize = SPI_DATASIZE_8BIT;</div>
|
||||
<div class="line"> mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CLKPolarity = SPI_POLARITY_LOW;</div>
|
||||
<div class="line"> mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CLKPhase = SPI_PHASE_1EDGE;</div>
|
||||
<div class="line"> mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.NSS = SPI_NSS_SOFT;</div>
|
||||
<div class="line"> mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;</div>
|
||||
<div class="line"> mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.FirstBit = SPI_FIRSTBIT_MSB;</div>
|
||||
<div class="line"> mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.TIMode = SPI_TIMODE_DISABLE;</div>
|
||||
<div class="line"> mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"> <span class="comment">// Настройка GPIO для SPI</span></div>
|
||||
<div class="line"> mySPI.<a id="a2" name="a2"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">CLK_GPIOx</a> = GPIOA;</div>
|
||||
<div class="line"> mySPI.<a id="a3" name="a3"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">CLK_PIN</a> = GPIO_PIN_5;</div>
|
||||
<div class="line"> mySPI.<a id="a4" name="a4"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">CLK_GPIO_AlternageFunc</a> = GPIO_AF5_SPI1;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"> mySPI.<a id="a5" name="a5"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">MISO_GPIOx</a> = GPIOA;</div>
|
||||
<div class="line"> mySPI.<a id="a6" name="a6"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">MISO_PIN</a> = GPIO_PIN_6;</div>
|
||||
<div class="line"> mySPI.<a id="a7" name="a7"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">MISO_GPIO_AlternageFunc</a> = GPIO_AF5_SPI1;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"> mySPI.<a id="a8" name="a8"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">MOSI_GPIOx</a> = GPIOA;</div>
|
||||
<div class="line"> mySPI.<a id="a9" name="a9"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">MOSI_PIN</a> = GPIO_PIN_7;</div>
|
||||
<div class="line"> mySPI.<a id="a10" name="a10"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">MOSI_GPIO_AlternageFunc</a> = GPIO_AF5_SPI1;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"> <span class="comment">// Инициализация SPI</span></div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(<a id="a11" name="a11"></a><a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a>(&mySPI) != HAL_OK)</div>
|
||||
<div class="line"> {</div>
|
||||
<div class="line"> <span class="comment">// Обработка ошибки</span></div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line">}</div>
|
||||
<div class="ttc" id="ageneral__spi_8h_html"><div class="ttname"><a href="general__spi_8h.html">general_spi.h</a></div><div class="ttdoc">Заголовочный файл для модуля инициализации SPI.</div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___s_p_i_html_ga0e177e3c57a8fcdc73b5602e72ec66ba"><div class="ttname"><a href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a></div><div class="ttdeci">HAL_StatusTypeDef SPI_Base_Init(SPI_SettingsTypeDef *sspi)</div><div class="ttdoc">Инициализация SPI с помощью структуры SPI_SettingsTypeDef.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8c_source.html#l00023">general_spi.c:23</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a></div><div class="ttdoc">Структура настроек SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00106">general_spi.h:107</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a0af3bdb273818ff97eb4ff3cff918820"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">SPI_SettingsTypeDef::MOSI_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * MOSI_GPIOx</div><div class="ttdoc">Порт MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00118">general_spi.h:118</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a0d55a2941854f61934487f3d209cfa95"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">SPI_SettingsTypeDef::MISO_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * MISO_GPIOx</div><div class="ttdoc">Порт MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00114">general_spi.h:114</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3366c654d7ec6dd41c6a0b504dc8509a"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">SPI_SettingsTypeDef::MISO_PIN</a></div><div class="ttdeci">uint32_t MISO_PIN</div><div class="ttdoc">Пин MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00115">general_spi.h:115</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3bcb1ed12da3544e02e6d36493669bdc"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">SPI_SettingsTypeDef::CLK_PIN</a></div><div class="ttdeci">uint32_t CLK_PIN</div><div class="ttdoc">Пин CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00111">general_spi.h:111</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3f3748103a0b7861f6700042fd691ba1"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">SPI_SettingsTypeDef::CLK_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t CLK_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00112">general_spi.h:112</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a6a15d48eccf92959de3a086031fdc979"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">SPI_SettingsTypeDef::CLK_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * CLK_GPIOx</div><div class="ttdoc">Порт CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00110">general_spi.h:110</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a961208869faf4a7369aaf4edde75f176"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">SPI_SettingsTypeDef::MOSI_PIN</a></div><div class="ttdeci">uint32_t MOSI_PIN</div><div class="ttdoc">Пин MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00119">general_spi.h:119</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_ad203d8b8d67e4f477d002d15b03ba422"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">SPI_SettingsTypeDef::hspi</a></div><div class="ttdeci">SPI_HandleTypeDef hspi</div><div class="ttdoc">HAL handle SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00108">general_spi.h:108</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_aecd7a5c6e205335b8ed229d74cd35d14"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">SPI_SettingsTypeDef::MISO_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t MISO_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00116">general_spi.h:116</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_afbe75a1c36650a4a9b41fa706a4c7eab"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">SPI_SettingsTypeDef::MOSI_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t MOSI_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00120">general_spi.h:120</a></div></div>
|
||||
</div><!-- fragment --><div class="fragment"></div><!-- fragment --> </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>
|
||||
116
Doc/html/examples.html
Normal file
@ -0,0 +1,116 @@
|
||||
<!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: Examples</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"> 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('examples.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 class="header">
|
||||
<div class="headertitle"><div class="title">Examples</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all examples:</div><ul>
|
||||
<li><a class="el" href="_s_p_i__usage__example-example.html">SPI_Usage_Example</a></li>
|
||||
</ul>
|
||||
</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>
|
||||
4
Doc/html/examples.js
Normal file
@ -0,0 +1,4 @@
|
||||
var examples =
|
||||
[
|
||||
[ "SPI_Usage_Example", "_s_p_i__usage__example-example.html", null ]
|
||||
];
|
||||
233
Doc/html/general__spi_8c.html
Normal file
@ -0,0 +1,233 @@
|
||||
<!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: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src/general_spi.c File Reference</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"> 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('general__spi_8c.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 class="header">
|
||||
<div class="headertitle"><div class="title">general_spi.c File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Модуль для инициализации SPI.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include "<a class="el" href="general__spi_8h_source.html">general_spi.h</a>"</code><br />
|
||||
<code>#include "<a class="el" href="general__gpio_8h_source.html">general_gpio.h</a>"</code><br />
|
||||
</div><div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Include dependency graph for general_spi.c:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center"><img src="general__spi_8c__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_src_2general__spi_8c" loading="lazy" alt=""/></div>
|
||||
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_src_2general__spi_8c" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_src_2general__spi_8c">
|
||||
<area shape="rect" title="Модуль для инициализации SPI." alt="" coords="18,5,216,64"/>
|
||||
<area shape="rect" href="general__spi_8h.html" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="5,112,104,139"/>
|
||||
<area shape="poly" title=" " alt="" coords="99,66,74,101,70,97,95,63"/>
|
||||
<area shape="rect" href="general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="127,112,232,139"/>
|
||||
<area shape="poly" title=" " alt="" coords="140,63,164,97,160,101,135,66"/>
|
||||
<area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="66,187,168,213"/>
|
||||
<area shape="poly" title=" " alt="" coords="67,137,98,173,94,177,63,141"/>
|
||||
<area shape="rect" href="mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="61,261,173,288"/>
|
||||
<area shape="poly" title=" " alt="" coords="120,214,120,246,114,246,114,214"/>
|
||||
<area shape="rect" title=" " alt="" coords="58,336,176,363"/>
|
||||
<area shape="poly" title=" " alt="" coords="120,289,120,320,114,320,114,289"/>
|
||||
<area shape="poly" title=" " alt="" coords="171,141,140,177,136,173,167,137"/>
|
||||
</map>
|
||||
</div>
|
||||
</div>
|
||||
<p><a href="general__spi_8c_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga0e177e3c57a8fcdc73b5602e72ec66ba" id="r_ga0e177e3c57a8fcdc73b5602e72ec66ba"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a> (<a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</td></tr>
|
||||
<tr class="memdesc:ga0e177e3c57a8fcdc73b5602e72ec66ba"><td class="mdescLeft"> </td><td class="mdescRight">Инициализация SPI с помощью структуры <a class="el" href="struct_s_p_i___settings_type_def.html" title="Структура настроек SPI.">SPI_SettingsTypeDef</a>. <br /></td></tr>
|
||||
<tr class="memitem:ae80d21e5cab86571709a2619442733b5" id="r_ae80d21e5cab86571709a2619442733b5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae80d21e5cab86571709a2619442733b5">SPI_GPIO_Init</a> (<a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</td></tr>
|
||||
<tr class="memdesc:ae80d21e5cab86571709a2619442733b5"><td class="mdescLeft"> </td><td class="mdescRight">Инициализация GPIO для SPI. <br /></td></tr>
|
||||
<tr class="memitem:abb78b8bd5303e88f969694e6fe03c411" id="r_abb78b8bd5303e88f969694e6fe03c411"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#abb78b8bd5303e88f969694e6fe03c411">SPI_DMA_Init</a> (SPI_HandleTypeDef *hspi, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X)</td></tr>
|
||||
<tr class="memitem:gab9f13318daf02bc5b5f302ae392dccac" id="r_gab9f13318daf02bc5b5f302ae392dccac"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a> (SPI_HandleTypeDef *hspi)</td></tr>
|
||||
<tr class="memdesc:gab9f13318daf02bc5b5f302ae392dccac"><td class="mdescLeft"> </td><td class="mdescRight">Настройка тактирования и прерываний SPI. <br /></td></tr>
|
||||
<tr class="memitem:gac279cc3eaa35541edfe330a1844a85e4" id="r_gac279cc3eaa35541edfe330a1844a85e4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4">SPI_MspDeInit</a> (SPI_HandleTypeDef *hspi)</td></tr>
|
||||
<tr class="memdesc:gac279cc3eaa35541edfe330a1844a85e4"><td class="mdescLeft"> </td><td class="mdescRight">Деинициализация тактирования и прерываний SPI. <br /></td></tr>
|
||||
<tr class="memitem:ga333dd251bc878931086d48aa932b1a5f" id="r_ga333dd251bc878931086d48aa932b1a5f"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f">SPI_Check_Init_Struct</a> (<a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</td></tr>
|
||||
<tr class="memdesc:ga333dd251bc878931086d48aa932b1a5f"><td class="mdescLeft"> </td><td class="mdescRight">Проверка корректности структуры инициализации SPI. <br /></td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Модуль для инициализации SPI. </p>
|
||||
<p>Реализация функций для работы с SPI:</p><ul>
|
||||
<li>Инициализация SPI и его линий CLK/MISO/MOSI</li>
|
||||
<li>Настройка GPIO для SPI</li>
|
||||
<li>Настройка NVIC и тактирования SPI </li>
|
||||
</ul>
|
||||
|
||||
<p class="definition">Definition in file <a class="el" href="general__spi_8c_source.html">general_spi.c</a>.</p>
|
||||
</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
|
||||
<a id="ae80d21e5cab86571709a2619442733b5" name="ae80d21e5cab86571709a2619442733b5"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae80d21e5cab86571709a2619442733b5">◆ </a></span>SPI_GPIO_Init()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void SPI_GPIO_Init </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *</td> <td class="paramname"><span class="paramname"><em>sspi</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Инициализация GPIO для SPI. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">sspi</td><td>Указатель на структуру с настройками SPI. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__spi_8c_source.html#l00058">58</a> of file <a class="el" href="general__spi_8c_source.html">general_spi.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="abb78b8bd5303e88f969694e6fe03c411" name="abb78b8bd5303e88f969694e6fe03c411"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#abb78b8bd5303e88f969694e6fe03c411">◆ </a></span>SPI_DMA_Init()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void SPI_DMA_Init </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">SPI_HandleTypeDef *</td> <td class="paramname"><span class="paramname"><em>hspi</em></span>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">DMA_HandleTypeDef *</td> <td class="paramname"><span class="paramname"><em>hdma_rx</em></span>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">DMA_Stream_TypeDef *</td> <td class="paramname"><span class="paramname"><em>DMAChannel</em></span>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint32_t</td> <td class="paramname"><span class="paramname"><em>DMA_CHANNEL_X</em></span> )</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__spi_8c_source.html#l00089">89</a> of file <a class="el" href="general__spi_8c_source.html">general_spi.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div id="page-nav" class="page-nav-panel">
|
||||
<div id="page-nav-resize-handle"></div>
|
||||
<div id="page-nav-tree">
|
||||
<div id="page-nav-contents">
|
||||
</div><!-- page-nav-contents -->
|
||||
</div><!-- page-nav-tree -->
|
||||
</div><!-- page-nav -->
|
||||
</div><!-- container -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li><li class="navelem"><a href="general__spi_8c.html">general_spi.c</a></li>
|
||||
<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>
|
||||
8
Doc/html/general__spi_8c.js
Normal file
@ -0,0 +1,8 @@
|
||||
var general__spi_8c =
|
||||
[
|
||||
[ "SPI_Base_Init", "group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba", null ],
|
||||
[ "SPI_GPIO_Init", "general__spi_8c.html#ae80d21e5cab86571709a2619442733b5", null ],
|
||||
[ "SPI_MspInit", "group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac", null ],
|
||||
[ "SPI_MspDeInit", "group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4", null ],
|
||||
[ "SPI_Check_Init_Struct", "group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f", null ]
|
||||
];
|
||||
14
Doc/html/general__spi_8c__incl.map
Normal file
@ -0,0 +1,14 @@
|
||||
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src/general_spi.c" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src/general_spi.c">
|
||||
<area shape="rect" id="Node000001" title="Модуль для инициализации SPI." alt="" coords="18,5,216,64"/>
|
||||
<area shape="rect" id="Node000002" href="$general__spi_8h.html" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="5,112,104,139"/>
|
||||
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="99,66,74,101,70,97,95,63"/>
|
||||
<area shape="rect" id="Node000006" href="$general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="127,112,232,139"/>
|
||||
<area shape="poly" id="edge5_Node000001_Node000006" title=" " alt="" coords="140,63,164,97,160,101,135,66"/>
|
||||
<area shape="rect" id="Node000003" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="66,187,168,213"/>
|
||||
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="67,137,98,173,94,177,63,141"/>
|
||||
<area shape="rect" id="Node000004" href="$mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="61,261,173,288"/>
|
||||
<area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="120,214,120,246,114,246,114,214"/>
|
||||
<area shape="rect" id="Node000005" title=" " alt="" coords="58,336,176,363"/>
|
||||
<area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="120,289,120,320,114,320,114,289"/>
|
||||
<area shape="poly" id="edge6_Node000006_Node000003" title=" " alt="" coords="171,141,140,177,136,173,167,137"/>
|
||||
</map>
|
||||
1
Doc/html/general__spi_8c__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
cda11d9ce070219b48b91b6cd8be6ad8
|
||||
BIN
Doc/html/general__spi_8c__incl.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
428
Doc/html/general__spi_8c_source.html
Normal file
@ -0,0 +1,428 @@
|
||||
<!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: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src/general_spi.c Source File</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"> 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('general__spi_8c_source.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 class="header">
|
||||
<div class="headertitle"><div class="title">general_spi.c</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="general__spi_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">**************************************************************************</span></div>
|
||||
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">* @file general_spi.c</span></div>
|
||||
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">* @brief Модуль для инициализации SPI.</span></div>
|
||||
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">**************************************************************************</span></div>
|
||||
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">Реализация функций для работы с SPI:</span></div>
|
||||
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> - Инициализация SPI и его линий CLK/MISO/MOSI</span></div>
|
||||
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> - Настройка GPIO для SPI</span></div>
|
||||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> - Настройка NVIC и тактирования SPI</span></div>
|
||||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">**************************************************************************/</span></div>
|
||||
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include "<a class="code" href="general__spi_8h.html">general_spi.h</a>"</span></div>
|
||||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include "<a class="code" href="general__gpio_8h.html">general_gpio.h</a>"</span></div>
|
||||
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
|
||||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">//-------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">//------------------------SPI INIT FUNCTIONS------------------------</span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * @brief Инициализация SPI с помощью структуры SPI_SettingsTypeDef.</span></div>
|
||||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> * @param sspi Указатель на структуру с настройками SPI.</span></div>
|
||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> * @return HAL status.</span></div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> * @details </span></div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> * Инициализирует SPI и его GPIO.</span></div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> * Настройка аналогична HAL_SPI_Init </span></div>
|
||||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> * @code</span></div>
|
||||
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> * suart.hspi.Init...</span></div>
|
||||
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> * @endcode </span></div>
|
||||
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> * но дополнительно надо прописать пины CLK/MISO/MOSI @ref SPI_SettingsTypeDef</span></div>
|
||||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00028" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba"> 28</a></span>HAL_StatusTypeDef <a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a>(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>{ <span class="comment">// function takes setting structure for init</span></div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// check is settings are valid</span></div>
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">if</span>(<a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f">SPI_Check_Init_Struct</a>(sspi) != HAL_OK)</div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">return</span> HAL_ERROR;</div>
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
|
||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>(&sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>); </div>
|
||||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
|
||||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">if</span> (HAL_SPI_Init(&sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>) != HAL_OK)</div>
|
||||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> {</div>
|
||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_define" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">MyLibs_Error_Handler</a>();</div>
|
||||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">return</span> HAL_ERROR;</div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> }</div>
|
||||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// init gpio from SPISettings structure</span></div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <a class="code hl_function" href="general__spi_8c.html#ae80d21e5cab86571709a2619442733b5">SPI_GPIO_Init</a>(sspi);</div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment">// // init dma from SPISettings structure if need</span></div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment">// if (sspi->DMAChannel != 0)</span></div>
|
||||
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment">// SPI_DMA_Init(&sspi->hspi, sspi->hspi.hdmarx, sspi->DMAChannel, sspi->DMA_CHANNEL_X);</span></div>
|
||||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
|
||||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">return</span> HAL_OK;</div>
|
||||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="comment"> * @brief Инициализация GPIO для SPI.</span></div>
|
||||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment"> * @param sspi Указатель на структуру с настройками SPI.</span></div>
|
||||
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00058" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="general__spi_8c.html#ae80d21e5cab86571709a2619442733b5"> 58</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="general__spi_8c.html#ae80d21e5cab86571709a2619442733b5">SPI_GPIO_Init</a>(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</div>
|
||||
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span>{ </div>
|
||||
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> GPIO_InitTypeDef GPIO_InitStruct = {0}; </div>
|
||||
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="comment">// GPIO INIT </span></div>
|
||||
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <a class="code hl_function" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">GPIO_Clock_Enable</a>(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">CLK_GPIOx</a>);</div>
|
||||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_function" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">GPIO_Clock_Enable</a>(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">MISO_GPIOx</a>);</div>
|
||||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_function" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">GPIO_Clock_Enable</a>(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">MOSI_GPIOx</a>); </div>
|
||||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="comment">// CLK PIN INIT</span></div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> GPIO_InitStruct.Pin = sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">CLK_PIN</a>;</div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> GPIO_InitStruct.Alternate = sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">CLK_GPIO_AlternageFunc</a>;</div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;</div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> GPIO_InitStruct.Pull = GPIO_NOPULL;</div>
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;</div>
|
||||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> HAL_GPIO_Init(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">CLK_GPIOx</a>, &GPIO_InitStruct);</div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="comment">// MISO PIN INIT</span></div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> GPIO_InitStruct.Pin = sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">MISO_PIN</a>;</div>
|
||||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> GPIO_InitStruct.Alternate = sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">MISO_GPIO_AlternageFunc</a>;</div>
|
||||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;</div>
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> GPIO_InitStruct.Pull = GPIO_NOPULL;</div>
|
||||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;</div>
|
||||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> HAL_GPIO_Init(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">MISO_GPIOx</a>, &GPIO_InitStruct);</div>
|
||||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="comment">// MOSI PIN INIT</span></div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> GPIO_InitStruct.Pin = sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">MOSI_PIN</a>;</div>
|
||||
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> GPIO_InitStruct.Alternate = sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">MOSI_GPIO_AlternageFunc</a>;</div>
|
||||
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;</div>
|
||||
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> GPIO_InitStruct.Pull = GPIO_NOPULL;</div>
|
||||
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;</div>
|
||||
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> HAL_GPIO_Init(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">MOSI_GPIOx</a>, &GPIO_InitStruct);</div>
|
||||
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
|
||||
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
|
||||
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="keywordtype">void</span> SPI_DMA_Init(SPI_HandleTypeDef *hspi, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X)</div>
|
||||
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span>{ <span class="comment">// function takes spi and dma handlers and dmachannel for spi</span></div>
|
||||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="comment">// // for now only dma rx is supported, tx maybe later if needed</span></div>
|
||||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment">// // calc defines on boot_project_setup.h</span></div>
|
||||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
|
||||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment">// /* SPI3 DMA Init */</span></div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment">// /* SPI3_RX Init */</span></div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="comment">// </span></div>
|
||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment">// hdma_rx->Instance = DMAChannel;</span></div>
|
||||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment">//#if defined(STM32F4xx) // dma channel choose for 407</span></div>
|
||||
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="comment">// hdma_rx->Init.Channel = DMA_CHANNEL_X;</span></div>
|
||||
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="comment">//#endif</span></div>
|
||||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment">// hdma_rx->Init.Direction = DMA_PERIPH_TO_MEMORY;</span></div>
|
||||
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="comment">// hdma_rx->Init.PeriphInc = DMA_PINC_DISABLE;</span></div>
|
||||
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="comment">// hdma_rx->Init.MemInc = DMA_MINC_ENABLE;</span></div>
|
||||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="comment">// hdma_rx->Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;</span></div>
|
||||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment">// hdma_rx->Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;</span></div>
|
||||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment">// hdma_rx->Init.Mode = DMA_CIRCULAR;</span></div>
|
||||
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment">// hdma_rx->Init.Priority = DMA_PRIORITY_LOW;</span></div>
|
||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment">// if (HAL_DMA_Init(hdma_rx) != HAL_OK)</span></div>
|
||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment">// {</span></div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="comment">// MyLibs_Error_Handler();</span></div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment">// }</span></div>
|
||||
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
|
||||
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment">// __USER_LINKDMA(hspi,hdmarx,hdma_rx); </span></div>
|
||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment">// </span></div>
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
|
||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="comment">// // __USER_LINKDMA is need because __HAL_LINKDMA is written for global defined hdma_rx</span></div>
|
||||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment">// // so you get error because hal uses . insted of -></span></div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span>}</div>
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
|
||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="comment"> * @brief Настройка тактирования и прерываний SPI.</span></div>
|
||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="comment"> * @param hspi Указатель на хендл SPI.</span></div>
|
||||
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="comment"> * @note Чтобы не генерировать функцию с иницилизацией неиспользуемых SPI,</span></div>
|
||||
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="comment"> дефайнами @ref SPI_INIT в @ref general_spi.h определяются используемые SPI.</span></div>
|
||||
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00127" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac"> 127</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>(SPI_HandleTypeDef *hspi) <span class="comment">// analog for hal function</span></div>
|
||||
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span>{ </div>
|
||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="comment">// rcc, dma and interrupt init for SPIs</span></div>
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="comment">// GPIO init was moved to own functions SPI_GPIO_Init </span></div>
|
||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">if</span>(0);</div>
|
||||
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="preprocessor">#ifdef USE_SPI1</span></div>
|
||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI1)</div>
|
||||
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> {</div>
|
||||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div>
|
||||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="comment">// /* DMA2 clock enable */</span></div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="comment">// __HAL_RCC_DMA2_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment">// HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);</span></div>
|
||||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
|
||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="comment">/* SPI1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> __HAL_RCC_SPI1_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="comment">/* SPI1 interrupt Init */</span></div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> HAL_NVIC_SetPriority(SPI1_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> HAL_NVIC_EnableIRQ(SPI1_IRQn);</div>
|
||||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> }</div>
|
||||
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="preprocessor">#endif </span><span class="comment">// USE_SPI1</span></div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="preprocessor">#ifdef USE_SPI2</span></div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI2)</div>
|
||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> {</div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="comment">// /* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="comment">// __HAL_RCC_DMA1_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="comment">// HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);</span></div>
|
||||
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
|
||||
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="comment">/* SPI2 clock enable */</span></div>
|
||||
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> __HAL_RCC_SPI2_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> </div>
|
||||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="comment">/* SPI2 interrupt Init */</span></div>
|
||||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> HAL_NVIC_SetPriority(SPI2_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> HAL_NVIC_EnableIRQ(SPI2_IRQn);</div>
|
||||
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> }</div>
|
||||
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span><span class="preprocessor">#endif </span><span class="comment">// USE_SPI2</span></div>
|
||||
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="preprocessor">#ifdef USE_SPI3</span></div>
|
||||
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI3)</div>
|
||||
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> { </div>
|
||||
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span><span class="comment">// /* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span><span class="comment">// __HAL_RCC_DMA1_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span><span class="comment">// HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn);</span></div>
|
||||
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
|
||||
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="comment">/* SPI3 clock enable */</span></div>
|
||||
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> __HAL_RCC_SPI3_CLK_ENABLE(); </div>
|
||||
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/* SPI3 interrupt Init */</span></div>
|
||||
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> HAL_NVIC_SetPriority(SPI3_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> HAL_NVIC_EnableIRQ(SPI3_IRQn);</div>
|
||||
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> }</div>
|
||||
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span><span class="preprocessor">#endif </span><span class="comment">// USE_SPI3</span></div>
|
||||
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span><span class="comment"> * @brief Деинициализация тактирования и прерываний SPI.</span></div>
|
||||
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span><span class="comment"> * @param hspi Указатель на хендл SPI.</span></div>
|
||||
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span><span class="comment"> * @note Чтобы не генерировать функцию с иницилизацией неиспользуемых SPI,</span></div>
|
||||
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span><span class="comment"> дефайнами @ref SPI_INIT в @ref general_spi.h определяются используемые SPI.</span></div>
|
||||
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00191" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"><a class="line" href="group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4"> 191</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4">SPI_MspDeInit</a>(SPI_HandleTypeDef *hspi) <span class="comment">// analog for hal function</span></div>
|
||||
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span>{ </div>
|
||||
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="comment">// rcc, dma and interrupt init for SPIs</span></div>
|
||||
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="comment">// GPIO init was moved to own functions SPI_GPIO_Init </span></div>
|
||||
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">if</span>(0);</div>
|
||||
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span><span class="preprocessor">#ifdef USE_SPI1</span></div>
|
||||
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI1)</div>
|
||||
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> {</div>
|
||||
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
|
||||
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span><span class="comment">// /* DMA2 clock enable */</span></div>
|
||||
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span><span class="comment">// __HAL_RCC_DMA2_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span><span class="comment">// HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);</span></div>
|
||||
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
|
||||
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="comment">/* SPI1 clock reset */</span></div>
|
||||
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> __HAL_RCC_SPI1_FORCE_RESET();</div>
|
||||
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> __HAL_RCC_SPI1_RELEASE_RESET();</div>
|
||||
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> }</div>
|
||||
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span><span class="preprocessor">#endif </span><span class="comment">// USE_SPI1</span></div>
|
||||
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span><span class="preprocessor">#ifdef USE_SPI2</span></div>
|
||||
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI2)</div>
|
||||
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> {</div>
|
||||
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span><span class="comment">// /* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span><span class="comment">// __HAL_RCC_DMA1_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span><span class="comment">// HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);</span></div>
|
||||
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> </div>
|
||||
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/* SPI2 clock reset */</span></div>
|
||||
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> __HAL_RCC_SPI2_FORCE_RESET();</div>
|
||||
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> __HAL_RCC_SPI2_RELEASE_RESET();</div>
|
||||
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> }</div>
|
||||
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span><span class="preprocessor">#endif </span><span class="comment">// USE_SPI2</span></div>
|
||||
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span><span class="preprocessor">#ifdef USE_SPI3</span></div>
|
||||
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI3)</div>
|
||||
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> { </div>
|
||||
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span><span class="comment">// /* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span><span class="comment">// __HAL_RCC_DMA1_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span><span class="comment">// HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn);</span></div>
|
||||
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
|
||||
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="comment">/* SPI3 clock reset */</span></div>
|
||||
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> __HAL_RCC_SPI3_FORCE_RESET();</div>
|
||||
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> __HAL_RCC_SPI3_RELEASE_RESET();</div>
|
||||
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> }</div>
|
||||
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span><span class="preprocessor">#endif </span><span class="comment">// USE_SPI3</span></div>
|
||||
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span><span class="comment"> * @brief Проверка корректности структуры инициализации SPI.</span></div>
|
||||
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span><span class="comment"> * @param sspi Указатель на структуру с настройками SPI.</span></div>
|
||||
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span><span class="comment"> * @return HAL status.</span></div>
|
||||
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00246" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"><a class="line" href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f"> 246</a></span>HAL_StatusTypeDef <a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f">SPI_Check_Init_Struct</a>(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</div>
|
||||
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span>{</div>
|
||||
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="comment">// check is settings are valid</span></div>
|
||||
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">if</span> (!IS_SPI_ALL_INSTANCE(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Instance))</div>
|
||||
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">return</span> HAL_ERROR;</div>
|
||||
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
|
||||
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="comment">// check init settings</span></div>
|
||||
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">if</span> (!IS_SPI_MODE(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.Mode))</div>
|
||||
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">return</span> HAL_ERROR; </div>
|
||||
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">if</span> (!IS_SPI_DIRECTION(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.Direction))</div>
|
||||
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">return</span> HAL_ERROR; </div>
|
||||
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">if</span> (!IS_SPI_DATASIZE(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.DataSize))</div>
|
||||
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">return</span> HAL_ERROR; </div>
|
||||
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">if</span> (!IS_SPI_BAUDRATE_PRESCALER(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.BaudRatePrescaler))</div>
|
||||
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">return</span> HAL_ERROR; </div>
|
||||
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">if</span> (!IS_SPI_CPOL(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CLKPolarity))</div>
|
||||
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">return</span> HAL_ERROR; </div>
|
||||
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span> (!IS_SPI_CPHA(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CLKPhase))</div>
|
||||
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">return</span> HAL_ERROR; </div>
|
||||
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">if</span> (!IS_SPI_NSS(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.NSS))</div>
|
||||
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">return</span> HAL_ERROR; </div>
|
||||
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">if</span> (!IS_SPI_FIRST_BIT(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.FirstBit))</div>
|
||||
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">return</span> HAL_ERROR; </div>
|
||||
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">if</span> (!IS_SPI_CRC_CALCULATION(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CRCCalculation))</div>
|
||||
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">return</span> HAL_ERROR; </div>
|
||||
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">if</span> (!IS_SPI_CRC_POLYNOMIAL(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.NSS) && </div>
|
||||
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> (sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CRCCalculation != SPI_CRCCALCULATION_DISABLE))</div>
|
||||
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">return</span> HAL_ERROR; </div>
|
||||
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span> (!IS_SPI_TIMODE(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.TIMode))</div>
|
||||
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="keywordflow">return</span> HAL_ERROR;</div>
|
||||
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> </div>
|
||||
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="comment">// check gpio</span></div>
|
||||
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">if</span> (!IS_GPIO_ALL_INSTANCE(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">CLK_GPIOx</a>) || !IS_GPIO_ALL_INSTANCE(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">MISO_GPIOx</a>) || !IS_GPIO_ALL_INSTANCE(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">MOSI_GPIOx</a>))</div>
|
||||
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">return</span> HAL_ERROR; </div>
|
||||
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span> (!IS_GPIO_PIN(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">CLK_PIN</a>) && !IS_GPIO_PIN(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">MISO_PIN</a>) && !IS_GPIO_PIN(sspi-><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">MOSI_PIN</a>)) <span class="comment">// if both pins arent set up</span></div>
|
||||
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">return</span> HAL_ERROR;</div>
|
||||
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> </div>
|
||||
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">return</span> HAL_OK;</div>
|
||||
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span>}</div>
|
||||
</div>
|
||||
<div class="ttc" id="ageneral__gpio_8h_html"><div class="ttname"><a href="general__gpio_8h.html">general_gpio.h</a></div><div class="ttdoc">Заголовочный файл для модуля инициализации портов и работы с ними.</div></div>
|
||||
<div class="ttc" id="ageneral__spi_8c_html_ae80d21e5cab86571709a2619442733b5"><div class="ttname"><a href="general__spi_8c.html#ae80d21e5cab86571709a2619442733b5">SPI_GPIO_Init</a></div><div class="ttdeci">void SPI_GPIO_Init(SPI_SettingsTypeDef *sspi)</div><div class="ttdoc">Инициализация GPIO для SPI.</div><div class="ttdef"><b>Definition</b> <a href="#l00058">general_spi.c:58</a></div></div>
|
||||
<div class="ttc" id="ageneral__spi_8h_html"><div class="ttname"><a href="general__spi_8h.html">general_spi.h</a></div><div class="ttdoc">Заголовочный файл для модуля инициализации SPI.</div></div>
|
||||
<div class="ttc" id="agroup___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_html_gae110df81afd885a390bbeb152d7b709f"><div class="ttname"><a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">MyLibs_Error_Handler</a></div><div class="ttdeci">#define MyLibs_Error_Handler(params)</div><div class="ttdoc">Error_Handler который будет вызыватся в библиотеке</div><div class="ttdef"><b>Definition</b> <a href="mylibs__defs_8h_source.html#l00031">mylibs_defs.h:31</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___s_p_i_html_ga0e177e3c57a8fcdc73b5602e72ec66ba"><div class="ttname"><a href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a></div><div class="ttdeci">HAL_StatusTypeDef SPI_Base_Init(SPI_SettingsTypeDef *sspi)</div><div class="ttdoc">Инициализация SPI с помощью структуры SPI_SettingsTypeDef.</div><div class="ttdef"><b>Definition</b> <a href="#l00028">general_spi.c:28</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___s_p_i_html_ga333dd251bc878931086d48aa932b1a5f"><div class="ttname"><a href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f">SPI_Check_Init_Struct</a></div><div class="ttdeci">HAL_StatusTypeDef SPI_Check_Init_Struct(SPI_SettingsTypeDef *sspi)</div><div class="ttdoc">Проверка корректности структуры инициализации SPI.</div><div class="ttdef"><b>Definition</b> <a href="#l00246">general_spi.c:246</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___s_p_i_html_gab9f13318daf02bc5b5f302ae392dccac"><div class="ttname"><a href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a></div><div class="ttdeci">void SPI_MspInit(SPI_HandleTypeDef *hspi)</div><div class="ttdoc">Настройка тактирования и прерываний SPI.</div><div class="ttdef"><b>Definition</b> <a href="#l00127">general_spi.c:127</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___s_p_i_html_gac279cc3eaa35541edfe330a1844a85e4"><div class="ttname"><a href="group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4">SPI_MspDeInit</a></div><div class="ttdeci">void SPI_MspDeInit(SPI_HandleTypeDef *hspi)</div><div class="ttdoc">Деинициализация тактирования и прерываний SPI.</div><div class="ttdef"><b>Definition</b> <a href="#l00191">general_spi.c:191</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l_html_ga962f010f783b81fcdd27eb6b53db28e6"><div class="ttname"><a href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">GPIO_Clock_Enable</a></div><div class="ttdeci">HAL_StatusTypeDef GPIO_Clock_Enable(GPIO_TypeDef *GPIOx)</div><div class="ttdoc">Включить тактирование порта GPIO.</div><div class="ttdef"><b>Definition</b> <a href="general__gpio_8c_source.html#l00022">general_gpio.c:22</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a></div><div class="ttdoc">Структура настроек SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00103">general_spi.h:104</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a0af3bdb273818ff97eb4ff3cff918820"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">SPI_SettingsTypeDef::MOSI_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * MOSI_GPIOx</div><div class="ttdoc">Порт MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00115">general_spi.h:115</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a0d55a2941854f61934487f3d209cfa95"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">SPI_SettingsTypeDef::MISO_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * MISO_GPIOx</div><div class="ttdoc">Порт MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00111">general_spi.h:111</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3366c654d7ec6dd41c6a0b504dc8509a"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">SPI_SettingsTypeDef::MISO_PIN</a></div><div class="ttdeci">uint32_t MISO_PIN</div><div class="ttdoc">Пин MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00112">general_spi.h:112</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3bcb1ed12da3544e02e6d36493669bdc"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">SPI_SettingsTypeDef::CLK_PIN</a></div><div class="ttdeci">uint32_t CLK_PIN</div><div class="ttdoc">Пин CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00108">general_spi.h:108</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3f3748103a0b7861f6700042fd691ba1"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">SPI_SettingsTypeDef::CLK_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t CLK_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00109">general_spi.h:109</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a6a15d48eccf92959de3a086031fdc979"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">SPI_SettingsTypeDef::CLK_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * CLK_GPIOx</div><div class="ttdoc">Порт CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00107">general_spi.h:107</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a961208869faf4a7369aaf4edde75f176"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">SPI_SettingsTypeDef::MOSI_PIN</a></div><div class="ttdeci">uint32_t MOSI_PIN</div><div class="ttdoc">Пин MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00116">general_spi.h:116</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_ad203d8b8d67e4f477d002d15b03ba422"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">SPI_SettingsTypeDef::hspi</a></div><div class="ttdeci">SPI_HandleTypeDef hspi</div><div class="ttdoc">HAL handle SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00105">general_spi.h:105</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_aecd7a5c6e205335b8ed229d74cd35d14"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">SPI_SettingsTypeDef::MISO_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t MISO_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00113">general_spi.h:113</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_afbe75a1c36650a4a9b41fa706a4c7eab"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">SPI_SettingsTypeDef::MOSI_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t MOSI_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00117">general_spi.h:117</a></div></div>
|
||||
</div><!-- fragment --></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="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li><li class="navelem"><a href="general__spi_8c.html">general_spi.c</a></li>
|
||||
<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>
|
||||
185
Doc/html/general__spi_8h.html
Normal file
@ -0,0 +1,185 @@
|
||||
<!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: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_spi.h File Reference</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"> 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('general__spi_8h.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 class="header">
|
||||
<div class="headertitle"><div class="title">general_spi.h File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Заголовочный файл для модуля инициализации SPI.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include "<a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>"</code><br />
|
||||
</div><div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Include dependency graph for general_spi.h:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center"><img src="general__spi_8h__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__spi_8h" loading="lazy" alt=""/></div>
|
||||
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__spi_8h" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__spi_8h">
|
||||
<area shape="rect" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="5,5,204,64"/>
|
||||
<area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="53,112,156,139"/>
|
||||
<area shape="poly" title=" " alt="" coords="107,64,107,96,102,96,102,64"/>
|
||||
<area shape="rect" href="mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="48,187,161,213"/>
|
||||
<area shape="poly" title=" " alt="" coords="107,139,107,171,102,171,102,139"/>
|
||||
<area shape="rect" title=" " alt="" coords="46,261,163,288"/>
|
||||
<area shape="poly" title=" " alt="" coords="107,214,107,246,102,246,102,214"/>
|
||||
</map>
|
||||
</div>
|
||||
</div><div class="textblock"><div id="dynsection-1" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>This graph shows which files directly or indirectly include this file:</div>
|
||||
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
|
||||
<div class="center"><img src="general__spi_8h__dep__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__spi_8hdep" loading="lazy" alt=""/></div>
|
||||
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__spi_8hdep" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__spi_8hdep">
|
||||
<area shape="rect" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="5,5,204,64"/>
|
||||
<area shape="rect" href="general__spi_8c.html" title="Модуль для инициализации SPI." alt="" coords="5,112,204,171"/>
|
||||
<area shape="poly" title=" " alt="" coords="107,80,107,112,102,112,102,80"/>
|
||||
</map>
|
||||
</div>
|
||||
</div>
|
||||
<p><a href="general__spi_8h_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:SPI_5FSettingsTypeDef" id="r_SPI_5FSettingsTypeDef"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Структура настроек SPI. <a href="struct_s_p_i___settings_type_def.html#details">More...</a><br /></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
|
||||
Macros</h2></td></tr>
|
||||
<tr class="memitem:ga8ad4712bf4add56892d057778e826e0c" id="r_ga8ad4712bf4add56892d057778e826e0c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i___i_n_i_t.html#ga8ad4712bf4add56892d057778e826e0c">HAL_SPI_MODULE_ENABLED</a></td></tr>
|
||||
<tr class="memdesc:ga8ad4712bf4add56892d057778e826e0c"><td class="mdescLeft"> </td><td class="mdescRight">Включение HAL SPI. <br /></td></tr>
|
||||
<tr class="memitem:ga2fe0c8aeb2c61679f32836fef479eedf" id="r_ga2fe0c8aeb2c61679f32836fef479eedf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i___i_n_i_t.html#ga2fe0c8aeb2c61679f32836fef479eedf">USE_SPI1</a></td></tr>
|
||||
<tr class="memdesc:ga2fe0c8aeb2c61679f32836fef479eedf"><td class="mdescLeft"> </td><td class="mdescRight">Включить SPI1 в <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga53687cddb8e39e76a79b8ffaa152fb2b" id="r_ga53687cddb8e39e76a79b8ffaa152fb2b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i___i_n_i_t.html#ga53687cddb8e39e76a79b8ffaa152fb2b">USE_SPI2</a></td></tr>
|
||||
<tr class="memdesc:ga53687cddb8e39e76a79b8ffaa152fb2b"><td class="mdescLeft"> </td><td class="mdescRight">Включить SPI2 в <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga5fdd6e5934a8005ef05b80f6d95883dc" id="r_ga5fdd6e5934a8005ef05b80f6d95883dc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i___i_n_i_t.html#ga5fdd6e5934a8005ef05b80f6d95883dc">USE_SPI3</a></td></tr>
|
||||
<tr class="memdesc:ga5fdd6e5934a8005ef05b80f6d95883dc"><td class="mdescLeft"> </td><td class="mdescRight">Включить SPI3 в <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>. <br /></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga0e177e3c57a8fcdc73b5602e72ec66ba" id="r_ga0e177e3c57a8fcdc73b5602e72ec66ba"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a> (<a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</td></tr>
|
||||
<tr class="memdesc:ga0e177e3c57a8fcdc73b5602e72ec66ba"><td class="mdescLeft"> </td><td class="mdescRight">Инициализация SPI с помощью структуры <a class="el" href="struct_s_p_i___settings_type_def.html" title="Структура настроек SPI.">SPI_SettingsTypeDef</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga333dd251bc878931086d48aa932b1a5f" id="r_ga333dd251bc878931086d48aa932b1a5f"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f">SPI_Check_Init_Struct</a> (<a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</td></tr>
|
||||
<tr class="memdesc:ga333dd251bc878931086d48aa932b1a5f"><td class="mdescLeft"> </td><td class="mdescRight">Проверка корректности структуры инициализации SPI. <br /></td></tr>
|
||||
<tr class="memitem:gab9f13318daf02bc5b5f302ae392dccac" id="r_gab9f13318daf02bc5b5f302ae392dccac"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a> (SPI_HandleTypeDef *hspi)</td></tr>
|
||||
<tr class="memdesc:gab9f13318daf02bc5b5f302ae392dccac"><td class="mdescLeft"> </td><td class="mdescRight">Настройка тактирования и прерываний SPI. <br /></td></tr>
|
||||
<tr class="memitem:gac279cc3eaa35541edfe330a1844a85e4" id="r_gac279cc3eaa35541edfe330a1844a85e4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4">SPI_MspDeInit</a> (SPI_HandleTypeDef *hspi)</td></tr>
|
||||
<tr class="memdesc:gac279cc3eaa35541edfe330a1844a85e4"><td class="mdescLeft"> </td><td class="mdescRight">Деинициализация тактирования и прерываний SPI. <br /></td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Заголовочный файл для модуля инициализации SPI. </p>
|
||||
|
||||
<p class="definition">Definition in file <a class="el" href="general__spi_8h_source.html">general_spi.h</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div id="page-nav" class="page-nav-panel">
|
||||
<div id="page-nav-resize-handle"></div>
|
||||
<div id="page-nav-tree">
|
||||
<div id="page-nav-contents">
|
||||
</div><!-- page-nav-contents -->
|
||||
</div><!-- page-nav-tree -->
|
||||
</div><!-- page-nav -->
|
||||
</div><!-- container -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</a></li><li class="navelem"><a href="general__spi_8h.html">general_spi.h</a></li>
|
||||
<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>
|
||||
11
Doc/html/general__spi_8h.js
Normal file
@ -0,0 +1,11 @@
|
||||
var general__spi_8h =
|
||||
[
|
||||
[ "HAL_SPI_MODULE_ENABLED", "group___s_p_i___i_n_i_t.html#ga8ad4712bf4add56892d057778e826e0c", null ],
|
||||
[ "USE_SPI1", "group___s_p_i___i_n_i_t.html#ga2fe0c8aeb2c61679f32836fef479eedf", null ],
|
||||
[ "USE_SPI2", "group___s_p_i___i_n_i_t.html#ga53687cddb8e39e76a79b8ffaa152fb2b", null ],
|
||||
[ "USE_SPI3", "group___s_p_i___i_n_i_t.html#ga5fdd6e5934a8005ef05b80f6d95883dc", null ],
|
||||
[ "SPI_Base_Init", "group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba", null ],
|
||||
[ "SPI_Check_Init_Struct", "group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f", null ],
|
||||
[ "SPI_MspInit", "group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac", null ],
|
||||
[ "SPI_MspDeInit", "group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4", null ]
|
||||
];
|
||||
5
Doc/html/general__spi_8h__dep__incl.map
Normal file
@ -0,0 +1,5 @@
|
||||
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_spi.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_spi.h">
|
||||
<area shape="rect" id="Node000001" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="5,5,204,64"/>
|
||||
<area shape="rect" id="Node000002" href="$general__spi_8c.html" title="Модуль для инициализации SPI." alt="" coords="5,112,204,171"/>
|
||||
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="107,80,107,112,102,112,102,80"/>
|
||||
</map>
|
||||
1
Doc/html/general__spi_8h__dep__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
4329b58f85cc157f873e0efea5ebf705
|
||||
BIN
Doc/html/general__spi_8h__dep__incl.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
9
Doc/html/general__spi_8h__incl.map
Normal file
@ -0,0 +1,9 @@
|
||||
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_spi.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_spi.h">
|
||||
<area shape="rect" id="Node000001" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="5,5,204,64"/>
|
||||
<area shape="rect" id="Node000002" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="53,112,156,139"/>
|
||||
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="107,64,107,96,102,96,102,64"/>
|
||||
<area shape="rect" id="Node000003" href="$mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="48,187,161,213"/>
|
||||
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="107,139,107,171,102,171,102,139"/>
|
||||
<area shape="rect" id="Node000004" title=" " alt="" coords="46,261,163,288"/>
|
||||
<area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="107,214,107,246,102,246,102,214"/>
|
||||
</map>
|
||||
1
Doc/html/general__spi_8h__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
e0af89a349938fa4f2a316fa222eee4c
|
||||
BIN
Doc/html/general__spi_8h__incl.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
305
Doc/html/general__spi_8h_source.html
Normal file
@ -0,0 +1,305 @@
|
||||
<!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: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_spi.h Source File</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"> 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('general__spi_8h_source.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 class="header">
|
||||
<div class="headertitle"><div class="title">general_spi.h</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="general__spi_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">**************************************************************************</span></div>
|
||||
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">* @file general_spi.h</span></div>
|
||||
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">* @brief Заголовочный файл для модуля инициализации SPI.</span></div>
|
||||
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">**************************************************************************</span></div>
|
||||
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">* @defgroup MY_LIBS_SPI SPI Tools</span></div>
|
||||
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">* @ingroup MYLIBS_PERIPHERAL</span></div>
|
||||
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">* @brief Функции и макросы для удобной работы с SPI.</span></div>
|
||||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">* @details</span></div>
|
||||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">Модуль предоставляет функции для базовой инициализации SPI</span></div>
|
||||
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">@par Пример использования:</span></div>
|
||||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">@code</span></div>
|
||||
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">// Структура настроек SPI</span></div>
|
||||
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">SPI_SettingsTypeDef spi1Settings;</span></div>
|
||||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">void SPI1_Init(void)</span></div>
|
||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">{</span></div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> // Настройка SPI1 как Master, 8 бит, полный дуплекс</span></div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> spi1Settings.hspi.Instance = SPI1;</span></div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> spi1Settings.hspi.Init.Mode = SPI_MODE_MASTER;</span></div>
|
||||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> spi1Settings.hspi.Init.Direction = SPI_DIRECTION_2LINES;</span></div>
|
||||
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> spi1Settings.hspi.Init.DataSize = SPI_DATASIZE_8BIT;</span></div>
|
||||
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> spi1Settings.hspi.Init.CLKPolarity = SPI_POLARITY_LOW;</span></div>
|
||||
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> spi1Settings.hspi.Init.CLKPhase = SPI_PHASE_1EDGE;</span></div>
|
||||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> spi1Settings.hspi.Init.NSS = SPI_NSS_SOFT;</span></div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"> spi1Settings.hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;</span></div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment"> spi1Settings.hspi.Init.FirstBit = SPI_FIRSTBIT_MSB;</span></div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"> spi1Settings.hspi.Init.TIMode = SPI_TIMODE_DISABLE;</span></div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> spi1Settings.hspi.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;</span></div>
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment"> // Настройка GPIO</span></div>
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment"> spi1Settings.CLK_GPIOx = GPIOA;</span></div>
|
||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment"> spi1Settings.CLK_PIN = GPIO_PIN_5;</span></div>
|
||||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment"> spi1Settings.CLK_GPIO_AlternageFunc = GPIO_AF5_SPI1;</span></div>
|
||||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment"> spi1Settings.MISO_GPIOx = GPIOA;</span></div>
|
||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment"> spi1Settings.MISO_PIN = GPIO_PIN_6;</span></div>
|
||||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment"> spi1Settings.MISO_GPIO_AlternageFunc = GPIO_AF5_SPI1;</span></div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="comment"> spi1Settings.MOSI_GPIOx = GPIOA;</span></div>
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="comment"> spi1Settings.MOSI_PIN = GPIO_PIN_7;</span></div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment"> spi1Settings.MOSI_GPIO_AlternageFunc = GPIO_AF5_SPI1;</span></div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment"> // Инициализация SPI</span></div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment"> if(SPI_Base_Init(&spi1Settings) != HAL_OK)</span></div>
|
||||
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment"> {</span></div>
|
||||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment"> // Обработка ошибки</span></div>
|
||||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment"> Error_Handler();</span></div>
|
||||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment"> }</span></div>
|
||||
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment">}</span></div>
|
||||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment">@endcode</span></div>
|
||||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="comment">* @note Требуется подключение модуля SPI в библиотеке HAL </span></div>
|
||||
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment">@code </span></div>
|
||||
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment">#define HAL_SPI_MODULE_ENABLED</span></div>
|
||||
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment">@endcode</span></div>
|
||||
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment">* @{</span></div>
|
||||
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment">*************************************************************************/</span></div>
|
||||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor">#ifndef __SPI_GENERAL_H_</span></div>
|
||||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor">#define __SPI_GENERAL_H_</span></div>
|
||||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment"> * @addtogroup SPI_INIT Init defines</span></div>
|
||||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="comment"> * @ingroup MY_LIBS_SPI</span></div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment"> * @brief Настройка SPI</span></div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment"> * @{</span></div>
|
||||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> */</span></div>
|
||||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="group___s_p_i___i_n_i_t.html#ga8ad4712bf4add56892d057778e826e0c"> 75</a></span><span class="preprocessor">#define HAL_SPI_MODULE_ENABLED </span><span class="comment">///< Включение HAL SPI</span></div>
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
|
||||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="group___s_p_i___i_n_i_t.html#ga2fe0c8aeb2c61679f32836fef479eedf"> 77</a></span><span class="preprocessor">#define USE_SPI1 </span><span class="comment">///< Включить SPI1 в @ref SPI_MspInit</span></div>
|
||||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="group___s_p_i___i_n_i_t.html#ga53687cddb8e39e76a79b8ffaa152fb2b"> 78</a></span><span class="preprocessor">#define USE_SPI2 </span><span class="comment">///< Включить SPI2 в @ref SPI_MspInit</span></div>
|
||||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="group___s_p_i___i_n_i_t.html#ga5fdd6e5934a8005ef05b80f6d95883dc"> 79</a></span><span class="preprocessor">#define USE_SPI3 </span><span class="comment">///< Включить SPI3 в @ref SPI_MspInit</span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment">/** SPI_INIT</span></div>
|
||||
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="comment"> * @}</span></div>
|
||||
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment"> */</span><span class="preprocessor"></span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
|
||||
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="preprocessor">#include "<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>"</span></div>
|
||||
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
|
||||
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
|
||||
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
|
||||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="comment"></span></div>
|
||||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment">///////////////////////---STRUCTURES & ENUMS---//////////////////////</span></div>
|
||||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment">/**</span></div>
|
||||
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="comment"> * @brief Структура настроек SPI</span></div>
|
||||
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="comment"> * @details Содержит все необходимые параметры для инициализации SPI,</span></div>
|
||||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment"> * включая GPIO и DMA.</span></div>
|
||||
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00103" data-start="{" data-end="};">
|
||||
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html"> 103</a></span><span class="keyword">typedef</span> <span class="keyword">struct</span></div>
|
||||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span>{</div>
|
||||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422"> 105</a></span> SPI_HandleTypeDef <a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>; <span class="comment">///< HAL handle SPI</span></div>
|
||||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
|
||||
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979"> 107</a></span> GPIO_TypeDef *<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">CLK_GPIOx</a>; <span class="comment">///< Порт CLK</span></div>
|
||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc"> 108</a></span> uint32_t <a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">CLK_PIN</a>; <span class="comment">///< Пин CLK</span></div>
|
||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1"> 109</a></span> uint32_t <a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">CLK_GPIO_AlternageFunc</a>; <span class="comment">///< Альтернативная функция для CLK</span></div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95"> 111</a></span> GPIO_TypeDef *<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">MISO_GPIOx</a>; <span class="comment">///< Порт MISO</span></div>
|
||||
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a"> 112</a></span> uint32_t <a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">MISO_PIN</a>; <span class="comment">///< Пин MISO</span></div>
|
||||
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14"> 113</a></span> uint32_t <a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">MISO_GPIO_AlternageFunc</a>; <span class="comment">///< Альтернативная функция для MISO</span></div>
|
||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820"> 115</a></span> GPIO_TypeDef *<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">MOSI_GPIOx</a>; <span class="comment">///< Порт MOSI</span></div>
|
||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176"> 116</a></span> uint32_t <a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">MOSI_PIN</a>; <span class="comment">///< Пин MOSI</span></div>
|
||||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab"> 117</a></span> uint32_t <a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">MOSI_GPIO_AlternageFunc</a>; <span class="comment">///< Альтернативная функция для MOSI</span></div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#a3cfd9469b0617a68bbd2a161ba06bb95"> 119</a></span> DMA_Stream_TypeDef *<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3cfd9469b0617a68bbd2a161ba06bb95">DMAChannel</a>; <span class="comment">///< Канал DMA (NULL если не нужен)</span></div>
|
||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html#aa0edaa145076d2383b3e0095d156d474"> 120</a></span> uint32_t <a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#aa0edaa145076d2383b3e0095d156d474">DMA_CHANNEL_X</a>; <span class="comment">///< Номер канала DMA (0 если не нужен)</span></div>
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
|
||||
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>} <a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a>;<span class="comment"></span></div>
|
||||
</div>
|
||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="comment">///////////////////////---STRUCTURES & ENUMS---//////////////////////</span></div>
|
||||
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div>
|
||||
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="comment">///////////////////////////---FUNCTIONS---///////////////////////////</span></div>
|
||||
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> </div>
|
||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="comment">/* Инициализация SPI с использованием структуры настроек */</span></div>
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span>HAL_StatusTypeDef <a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a>(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi);</div>
|
||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
|
||||
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="comment">/* Проверка корректности структуры настроек SPI */</span></div>
|
||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span>HAL_StatusTypeDef <a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f">SPI_Check_Init_Struct</a>(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi);</div>
|
||||
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
|
||||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment">/* Инициализация тактирования и прерываний для выбранного SPI */</span></div>
|
||||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="keywordtype">void</span> <a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>(SPI_HandleTypeDef *hspi);</div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
|
||||
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="comment">/* Деинициализация тактирования и прерываний для выбранного SPI */</span></div>
|
||||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="keywordtype">void</span> <a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4">SPI_MspDeInit</a>(SPI_HandleTypeDef *hspi);</div>
|
||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> </div>
|
||||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="comment"></span></div>
|
||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="comment"> * @cond SPI_INTERNAL</span></div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment"> */</span></div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="comment">/* Настройка GPIO для SPI */</span></div>
|
||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span><span class="keywordtype">void</span> <a class="code hl_function" href="general__spi_8c.html#ae80d21e5cab86571709a2619442733b5">SPI_GPIO_Init</a>(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi);</div>
|
||||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
|
||||
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="comment">/* Настройка DMA для SPI */</span></div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="keywordtype">void</span> SPI_DMA_Init(SPI_HandleTypeDef *hspi, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X);</div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
|
||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="preprocessor">#ifndef __USER_LINKDMA</span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="comment"> * @brief Аналог HAL макроса для привязки DMA к UART.</span></div>
|
||||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="comment"> * @note @ref __HAL_LINKDMA.</span></div>
|
||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="comment"> */</span><span class="preprocessor"></span></div>
|
||||
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="preprocessor">#define __USER_LINKDMA(__HANDLE__, __PPP_DMA_FIELD__, __DMA_HANDLE__) \</span></div>
|
||||
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="preprocessor">do{ \</span></div>
|
||||
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span><span class="preprocessor">(__HANDLE__)->__PPP_DMA_FIELD__ = (__DMA_HANDLE__); \</span></div>
|
||||
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span><span class="preprocessor">(__DMA_HANDLE__)->Parent = (__HANDLE__);} while(0U)</span></div>
|
||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span><span class="comment">/** @endcond */</span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span><span class="comment">///////////////////////////---FUNCTIONS---///////////////////////////</span></div>
|
||||
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
|
||||
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span><span class="preprocessor">#endif </span><span class="comment">// __SPI_GENERAL_H_</span></div>
|
||||
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span><span class="comment">/** MY_LIBS_SPI</span></div>
|
||||
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span><span class="comment"> * @}</span></div>
|
||||
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span><span class="comment"> */</span></div>
|
||||
<div class="ttc" id="ageneral__spi_8c_html_ae80d21e5cab86571709a2619442733b5"><div class="ttname"><a href="general__spi_8c.html#ae80d21e5cab86571709a2619442733b5">SPI_GPIO_Init</a></div><div class="ttdeci">void SPI_GPIO_Init(SPI_SettingsTypeDef *sspi)</div><div class="ttdoc">Инициализация GPIO для SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8c_source.html#l00058">general_spi.c:58</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___s_p_i_html_ga0e177e3c57a8fcdc73b5602e72ec66ba"><div class="ttname"><a href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a></div><div class="ttdeci">HAL_StatusTypeDef SPI_Base_Init(SPI_SettingsTypeDef *sspi)</div><div class="ttdoc">Инициализация SPI с помощью структуры SPI_SettingsTypeDef.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8c_source.html#l00028">general_spi.c:28</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___s_p_i_html_ga333dd251bc878931086d48aa932b1a5f"><div class="ttname"><a href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f">SPI_Check_Init_Struct</a></div><div class="ttdeci">HAL_StatusTypeDef SPI_Check_Init_Struct(SPI_SettingsTypeDef *sspi)</div><div class="ttdoc">Проверка корректности структуры инициализации SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8c_source.html#l00246">general_spi.c:246</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___s_p_i_html_gab9f13318daf02bc5b5f302ae392dccac"><div class="ttname"><a href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a></div><div class="ttdeci">void SPI_MspInit(SPI_HandleTypeDef *hspi)</div><div class="ttdoc">Настройка тактирования и прерываний SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8c_source.html#l00127">general_spi.c:127</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___s_p_i_html_gac279cc3eaa35541edfe330a1844a85e4"><div class="ttname"><a href="group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4">SPI_MspDeInit</a></div><div class="ttdeci">void SPI_MspDeInit(SPI_HandleTypeDef *hspi)</div><div class="ttdoc">Деинициализация тактирования и прерываний SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8c_source.html#l00191">general_spi.c:191</a></div></div>
|
||||
<div class="ttc" id="amylibs__defs_8h_html"><div class="ttname"><a href="mylibs__defs_8h.html">mylibs_defs.h</a></div><div class="ttdoc">Заголочный файл для дефайнов библиотеки MyLibsGeneral.</div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a></div><div class="ttdoc">Структура настроек SPI.</div><div class="ttdef"><b>Definition</b> <a href="#l00103">general_spi.h:104</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a0af3bdb273818ff97eb4ff3cff918820"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">SPI_SettingsTypeDef::MOSI_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * MOSI_GPIOx</div><div class="ttdoc">Порт MOSI.</div><div class="ttdef"><b>Definition</b> <a href="#l00115">general_spi.h:115</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a0d55a2941854f61934487f3d209cfa95"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">SPI_SettingsTypeDef::MISO_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * MISO_GPIOx</div><div class="ttdoc">Порт MISO.</div><div class="ttdef"><b>Definition</b> <a href="#l00111">general_spi.h:111</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3366c654d7ec6dd41c6a0b504dc8509a"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">SPI_SettingsTypeDef::MISO_PIN</a></div><div class="ttdeci">uint32_t MISO_PIN</div><div class="ttdoc">Пин MISO.</div><div class="ttdef"><b>Definition</b> <a href="#l00112">general_spi.h:112</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3bcb1ed12da3544e02e6d36493669bdc"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">SPI_SettingsTypeDef::CLK_PIN</a></div><div class="ttdeci">uint32_t CLK_PIN</div><div class="ttdoc">Пин CLK.</div><div class="ttdef"><b>Definition</b> <a href="#l00108">general_spi.h:108</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3cfd9469b0617a68bbd2a161ba06bb95"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3cfd9469b0617a68bbd2a161ba06bb95">SPI_SettingsTypeDef::DMAChannel</a></div><div class="ttdeci">DMA_Stream_TypeDef * DMAChannel</div><div class="ttdoc">Канал DMA (NULL если не нужен)</div><div class="ttdef"><b>Definition</b> <a href="#l00119">general_spi.h:119</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3f3748103a0b7861f6700042fd691ba1"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">SPI_SettingsTypeDef::CLK_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t CLK_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для CLK.</div><div class="ttdef"><b>Definition</b> <a href="#l00109">general_spi.h:109</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a6a15d48eccf92959de3a086031fdc979"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">SPI_SettingsTypeDef::CLK_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * CLK_GPIOx</div><div class="ttdoc">Порт CLK.</div><div class="ttdef"><b>Definition</b> <a href="#l00107">general_spi.h:107</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a961208869faf4a7369aaf4edde75f176"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">SPI_SettingsTypeDef::MOSI_PIN</a></div><div class="ttdeci">uint32_t MOSI_PIN</div><div class="ttdoc">Пин MOSI.</div><div class="ttdef"><b>Definition</b> <a href="#l00116">general_spi.h:116</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_aa0edaa145076d2383b3e0095d156d474"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#aa0edaa145076d2383b3e0095d156d474">SPI_SettingsTypeDef::DMA_CHANNEL_X</a></div><div class="ttdeci">uint32_t DMA_CHANNEL_X</div><div class="ttdoc">Номер канала DMA (0 если не нужен)</div><div class="ttdef"><b>Definition</b> <a href="#l00120">general_spi.h:120</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_ad203d8b8d67e4f477d002d15b03ba422"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">SPI_SettingsTypeDef::hspi</a></div><div class="ttdeci">SPI_HandleTypeDef hspi</div><div class="ttdoc">HAL handle SPI.</div><div class="ttdef"><b>Definition</b> <a href="#l00105">general_spi.h:105</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_aecd7a5c6e205335b8ed229d74cd35d14"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">SPI_SettingsTypeDef::MISO_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t MISO_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для MISO.</div><div class="ttdef"><b>Definition</b> <a href="#l00113">general_spi.h:113</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_afbe75a1c36650a4a9b41fa706a4c7eab"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">SPI_SettingsTypeDef::MOSI_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t MOSI_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для MOSI.</div><div class="ttdef"><b>Definition</b> <a href="#l00117">general_spi.h:117</a></div></div>
|
||||
</div><!-- fragment --></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="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</a></li><li class="navelem"><a href="general__spi_8h.html">general_spi.h</a></li>
|
||||
<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>
|
||||
257
Doc/html/general__uart_8c.html
Normal file
@ -0,0 +1,257 @@
|
||||
<!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: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src/general_uart.c File Reference</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"> 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('general__uart_8c.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 class="header">
|
||||
<div class="headertitle"><div class="title">general_uart.c File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Модуль для инициализации UART.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include "<a class="el" href="general__uart_8h_source.html">general_uart.h</a>"</code><br />
|
||||
<code>#include "<a class="el" href="general__gpio_8h_source.html">general_gpio.h</a>"</code><br />
|
||||
</div><div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Include dependency graph for general_uart.c:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center"><img src="general__uart_8c__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_src_2general__uart_8c" loading="lazy" alt=""/></div>
|
||||
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_src_2general__uart_8c" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_src_2general__uart_8c">
|
||||
<area shape="rect" title="Модуль для инициализации UART." alt="" coords="22,5,220,64"/>
|
||||
<area shape="rect" href="general__uart_8h.html" title="Заголовочный файл для модуля инициализации UART." alt="" coords="5,112,109,139"/>
|
||||
<area shape="poly" title=" " alt="" coords="103,66,77,101,73,98,98,63"/>
|
||||
<area shape="rect" href="general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="132,112,238,139"/>
|
||||
<area shape="poly" title=" " alt="" coords="144,63,169,98,165,101,139,66"/>
|
||||
<area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="70,187,172,213"/>
|
||||
<area shape="poly" title=" " alt="" coords="70,137,102,173,98,177,66,141"/>
|
||||
<area shape="rect" href="mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="65,261,177,288"/>
|
||||
<area shape="poly" title=" " alt="" coords="124,214,124,246,118,246,118,214"/>
|
||||
<area shape="rect" title=" " alt="" coords="62,336,180,363"/>
|
||||
<area shape="poly" title=" " alt="" coords="124,289,124,320,118,320,118,289"/>
|
||||
<area shape="poly" title=" " alt="" coords="176,141,144,177,140,173,172,137"/>
|
||||
</map>
|
||||
</div>
|
||||
</div>
|
||||
<p><a href="general__uart_8c_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:gab9f07396b778505c934143e89953e154" id="r_gab9f07396b778505c934143e89953e154"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">UART_Base_Init</a> (<a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</td></tr>
|
||||
<tr class="memdesc:gab9f07396b778505c934143e89953e154"><td class="mdescLeft"> </td><td class="mdescRight">Инициализация UART с помощью структуры <a class="el" href="struct_u_a_r_t___settings_type_def.html" title="Структура настроек UART.">UART_SettingsTypeDef</a>. <br /></td></tr>
|
||||
<tr class="memitem:a3abae05bbde5f3b402bf18ca13dc6a0b" id="r_a3abae05bbde5f3b402bf18ca13dc6a0b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3abae05bbde5f3b402bf18ca13dc6a0b">UART_GPIO_Init</a> (GPIO_TypeDef *GPIOx, uint16_t GPIO_PIN_RX, uint16_t GPIO_PIN_TX)</td></tr>
|
||||
<tr class="memdesc:a3abae05bbde5f3b402bf18ca13dc6a0b"><td class="mdescLeft"> </td><td class="mdescRight">Инициализация GPIO для UART. <br /></td></tr>
|
||||
<tr class="memitem:ad82d0cbd19151675135fd75dad315d05" id="r_ad82d0cbd19151675135fd75dad315d05"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad82d0cbd19151675135fd75dad315d05">UART_DMA_Init</a> (UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X)</td></tr>
|
||||
<tr class="memdesc:ad82d0cbd19151675135fd75dad315d05"><td class="mdescLeft"> </td><td class="mdescRight">Инициализация DMA для UART. <br /></td></tr>
|
||||
<tr class="memitem:gab9313fd2f9fc6873ca6bfbc5b96edbbb" id="r_gab9313fd2f9fc6873ca6bfbc5b96edbbb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a> (UART_HandleTypeDef *huart)</td></tr>
|
||||
<tr class="memdesc:gab9313fd2f9fc6873ca6bfbc5b96edbbb"><td class="mdescLeft"> </td><td class="mdescRight">Настройка тактирования и прерываний UART. <br /></td></tr>
|
||||
<tr class="memitem:ga93ed6ceef4e3b5e7885786125cce93bc" id="r_ga93ed6ceef4e3b5e7885786125cce93bc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc">UART_MspDeInit</a> (UART_HandleTypeDef *huart)</td></tr>
|
||||
<tr class="memdesc:ga93ed6ceef4e3b5e7885786125cce93bc"><td class="mdescLeft"> </td><td class="mdescRight">Деинициализация тактирования и прерываний UART. <br /></td></tr>
|
||||
<tr class="memitem:ga2a22e46ecb9e04b2ce197a0e9c09044a" id="r_ga2a22e46ecb9e04b2ce197a0e9c09044a"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a">UART_Check_Init_Struct</a> (<a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</td></tr>
|
||||
<tr class="memdesc:ga2a22e46ecb9e04b2ce197a0e9c09044a"><td class="mdescLeft"> </td><td class="mdescRight">Проверка корректности структуры инициализации UART. <br /></td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Модуль для инициализации UART. </p>
|
||||
<p>Реализация функций для работы с UART:</p><ul>
|
||||
<li>Инициализация UART и его линий RX/TX</li>
|
||||
<li>Настройка DMA для UART</li>
|
||||
<li>Настройка GPIO для UART</li>
|
||||
<li>Настройка NVIC и тактирования UART </li>
|
||||
</ul>
|
||||
|
||||
<p class="definition">Definition in file <a class="el" href="general__uart_8c_source.html">general_uart.c</a>.</p>
|
||||
</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
|
||||
<a id="a3abae05bbde5f3b402bf18ca13dc6a0b" name="a3abae05bbde5f3b402bf18ca13dc6a0b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a3abae05bbde5f3b402bf18ca13dc6a0b">◆ </a></span>UART_GPIO_Init()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void UART_GPIO_Init </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">GPIO_TypeDef *</td> <td class="paramname"><span class="paramname"><em>GPIOx</em></span>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint16_t</td> <td class="paramname"><span class="paramname"><em>GPIO_PIN_RX</em></span>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint16_t</td> <td class="paramname"><span class="paramname"><em>GPIO_PIN_TX</em></span> )</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Инициализация GPIO для UART. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">GPIOx</td><td>Порт для настройки. </td></tr>
|
||||
<tr><td class="paramname">GPIO_PIN_RX</td><td>Пин для приема. </td></tr>
|
||||
<tr><td class="paramname">GPIO_PIN_TX</td><td>Пин для передачи. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8c_source.html#l00069">69</a> of file <a class="el" href="general__uart_8c_source.html">general_uart.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ad82d0cbd19151675135fd75dad315d05" name="ad82d0cbd19151675135fd75dad315d05"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ad82d0cbd19151675135fd75dad315d05">◆ </a></span>UART_DMA_Init()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void UART_DMA_Init </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">UART_HandleTypeDef *</td> <td class="paramname"><span class="paramname"><em>huart</em></span>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">DMA_HandleTypeDef *</td> <td class="paramname"><span class="paramname"><em>hdma_rx</em></span>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">DMA_Stream_TypeDef *</td> <td class="paramname"><span class="paramname"><em>DMAChannel</em></span>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint32_t</td> <td class="paramname"><span class="paramname"><em>DMA_CHANNEL_X</em></span> )</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Инициализация DMA для UART. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">huart</td><td>Указатель на хендл UART. </td></tr>
|
||||
<tr><td class="paramname">hdma_rx</td><td>Указатель на хендл DMA для линии приема UART. </td></tr>
|
||||
<tr><td class="paramname">DMAChannel</td><td>Указатель на канал DMA/поток DMA в STM32F407. </td></tr>
|
||||
<tr><td class="paramname">DMA_CHANNEL_X</td><td>Канал DMA. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8c_source.html#l00109">109</a> of file <a class="el" href="general__uart_8c_source.html">general_uart.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div id="page-nav" class="page-nav-panel">
|
||||
<div id="page-nav-resize-handle"></div>
|
||||
<div id="page-nav-tree">
|
||||
<div id="page-nav-contents">
|
||||
</div><!-- page-nav-contents -->
|
||||
</div><!-- page-nav-tree -->
|
||||
</div><!-- page-nav -->
|
||||
</div><!-- container -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li><li class="navelem"><a href="general__uart_8c.html">general_uart.c</a></li>
|
||||
<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>
|
||||
9
Doc/html/general__uart_8c.js
Normal file
@ -0,0 +1,9 @@
|
||||
var general__uart_8c =
|
||||
[
|
||||
[ "UART_Base_Init", "group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154", null ],
|
||||
[ "UART_GPIO_Init", "general__uart_8c.html#a3abae05bbde5f3b402bf18ca13dc6a0b", null ],
|
||||
[ "UART_DMA_Init", "general__uart_8c.html#ad82d0cbd19151675135fd75dad315d05", null ],
|
||||
[ "UART_MspInit", "group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb", null ],
|
||||
[ "UART_MspDeInit", "group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc", null ],
|
||||
[ "UART_Check_Init_Struct", "group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a", null ]
|
||||
];
|
||||
14
Doc/html/general__uart_8c__incl.map
Normal file
@ -0,0 +1,14 @@
|
||||
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src/general_uart.c" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src/general_uart.c">
|
||||
<area shape="rect" id="Node000001" title="Модуль для инициализации UART." alt="" coords="22,5,220,64"/>
|
||||
<area shape="rect" id="Node000002" href="$general__uart_8h.html" title="Заголовочный файл для модуля инициализации UART." alt="" coords="5,112,109,139"/>
|
||||
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="103,66,77,101,73,98,98,63"/>
|
||||
<area shape="rect" id="Node000006" href="$general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="132,112,238,139"/>
|
||||
<area shape="poly" id="edge5_Node000001_Node000006" title=" " alt="" coords="144,63,169,98,165,101,139,66"/>
|
||||
<area shape="rect" id="Node000003" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="70,187,172,213"/>
|
||||
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="70,137,102,173,98,177,66,141"/>
|
||||
<area shape="rect" id="Node000004" href="$mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="65,261,177,288"/>
|
||||
<area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="124,214,124,246,118,246,118,214"/>
|
||||
<area shape="rect" id="Node000005" title=" " alt="" coords="62,336,180,363"/>
|
||||
<area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="124,289,124,320,118,320,118,289"/>
|
||||
<area shape="poly" id="edge6_Node000006_Node000003" title=" " alt="" coords="176,141,144,177,140,173,172,137"/>
|
||||
</map>
|
||||
1
Doc/html/general__uart_8c__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
3ff3cdf25ec66354d1baab1e80991e75
|
||||
BIN
Doc/html/general__uart_8c__incl.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
526
Doc/html/general__uart_8c_source.html
Normal file
@ -0,0 +1,526 @@
|
||||
<!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: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src/general_uart.c Source File</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"> 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('general__uart_8c_source.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 class="header">
|
||||
<div class="headertitle"><div class="title">general_uart.c</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="general__uart_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">**************************************************************************</span></div>
|
||||
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">* @file general_uart.c</span></div>
|
||||
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">* @brief Модуль для инициализации UART.</span></div>
|
||||
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">**************************************************************************</span></div>
|
||||
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">Реализация функций для работы с UART:</span></div>
|
||||
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> - Инициализация UART и его линий RX/TX</span></div>
|
||||
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> - Настройка DMA для UART</span></div>
|
||||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> - Настройка GPIO для UART</span></div>
|
||||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> - Настройка NVIC и тактирования UART</span></div>
|
||||
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment">**************************************************************************/</span></div>
|
||||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include "<a class="code" href="general__uart_8h.html">general_uart.h</a>"</span></div>
|
||||
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include "<a class="code" href="general__gpio_8h.html">general_gpio.h</a>"</span></div>
|
||||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">//-------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">//------------------------UART INIT FUNCTIONS------------------------</span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> * @brief Инициализация UART с помощью структуры UART_SettingsTypeDef.</span></div>
|
||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> * @param suart Указатель на структуру с настройками UART.</span></div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> * @return HAL status.</span></div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> * @details </span></div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> * Инициализирует UART и его GPIO и при необходимости DMA.</span></div>
|
||||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> * Настройка аналогична HAL_UART_Init </span></div>
|
||||
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> * @code</span></div>
|
||||
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> * suart.huart.Init...</span></div>
|
||||
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> * @endcode </span></div>
|
||||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> * но дополнительно надо прописать пины RX/TX @ref UART_SettingsTypeDef</span></div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"> * @code</span></div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment"> * suart->GPIOx, suart->GPIO_PIN_RX, suart->GPIO_PIN_TX</span></div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"> * @endcode</span></div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00032" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154"> 32</a></span>HAL_StatusTypeDef <a class="code hl_function" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">UART_Base_Init</a>(<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>{ <span class="comment">// function takes setting structure for init</span></div>
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
|
||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// check is settings are valid</span></div>
|
||||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">if</span>(<a class="code hl_function" href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a">UART_Check_Init_Struct</a>(suart) != HAL_OK)</div>
|
||||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">return</span> HAL_ERROR;</div>
|
||||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
|
||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Init.Mode = UART_MODE_TX_RX;</div>
|
||||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <a class="code hl_function" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>(&suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>);</div>
|
||||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">if</span> (HAL_UART_Init(&suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>) != HAL_OK)</div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> {</div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_define" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">MyLibs_Error_Handler</a>();</div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">return</span> HAL_ERROR;</div>
|
||||
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> }</div>
|
||||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
|
||||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="comment">// init gpio from UARTSettings structure</span></div>
|
||||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_function" href="general__uart_8c.html#a3abae05bbde5f3b402bf18ca13dc6a0b">UART_GPIO_Init</a>(suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#af6f9910d065bae715cdb4a1024143a8f">GPIOx</a>, suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49">GPIO_PIN_RX</a>, suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a5f1babfcfb436cd77f5614253c0a5bef">GPIO_PIN_TX</a>);</div>
|
||||
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> __HAL_UART_ENABLE_IT(&suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>, UART_IT_IDLE);</div>
|
||||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="comment">// init dma from UARTSettings structure if need</span></div>
|
||||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">if</span> (suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a1ecc9ac6a1d2747ade56770cbab6a613">DMAChannel</a> != 0)</div>
|
||||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_function" href="general__uart_8c.html#ad82d0cbd19151675135fd75dad315d05">UART_DMA_Init</a>(&suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>, suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.hdmarx, suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a1ecc9ac6a1d2747ade56770cbab6a613">DMAChannel</a>, suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a15ce92b03f7f189bfbe1ab88a5f94d19">DMA_CHANNEL_X</a>);</div>
|
||||
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
|
||||
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
|
||||
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">return</span> HAL_OK;</div>
|
||||
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
|
||||
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="comment"> * @brief Инициализация GPIO для UART.</span></div>
|
||||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="comment"> * @param GPIOx Порт для настройки.</span></div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment"> * @param GPIO_PIN_RX Пин для приема.</span></div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment"> * @param GPIO_PIN_TX Пин для передачи.</span></div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00069" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="general__uart_8c.html#a3abae05bbde5f3b402bf18ca13dc6a0b"> 69</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="general__uart_8c.html#a3abae05bbde5f3b402bf18ca13dc6a0b">UART_GPIO_Init</a>(GPIO_TypeDef *GPIOx, uint16_t GPIO_PIN_RX, uint16_t GPIO_PIN_TX)</div>
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span>{ <span class="comment">// function takes port and pins (for rx and tx)</span></div>
|
||||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> GPIO_InitTypeDef GPIO_InitStruct = {0};</div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="comment">// choose port for enable clock</span></div>
|
||||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <a class="code hl_function" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">GPIO_Clock_Enable</a>(GPIOx);</div>
|
||||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="comment">//USART3 GPIO Configuration</span></div>
|
||||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="comment">//GPIO_PIN_TX ------> USART_TX</span></div>
|
||||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="comment">//GPIO_PIN_RX ------> USART_RX </span></div>
|
||||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="preprocessor">#if defined(STM32F4xx) </span><span class="comment">// gpio init for 407</span></div>
|
||||
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> GPIO_InitStruct.Pin = GPIO_PIN_TX|GPIO_PIN_RX;</div>
|
||||
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;</div>
|
||||
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> GPIO_InitStruct.Pull = GPIO_NOPULL;</div>
|
||||
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;</div>
|
||||
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> GPIO_InitStruct.Alternate = GPIO_AF7_USART3;</div>
|
||||
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> HAL_GPIO_Init(GPIOx, &GPIO_InitStruct);</div>
|
||||
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor">#elif defined(STM32F1xx) </span><span class="comment">// gpio init for atm403/stm103</span></div>
|
||||
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="comment">//GPIO_PIN_TX ------> USART_TX</span></div>
|
||||
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> GPIO_InitStruct.Pin = GPIO_PIN_TX;</div>
|
||||
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;</div>
|
||||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;</div>
|
||||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> HAL_GPIO_Init(GPIOx, &GPIO_InitStruct);</div>
|
||||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
|
||||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment">// GPIO_PIN_RX ------> USART_RX </span></div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> GPIO_InitStruct.Pin = GPIO_PIN_RX;</div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> GPIO_InitStruct.Mode = GPIO_MODE_INPUT;</div>
|
||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> GPIO_InitStruct.Pull = GPIO_NOPULL;</div>
|
||||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> HAL_GPIO_Init(GPIOx, &GPIO_InitStruct);</div>
|
||||
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="comment"> * @brief Инициализация DMA для UART.</span></div>
|
||||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="comment"> * @param huart Указатель на хендл UART.</span></div>
|
||||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment"> * @param hdma_rx Указатель на хендл DMA для линии приема UART.</span></div>
|
||||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment"> * @param DMAChannel Указатель на канал DMA/поток DMA в STM32F407.</span></div>
|
||||
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment"> * @param DMA_CHANNEL_X Канал DMA.</span></div>
|
||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00109" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="general__uart_8c.html#ad82d0cbd19151675135fd75dad315d05"> 109</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="general__uart_8c.html#ad82d0cbd19151675135fd75dad315d05">UART_DMA_Init</a>(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X)</div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span>{ <span class="comment">// function takes uart and dma handlers and dmachannel for uart</span></div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="comment">// for now only dma rx is supported, tx maybe later if needed</span></div>
|
||||
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="comment">// calc defines on boot_project_setup.h</span></div>
|
||||
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
|
||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="comment">/* USART3 DMA Init */</span></div>
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="comment">/* USART3_RX Init */</span></div>
|
||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
|
||||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> hdma_rx->Instance = DMAChannel;</div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="preprocessor">#if defined(STM32F4xx) </span><span class="comment">// dma channel choose for 407</span></div>
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> hdma_rx->Init.Channel = DMA_CHANNEL_X;</div>
|
||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> hdma_rx->Init.Direction = DMA_PERIPH_TO_MEMORY;</div>
|
||||
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> hdma_rx->Init.PeriphInc = DMA_PINC_DISABLE;</div>
|
||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> hdma_rx->Init.MemInc = DMA_MINC_ENABLE;</div>
|
||||
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> hdma_rx->Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;</div>
|
||||
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> hdma_rx->Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;</div>
|
||||
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> hdma_rx->Init.Mode = DMA_CIRCULAR;</div>
|
||||
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> hdma_rx->Init.Priority = DMA_PRIORITY_LOW;</div>
|
||||
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> (HAL_DMA_Init(hdma_rx) != HAL_OK)</div>
|
||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> {</div>
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <a class="code hl_define" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">MyLibs_Error_Handler</a>();</div>
|
||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> }</div>
|
||||
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
|
||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> __USER_LINKDMA(huart,hdmarx,hdma_rx); </div>
|
||||
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
|
||||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div>
|
||||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="comment">// __USER_LINKDMA is need because __HAL_LINKDMA is written for global defined hdma_rx</span></div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="comment">// so you get error because hal uses . insted of -></span></div>
|
||||
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="comment"> * @brief Настройка тактирования и прерываний UART.</span></div>
|
||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="comment"> * @param huart Указатель на хендл UART.</span></div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="comment"> * @note Чтобы не генерировать функцию с иницилизацией неиспользуемых UART,</span></div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment"> дефайнами @ref UART_INIT в @ref general_uart.h определяются используемые UART.</span></div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00146" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb"> 146</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>(UART_HandleTypeDef *huart) <span class="comment">// analog for hal function</span></div>
|
||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span>{ </div>
|
||||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="comment">// __RCC_DMA_UART_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="comment">// /* DMA1_Stream1_IRQn interrupt configuration */</span></div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="comment">// HAL_NVIC_SetPriority(DMA_UART_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA_UART_IRQn);</span></div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
|
||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// rcc, dma and interrupt init for USARTs</span></div>
|
||||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="comment">// GPIO init was moved to own functions UART_GPIO_Init </span></div>
|
||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span>(0);</div>
|
||||
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="preprocessor">#ifdef USE_USART1</span></div>
|
||||
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART1)</div>
|
||||
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> {</div>
|
||||
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
|
||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="comment">/* DMA2 clock enable */</span></div>
|
||||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> __HAL_RCC_DMA2_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="comment">/* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);</div>
|
||||
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
|
||||
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="comment">/* USART1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> __HAL_RCC_USART1_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
|
||||
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="comment">/* USART1 interrupt Init */</span></div>
|
||||
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> HAL_NVIC_EnableIRQ(USART1_IRQn);</div>
|
||||
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> }</div>
|
||||
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART1</span></div>
|
||||
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span><span class="preprocessor">#ifdef USE_USART2</span></div>
|
||||
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART2)</div>
|
||||
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> {</div>
|
||||
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="comment">/* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> __HAL_RCC_DMA1_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="comment">/* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);</div>
|
||||
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
|
||||
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="comment">/* USART2 clock enable */</span></div>
|
||||
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> __HAL_RCC_USART2_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> </div>
|
||||
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="comment">/* USART2 interrupt Init */</span></div>
|
||||
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> HAL_NVIC_EnableIRQ(USART2_IRQn);</div>
|
||||
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> }</div>
|
||||
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART2</span></div>
|
||||
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span><span class="preprocessor">#ifdef USE_USART3</span></div>
|
||||
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART3)</div>
|
||||
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> { </div>
|
||||
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="comment">/* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> __HAL_RCC_DMA1_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="comment">/* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn);</div>
|
||||
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> </div>
|
||||
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="comment">/* USART3 clock enable */</span></div>
|
||||
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> __HAL_RCC_USART3_CLK_ENABLE(); </div>
|
||||
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="comment">/* USART3 interrupt Init */</span></div>
|
||||
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> HAL_NVIC_EnableIRQ(USART3_IRQn);</div>
|
||||
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> }</div>
|
||||
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART3</span></div>
|
||||
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span><span class="preprocessor">#ifdef USE_UART4</span></div>
|
||||
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==UART4)</div>
|
||||
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> {</div>
|
||||
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="comment">/* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> __HAL_RCC_DMA1_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="comment">/* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> HAL_NVIC_SetPriority(DMA1_Stream2_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> HAL_NVIC_EnableIRQ(DMA1_Stream2_IRQn);</div>
|
||||
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
|
||||
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="comment">/* UART4 clock enable */</span></div>
|
||||
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> __HAL_RCC_UART4_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> </div>
|
||||
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="comment">/* UART4 interrupt Init */</span></div>
|
||||
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> HAL_NVIC_SetPriority(UART4_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> HAL_NVIC_EnableIRQ(UART4_IRQn);</div>
|
||||
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> }</div>
|
||||
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span><span class="preprocessor">#endif </span><span class="comment">// USE_UART4</span></div>
|
||||
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span><span class="preprocessor">#ifdef USE_UART5</span></div>
|
||||
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==UART5)</div>
|
||||
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> {</div>
|
||||
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <span class="comment">/* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> __HAL_RCC_DMA1_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="comment">/* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> HAL_NVIC_SetPriority(DMA1_Stream0_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> HAL_NVIC_EnableIRQ(DMA1_Stream0_IRQn);</div>
|
||||
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
|
||||
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="comment">/* UART5 clock enable */</span></div>
|
||||
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> __HAL_RCC_DMA1_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> </div>
|
||||
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="comment">/* UART5 interrupt Init */</span></div>
|
||||
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> HAL_NVIC_SetPriority(UART5_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> HAL_NVIC_EnableIRQ(UART5_IRQn);</div>
|
||||
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> }</div>
|
||||
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span><span class="preprocessor">#endif </span><span class="comment">// USE_UART5</span></div>
|
||||
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span><span class="preprocessor">#ifdef USE_USART6</span></div>
|
||||
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART6)</div>
|
||||
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> {</div>
|
||||
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="comment">/* DMA2 clock enable */</span></div>
|
||||
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> __HAL_RCC_DMA2_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="comment">/* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn);</div>
|
||||
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div>
|
||||
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="comment">/* USART6 clock enable */</span></div>
|
||||
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> __HAL_RCC_USART6_CLK_ENABLE();</div>
|
||||
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> </div>
|
||||
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="comment">/* USART6 interrupt Init */</span></div>
|
||||
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> HAL_NVIC_SetPriority(USART6_IRQn, 0, 0);</div>
|
||||
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> HAL_NVIC_EnableIRQ(USART6_IRQn);</div>
|
||||
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> }</div>
|
||||
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART6</span></div>
|
||||
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span><span class="comment"> * @brief Деинициализация тактирования и прерываний UART.</span></div>
|
||||
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span><span class="comment"> * @param huart Указатель на хендл UART.</span></div>
|
||||
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><span class="comment"> * @note Чтобы не генерировать функцию с деиницилизацией неиспользуемых UART,</span></div>
|
||||
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span><span class="comment"> дефайнами @ref UART_INIT в @ref general_uart.h определяются используемые UART.</span></div>
|
||||
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00267" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"><a class="line" href="group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc"> 267</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc">UART_MspDeInit</a>(UART_HandleTypeDef *huart) <span class="comment">// analog for hal function</span></div>
|
||||
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span>{ </div>
|
||||
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="comment">// rcc, dma and interrupt init for USARTs</span></div>
|
||||
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="comment">// GPIO init was moved to own functions UART_GPIO_Init </span></div>
|
||||
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">if</span>(0);</div>
|
||||
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span><span class="preprocessor">#ifdef USE_USART1</span></div>
|
||||
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART1)</div>
|
||||
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> {</div>
|
||||
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> </div>
|
||||
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span><span class="comment">// /* DMA2 clock enable */</span></div>
|
||||
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span><span class="comment">// __HAL_RCC_DMA2_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span><span class="comment">// HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);</span></div>
|
||||
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> </div>
|
||||
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> <span class="comment">/* USART1 clock reset */</span></div>
|
||||
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> __HAL_RCC_USART1_FORCE_RESET();</div>
|
||||
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> __HAL_RCC_USART1_RELEASE_RESET();</div>
|
||||
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> }</div>
|
||||
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART1</span></div>
|
||||
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span><span class="preprocessor">#ifdef USE_USART2</span></div>
|
||||
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART2)</div>
|
||||
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> {</div>
|
||||
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span><span class="comment">// /* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span><span class="comment">// __HAL_RCC_DMA1_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span><span class="comment">// HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);</span></div>
|
||||
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> </div>
|
||||
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <span class="comment">/* USART2 clock reset */</span></div>
|
||||
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> __HAL_RCC_USART2_FORCE_RESET();</div>
|
||||
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> __HAL_RCC_USART2_RELEASE_RESET();</div>
|
||||
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> }</div>
|
||||
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART2</span></div>
|
||||
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span><span class="preprocessor">#ifdef USE_USART3</span></div>
|
||||
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART3)</div>
|
||||
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> { </div>
|
||||
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span><span class="comment">// /* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span><span class="comment">// __HAL_RCC_DMA1_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span><span class="comment">// HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn);</span></div>
|
||||
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> </div>
|
||||
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <span class="comment">/* USART3 clock reset */</span></div>
|
||||
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> __HAL_RCC_USART3_FORCE_RESET();</div>
|
||||
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> __HAL_RCC_USART3_RELEASE_RESET();</div>
|
||||
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> }</div>
|
||||
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART3</span></div>
|
||||
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span><span class="preprocessor">#ifdef USE_UART4</span></div>
|
||||
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==UART4)</div>
|
||||
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> {</div>
|
||||
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span><span class="comment">// /* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span><span class="comment">// __HAL_RCC_DMA1_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span><span class="comment">// HAL_NVIC_SetPriority(DMA1_Stream2_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA1_Stream2_IRQn);</span></div>
|
||||
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> </div>
|
||||
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="comment">/* UART4 clock reset */</span></div>
|
||||
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> __HAL_RCC_UART4_FORCE_RESET();</div>
|
||||
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> __HAL_RCC_UART4_RELEASE_RESET();</div>
|
||||
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> }</div>
|
||||
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span><span class="preprocessor">#endif </span><span class="comment">// USE_UART4</span></div>
|
||||
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="preprocessor">#ifdef USE_UART5</span></div>
|
||||
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==UART5)</div>
|
||||
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> {</div>
|
||||
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span><span class="comment">// /* DMA1 clock enable */</span></div>
|
||||
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span><span class="comment">// __HAL_RCC_DMA1_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span><span class="comment">// HAL_NVIC_SetPriority(DMA1_Stream0_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA1_Stream0_IRQn);</span></div>
|
||||
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> </div>
|
||||
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="comment">/* UART5 clock reset */</span></div>
|
||||
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> __HAL_RCC_UART5_FORCE_RESET();</div>
|
||||
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> __HAL_RCC_UART5_RELEASE_RESET();</div>
|
||||
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> }</div>
|
||||
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span><span class="preprocessor">#endif </span><span class="comment">// USE_UART5</span></div>
|
||||
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span><span class="preprocessor">#ifdef USE_USART6</span></div>
|
||||
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART6)</div>
|
||||
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> {</div>
|
||||
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span><span class="comment">// /* DMA2 clock enable */</span></div>
|
||||
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span><span class="comment">// __HAL_RCC_DMA2_CLK_ENABLE();</span></div>
|
||||
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span><span class="comment">// /* DMA interrupt init */</span></div>
|
||||
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span><span class="comment">// HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0);</span></div>
|
||||
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span><span class="comment">// HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn);</span></div>
|
||||
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> </div>
|
||||
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> <span class="comment">/* USART6 clock reset */</span></div>
|
||||
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> __HAL_RCC_USART6_FORCE_RESET();</div>
|
||||
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> __HAL_RCC_USART6_RELEASE_RESET();</div>
|
||||
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> }</div>
|
||||
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART6</span></div>
|
||||
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span><span class="comment"> * @brief Проверка корректности структуры инициализации UART.</span></div>
|
||||
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span><span class="comment"> * @param suart Указатель на структуру с настройками UART.</span></div>
|
||||
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span><span class="comment"> * @return HAL status.</span></div>
|
||||
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00364" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"><a class="line" href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a"> 364</a></span>HAL_StatusTypeDef <a class="code hl_function" href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a">UART_Check_Init_Struct</a>(<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</div>
|
||||
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span>{</div>
|
||||
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="comment">// check is settings are valid</span></div>
|
||||
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> <span class="keywordflow">if</span> (!IS_UART_INSTANCE(suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Instance))</div>
|
||||
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">return</span> HAL_ERROR;</div>
|
||||
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> </div>
|
||||
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> (!IS_UART_BAUDRATE(suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Init.BaudRate) || (suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Init.BaudRate == NULL))</div>
|
||||
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">return</span> HAL_ERROR;</div>
|
||||
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> </div>
|
||||
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">if</span> (!IS_GPIO_ALL_INSTANCE(suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#af6f9910d065bae715cdb4a1024143a8f">GPIOx</a>))</div>
|
||||
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">return</span> HAL_ERROR;</div>
|
||||
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> </div>
|
||||
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">if</span> (!IS_GPIO_PIN(suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49">GPIO_PIN_RX</a>) && !IS_GPIO_PIN(suart-><a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a5f1babfcfb436cd77f5614253c0a5bef">GPIO_PIN_TX</a>)) <span class="comment">// if both pins arent set up</span></div>
|
||||
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">return</span> HAL_ERROR;</div>
|
||||
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> </div>
|
||||
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">return</span> HAL_OK;</div>
|
||||
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> </div>
|
||||
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span><span class="comment">//------------------------UART INIT FUNCTIONS------------------------</span></div>
|
||||
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span><span class="comment">//-------------------------------------------------------------------</span></div>
|
||||
<div class="ttc" id="ageneral__gpio_8h_html"><div class="ttname"><a href="general__gpio_8h.html">general_gpio.h</a></div><div class="ttdoc">Заголовочный файл для модуля инициализации портов и работы с ними.</div></div>
|
||||
<div class="ttc" id="ageneral__uart_8c_html_a3abae05bbde5f3b402bf18ca13dc6a0b"><div class="ttname"><a href="general__uart_8c.html#a3abae05bbde5f3b402bf18ca13dc6a0b">UART_GPIO_Init</a></div><div class="ttdeci">void UART_GPIO_Init(GPIO_TypeDef *GPIOx, uint16_t GPIO_PIN_RX, uint16_t GPIO_PIN_TX)</div><div class="ttdoc">Инициализация GPIO для UART.</div><div class="ttdef"><b>Definition</b> <a href="#l00069">general_uart.c:69</a></div></div>
|
||||
<div class="ttc" id="ageneral__uart_8c_html_ad82d0cbd19151675135fd75dad315d05"><div class="ttname"><a href="general__uart_8c.html#ad82d0cbd19151675135fd75dad315d05">UART_DMA_Init</a></div><div class="ttdeci">void UART_DMA_Init(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X)</div><div class="ttdoc">Инициализация DMA для UART.</div><div class="ttdef"><b>Definition</b> <a href="#l00109">general_uart.c:109</a></div></div>
|
||||
<div class="ttc" id="ageneral__uart_8h_html"><div class="ttname"><a href="general__uart_8h.html">general_uart.h</a></div><div class="ttdoc">Заголовочный файл для модуля инициализации UART.</div></div>
|
||||
<div class="ttc" id="agroup___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_html_gae110df81afd885a390bbeb152d7b709f"><div class="ttname"><a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">MyLibs_Error_Handler</a></div><div class="ttdeci">#define MyLibs_Error_Handler(params)</div><div class="ttdoc">Error_Handler который будет вызыватся в библиотеке</div><div class="ttdef"><b>Definition</b> <a href="mylibs__defs_8h_source.html#l00031">mylibs_defs.h:31</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___u_a_r_t_html_ga2a22e46ecb9e04b2ce197a0e9c09044a"><div class="ttname"><a href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a">UART_Check_Init_Struct</a></div><div class="ttdeci">HAL_StatusTypeDef UART_Check_Init_Struct(UART_SettingsTypeDef *suart)</div><div class="ttdoc">Проверка корректности структуры инициализации UART.</div><div class="ttdef"><b>Definition</b> <a href="#l00364">general_uart.c:364</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___u_a_r_t_html_ga93ed6ceef4e3b5e7885786125cce93bc"><div class="ttname"><a href="group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc">UART_MspDeInit</a></div><div class="ttdeci">void UART_MspDeInit(UART_HandleTypeDef *huart)</div><div class="ttdoc">Деинициализация тактирования и прерываний UART.</div><div class="ttdef"><b>Definition</b> <a href="#l00267">general_uart.c:267</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___u_a_r_t_html_gab9313fd2f9fc6873ca6bfbc5b96edbbb"><div class="ttname"><a href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a></div><div class="ttdeci">void UART_MspInit(UART_HandleTypeDef *huart)</div><div class="ttdoc">Настройка тактирования и прерываний UART.</div><div class="ttdef"><b>Definition</b> <a href="#l00146">general_uart.c:146</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___u_a_r_t_html_gab9f07396b778505c934143e89953e154"><div class="ttname"><a href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">UART_Base_Init</a></div><div class="ttdeci">HAL_StatusTypeDef UART_Base_Init(UART_SettingsTypeDef *suart)</div><div class="ttdoc">Инициализация UART с помощью структуры UART_SettingsTypeDef.</div><div class="ttdef"><b>Definition</b> <a href="#l00032">general_uart.c:32</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l_html_ga962f010f783b81fcdd27eb6b53db28e6"><div class="ttname"><a href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">GPIO_Clock_Enable</a></div><div class="ttdeci">HAL_StatusTypeDef GPIO_Clock_Enable(GPIO_TypeDef *GPIOx)</div><div class="ttdoc">Включить тактирование порта GPIO.</div><div class="ttdef"><b>Definition</b> <a href="general__gpio_8c_source.html#l00022">general_gpio.c:22</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a></div><div class="ttdoc">Структура настроек UART.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00096">general_uart.h:97</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a15ce92b03f7f189bfbe1ab88a5f94d19"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a15ce92b03f7f189bfbe1ab88a5f94d19">UART_SettingsTypeDef::DMA_CHANNEL_X</a></div><div class="ttdeci">uint32_t DMA_CHANNEL_X</div><div class="ttdoc">Номер канала DMA (0 если не нужен)</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00105">general_uart.h:105</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a1ecc9ac6a1d2747ade56770cbab6a613"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a1ecc9ac6a1d2747ade56770cbab6a613">UART_SettingsTypeDef::DMAChannel</a></div><div class="ttdeci">DMA_Stream_TypeDef * DMAChannel</div><div class="ttdoc">Канал DMA (NULL если не нужен)</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00104">general_uart.h:104</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a3fba2b52788fe453348b5d92ed52ba49"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49">UART_SettingsTypeDef::GPIO_PIN_RX</a></div><div class="ttdeci">uint16_t GPIO_PIN_RX</div><div class="ttdoc">Пин приема</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00101">general_uart.h:101</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a5f1babfcfb436cd77f5614253c0a5bef"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a5f1babfcfb436cd77f5614253c0a5bef">UART_SettingsTypeDef::GPIO_PIN_TX</a></div><div class="ttdeci">uint16_t GPIO_PIN_TX</div><div class="ttdoc">Пин передачи</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00102">general_uart.h:102</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_accf2c9448a3ea8eb3b8c25a569276fea"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">UART_SettingsTypeDef::huart</a></div><div class="ttdeci">UART_HandleTypeDef huart</div><div class="ttdoc">HAL handle UART.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00098">general_uart.h:98</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_af6f9910d065bae715cdb4a1024143a8f"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#af6f9910d065bae715cdb4a1024143a8f">UART_SettingsTypeDef::GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * GPIOx</div><div class="ttdoc">Порт для UART.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00100">general_uart.h:100</a></div></div>
|
||||
</div><!-- fragment --></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="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li><li class="navelem"><a href="general__uart_8c.html">general_uart.c</a></li>
|
||||
<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>
|
||||
191
Doc/html/general__uart_8h.html
Normal file
@ -0,0 +1,191 @@
|
||||
<!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: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_uart.h File Reference</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"> 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('general__uart_8h.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 class="header">
|
||||
<div class="headertitle"><div class="title">general_uart.h File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Заголовочный файл для модуля инициализации UART.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include "<a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>"</code><br />
|
||||
</div><div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Include dependency graph for general_uart.h:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center"><img src="general__uart_8h__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__uart_8h" loading="lazy" alt=""/></div>
|
||||
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__uart_8h" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__uart_8h">
|
||||
<area shape="rect" title="Заголовочный файл для модуля инициализации UART." alt="" coords="5,5,204,64"/>
|
||||
<area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="53,112,156,139"/>
|
||||
<area shape="poly" title=" " alt="" coords="107,64,107,96,102,96,102,64"/>
|
||||
<area shape="rect" href="mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="48,187,161,213"/>
|
||||
<area shape="poly" title=" " alt="" coords="107,139,107,171,102,171,102,139"/>
|
||||
<area shape="rect" title=" " alt="" coords="46,261,163,288"/>
|
||||
<area shape="poly" title=" " alt="" coords="107,214,107,246,102,246,102,214"/>
|
||||
</map>
|
||||
</div>
|
||||
</div><div class="textblock"><div id="dynsection-1" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>This graph shows which files directly or indirectly include this file:</div>
|
||||
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
|
||||
<div class="center"><img src="general__uart_8h__dep__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__uart_8hdep" loading="lazy" alt=""/></div>
|
||||
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__uart_8hdep" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2general__uart_8hdep">
|
||||
<area shape="rect" title="Заголовочный файл для модуля инициализации UART." alt="" coords="5,5,204,64"/>
|
||||
<area shape="rect" href="general__uart_8c.html" title="Модуль для инициализации UART." alt="" coords="5,112,204,171"/>
|
||||
<area shape="poly" title=" " alt="" coords="107,80,107,112,102,112,102,80"/>
|
||||
</map>
|
||||
</div>
|
||||
</div>
|
||||
<p><a href="general__uart_8h_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:UART_5FSettingsTypeDef" id="r_UART_5FSettingsTypeDef"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Структура настроек UART. <a href="struct_u_a_r_t___settings_type_def.html#details">More...</a><br /></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
|
||||
Macros</h2></td></tr>
|
||||
<tr class="memitem:ga167269406e73327b95c3bb7b9cfe6d89" id="r_ga167269406e73327b95c3bb7b9cfe6d89"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___u_a_r_t___i_n_i_t.html#ga167269406e73327b95c3bb7b9cfe6d89">HAL_UART_MODULE_ENABLED</a></td></tr>
|
||||
<tr class="memdesc:ga167269406e73327b95c3bb7b9cfe6d89"><td class="mdescLeft"> </td><td class="mdescRight">Включение HAL UART. <br /></td></tr>
|
||||
<tr class="memitem:gace54f148bb1d72f13bf397d096d38d1b" id="r_gace54f148bb1d72f13bf397d096d38d1b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___u_a_r_t___i_n_i_t.html#gace54f148bb1d72f13bf397d096d38d1b">USE_USART1</a></td></tr>
|
||||
<tr class="memdesc:gace54f148bb1d72f13bf397d096d38d1b"><td class="mdescLeft"> </td><td class="mdescRight">Включить USART1 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:gaacb3968508217a0d8b3f64aa0c8aa07d" id="r_gaacb3968508217a0d8b3f64aa0c8aa07d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___u_a_r_t___i_n_i_t.html#gaacb3968508217a0d8b3f64aa0c8aa07d">USE_USART2</a></td></tr>
|
||||
<tr class="memdesc:gaacb3968508217a0d8b3f64aa0c8aa07d"><td class="mdescLeft"> </td><td class="mdescRight">Включить USART2 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga6dadd967b428aade24008ec060009976" id="r_ga6dadd967b428aade24008ec060009976"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___u_a_r_t___i_n_i_t.html#ga6dadd967b428aade24008ec060009976">USE_USART3</a></td></tr>
|
||||
<tr class="memdesc:ga6dadd967b428aade24008ec060009976"><td class="mdescLeft"> </td><td class="mdescRight">Включить USART3 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga779530e93e7aa1f25eb13045ec42b8e7" id="r_ga779530e93e7aa1f25eb13045ec42b8e7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___u_a_r_t___i_n_i_t.html#ga779530e93e7aa1f25eb13045ec42b8e7">USE_UART4</a></td></tr>
|
||||
<tr class="memdesc:ga779530e93e7aa1f25eb13045ec42b8e7"><td class="mdescLeft"> </td><td class="mdescRight">Включить UART4 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga592c6bf4a6496d6806ba0838cdfa2340" id="r_ga592c6bf4a6496d6806ba0838cdfa2340"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___u_a_r_t___i_n_i_t.html#ga592c6bf4a6496d6806ba0838cdfa2340">USE_UART5</a></td></tr>
|
||||
<tr class="memdesc:ga592c6bf4a6496d6806ba0838cdfa2340"><td class="mdescLeft"> </td><td class="mdescRight">Включить UART5 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:gafaeb8bdd4aa7fb1987505530daa90868" id="r_gafaeb8bdd4aa7fb1987505530daa90868"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___u_a_r_t___i_n_i_t.html#gafaeb8bdd4aa7fb1987505530daa90868">USE_USART6</a></td></tr>
|
||||
<tr class="memdesc:gafaeb8bdd4aa7fb1987505530daa90868"><td class="mdescLeft"> </td><td class="mdescRight">Включить USART6 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:gab9f07396b778505c934143e89953e154" id="r_gab9f07396b778505c934143e89953e154"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">UART_Base_Init</a> (<a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</td></tr>
|
||||
<tr class="memdesc:gab9f07396b778505c934143e89953e154"><td class="mdescLeft"> </td><td class="mdescRight">Инициализация UART с помощью структуры <a class="el" href="struct_u_a_r_t___settings_type_def.html" title="Структура настроек UART.">UART_SettingsTypeDef</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga2a22e46ecb9e04b2ce197a0e9c09044a" id="r_ga2a22e46ecb9e04b2ce197a0e9c09044a"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a">UART_Check_Init_Struct</a> (<a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</td></tr>
|
||||
<tr class="memdesc:ga2a22e46ecb9e04b2ce197a0e9c09044a"><td class="mdescLeft"> </td><td class="mdescRight">Проверка корректности структуры инициализации UART. <br /></td></tr>
|
||||
<tr class="memitem:gab9313fd2f9fc6873ca6bfbc5b96edbbb" id="r_gab9313fd2f9fc6873ca6bfbc5b96edbbb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a> (UART_HandleTypeDef *huart)</td></tr>
|
||||
<tr class="memdesc:gab9313fd2f9fc6873ca6bfbc5b96edbbb"><td class="mdescLeft"> </td><td class="mdescRight">Настройка тактирования и прерываний UART. <br /></td></tr>
|
||||
<tr class="memitem:ga93ed6ceef4e3b5e7885786125cce93bc" id="r_ga93ed6ceef4e3b5e7885786125cce93bc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc">UART_MspDeInit</a> (UART_HandleTypeDef *huart)</td></tr>
|
||||
<tr class="memdesc:ga93ed6ceef4e3b5e7885786125cce93bc"><td class="mdescLeft"> </td><td class="mdescRight">Деинициализация тактирования и прерываний UART. <br /></td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Заголовочный файл для модуля инициализации UART. </p>
|
||||
|
||||
<p class="definition">Definition in file <a class="el" href="general__uart_8h_source.html">general_uart.h</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div id="page-nav" class="page-nav-panel">
|
||||
<div id="page-nav-resize-handle"></div>
|
||||
<div id="page-nav-tree">
|
||||
<div id="page-nav-contents">
|
||||
</div><!-- page-nav-contents -->
|
||||
</div><!-- page-nav-tree -->
|
||||
</div><!-- page-nav -->
|
||||
</div><!-- container -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</a></li><li class="navelem"><a href="general__uart_8h.html">general_uart.h</a></li>
|
||||
<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>
|
||||
14
Doc/html/general__uart_8h.js
Normal file
@ -0,0 +1,14 @@
|
||||
var general__uart_8h =
|
||||
[
|
||||
[ "HAL_UART_MODULE_ENABLED", "group___u_a_r_t___i_n_i_t.html#ga167269406e73327b95c3bb7b9cfe6d89", null ],
|
||||
[ "USE_USART1", "group___u_a_r_t___i_n_i_t.html#gace54f148bb1d72f13bf397d096d38d1b", null ],
|
||||
[ "USE_USART2", "group___u_a_r_t___i_n_i_t.html#gaacb3968508217a0d8b3f64aa0c8aa07d", null ],
|
||||
[ "USE_USART3", "group___u_a_r_t___i_n_i_t.html#ga6dadd967b428aade24008ec060009976", null ],
|
||||
[ "USE_UART4", "group___u_a_r_t___i_n_i_t.html#ga779530e93e7aa1f25eb13045ec42b8e7", null ],
|
||||
[ "USE_UART5", "group___u_a_r_t___i_n_i_t.html#ga592c6bf4a6496d6806ba0838cdfa2340", null ],
|
||||
[ "USE_USART6", "group___u_a_r_t___i_n_i_t.html#gafaeb8bdd4aa7fb1987505530daa90868", null ],
|
||||
[ "UART_Base_Init", "group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154", null ],
|
||||
[ "UART_Check_Init_Struct", "group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a", null ],
|
||||
[ "UART_MspInit", "group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb", null ],
|
||||
[ "UART_MspDeInit", "group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc", null ]
|
||||
];
|
||||
5
Doc/html/general__uart_8h__dep__incl.map
Normal file
@ -0,0 +1,5 @@
|
||||
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_uart.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_uart.h">
|
||||
<area shape="rect" id="Node000001" title="Заголовочный файл для модуля инициализации UART." alt="" coords="5,5,204,64"/>
|
||||
<area shape="rect" id="Node000002" href="$general__uart_8c.html" title="Модуль для инициализации UART." alt="" coords="5,112,204,171"/>
|
||||
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="107,80,107,112,102,112,102,80"/>
|
||||
</map>
|
||||
1
Doc/html/general__uart_8h__dep__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
ee757a0889d23a9f20e9362475bd6f5a
|
||||
BIN
Doc/html/general__uart_8h__dep__incl.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
9
Doc/html/general__uart_8h__incl.map
Normal file
@ -0,0 +1,9 @@
|
||||
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_uart.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_uart.h">
|
||||
<area shape="rect" id="Node000001" title="Заголовочный файл для модуля инициализации UART." alt="" coords="5,5,204,64"/>
|
||||
<area shape="rect" id="Node000002" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="53,112,156,139"/>
|
||||
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="107,64,107,96,102,96,102,64"/>
|
||||
<area shape="rect" id="Node000003" href="$mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="48,187,161,213"/>
|
||||
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="107,139,107,171,102,171,102,139"/>
|
||||
<area shape="rect" id="Node000004" title=" " alt="" coords="46,261,163,288"/>
|
||||
<area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="107,214,107,246,102,246,102,214"/>
|
||||
</map>
|
||||
1
Doc/html/general__uart_8h__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
26572d8168d54cd9681b4ae6726cb93e
|
||||
BIN
Doc/html/general__uart_8h__incl.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
286
Doc/html/general__uart_8h_source.html
Normal file
@ -0,0 +1,286 @@
|
||||
<!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: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/general_uart.h Source File</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"> 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('general__uart_8h_source.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 class="header">
|
||||
<div class="headertitle"><div class="title">general_uart.h</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="general__uart_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">**************************************************************************</span></div>
|
||||
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">* @file general_uart.h</span></div>
|
||||
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">* @brief Заголовочный файл для модуля инициализации UART.</span></div>
|
||||
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">**************************************************************************</span></div>
|
||||
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">* @defgroup MY_LIBS_UART UART Tools</span></div>
|
||||
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">* @ingroup MYLIBS_PERIPHERAL</span></div>
|
||||
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">* @brief Функции и макросы для удобной работы с UART.</span></div>
|
||||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">* @details</span></div>
|
||||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">Модуль предоставляет функции для базовой инициализации UART</span></div>
|
||||
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">@par Пример использования:</span></div>
|
||||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">@code</span></div>
|
||||
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">// Структура настроек UART</span></div>
|
||||
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">UART_SettingsTypeDef uart2Settings;</span></div>
|
||||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">void UART2_Init(void)</span></div>
|
||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">{</span></div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> // Настройка UART2 с 115200 бод, 8 бит, 1 стоп-бит, без паритета</span></div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> uart2Settings.huart.Instance = USART2;</span></div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> uart2Settings.huart.Init.BaudRate = 115200;</span></div>
|
||||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> uart2Settings.huart.Init.WordLength = UART_WORDLENGTH_8B;</span></div>
|
||||
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> uart2Settings.huart.Init.StopBits = UART_STOPBITS_1;</span></div>
|
||||
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> uart2Settings.huart.Init.Parity = UART_PARITY_NONE;</span></div>
|
||||
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> uart2Settings.huart.Init.Mode = UART_MODE_TX_RX;</span></div>
|
||||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> uart2Settings.huart.Init.HwFlowCtl = UART_HWCONTROL_NONE;</span></div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"> uart2Settings.huart.Init.OverSampling = UART_OVERSAMPLING_16;</span></div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"> // Настройка GPIO</span></div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> uart2Settings.GPIOx = GPIOA;</span></div>
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"> uart2Settings.GPIO_PIN_TX = GPIO_PIN_2;</span></div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment"> uart2Settings.GPIO_PIN_RX = GPIO_PIN_3;</span></div>
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment"> // DMA не используется в этом примере</span></div>
|
||||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment"> uart2Settings.DMAChannel = NULL;</span></div>
|
||||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment"> uart2Settings.DMA_CHANNEL_X = 0;</span></div>
|
||||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment"> // Инициализация UART</span></div>
|
||||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment"> if(UART_Base_Init(&uart2Settings) != HAL_OK)</span></div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment"> {</span></div>
|
||||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="comment"> // Обработка ошибки</span></div>
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="comment"> Error_Handler();</span></div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment"> }</span></div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="comment">}</span></div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment">@endcode</span></div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment">* @note Требуется подключение модуля UART в библиотеке HAL </span></div>
|
||||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment">@code </span></div>
|
||||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">#define HAL_UART_MODULE_ENABLED</span></div>
|
||||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment">@endcode</span></div>
|
||||
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment">* @{</span></div>
|
||||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment">*************************************************************************/</span></div>
|
||||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#ifndef __UART_GENERAL_H_</span></div>
|
||||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor">#define __UART_GENERAL_H_</span></div>
|
||||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
|
||||
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment"> * @addtogroup UART_INIT Init defines</span></div>
|
||||
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment"> * @ingroup MY_LIBS_UART</span></div>
|
||||
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment"> * @brief Настройка UART</span></div>
|
||||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="comment"> * @{</span></div>
|
||||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="comment"> */</span></div>
|
||||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="group___u_a_r_t___i_n_i_t.html#ga167269406e73327b95c3bb7b9cfe6d89"> 65</a></span><span class="preprocessor">#define HAL_UART_MODULE_ENABLED </span><span class="comment">///< Включение HAL UART</span></div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="group___u_a_r_t___i_n_i_t.html#gace54f148bb1d72f13bf397d096d38d1b"> 67</a></span><span class="preprocessor">#define USE_USART1 </span><span class="comment">///< Включить USART1 в @ref UART_MspInit</span></div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="group___u_a_r_t___i_n_i_t.html#gaacb3968508217a0d8b3f64aa0c8aa07d"> 68</a></span><span class="preprocessor">#define USE_USART2 </span><span class="comment">///< Включить USART2 в @ref UART_MspInit</span></div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="group___u_a_r_t___i_n_i_t.html#ga6dadd967b428aade24008ec060009976"> 69</a></span><span class="preprocessor">#define USE_USART3 </span><span class="comment">///< Включить USART3 в @ref UART_MspInit</span></div>
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="group___u_a_r_t___i_n_i_t.html#ga779530e93e7aa1f25eb13045ec42b8e7"> 70</a></span><span class="preprocessor">#define USE_UART4 </span><span class="comment">///< Включить UART4 в @ref UART_MspInit</span></div>
|
||||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="group___u_a_r_t___i_n_i_t.html#ga592c6bf4a6496d6806ba0838cdfa2340"> 71</a></span><span class="preprocessor">#define USE_UART5 </span><span class="comment">///< Включить UART5 в @ref UART_MspInit</span></div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="group___u_a_r_t___i_n_i_t.html#gafaeb8bdd4aa7fb1987505530daa90868"> 72</a></span><span class="preprocessor">#define USE_USART6 </span><span class="comment">///< Включить USART6 в @ref UART_MspInit</span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment">/** UART_INIT</span></div>
|
||||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> * @}</span></div>
|
||||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment"> */</span><span class="preprocessor"></span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
|
||||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor">#include "<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>"</span></div>
|
||||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
|
||||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
|
||||
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
|
||||
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="comment"></span></div>
|
||||
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
|
||||
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="comment">///////////////////////---STRUCTURES & ENUMS---//////////////////////</span></div>
|
||||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="comment">/**</span></div>
|
||||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment"> * @brief Структура настроек UART</span></div>
|
||||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment"> * @details Содержит все необходимые параметры для инициализации UART,</span></div>
|
||||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment"> * включая GPIO и DMA.</span></div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"> */</span></div>
|
||||
<div class="foldopen" id="foldopen00096" data-start="{" data-end="};">
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="struct_u_a_r_t___settings_type_def.html"> 96</a></span><span class="keyword">typedef</span> <span class="keyword">struct</span></div>
|
||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span>{</div>
|
||||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea"> 98</a></span> UART_HandleTypeDef <a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>; <span class="comment">///< HAL handle UART</span></div>
|
||||
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
|
||||
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="struct_u_a_r_t___settings_type_def.html#af6f9910d065bae715cdb4a1024143a8f"> 100</a></span> GPIO_TypeDef *<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#af6f9910d065bae715cdb4a1024143a8f">GPIOx</a>; <span class="comment">///< Порт для UART</span></div>
|
||||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49"> 101</a></span> uint16_t <a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49">GPIO_PIN_RX</a>; <span class="comment">///< Пин приема</span></div>
|
||||
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="struct_u_a_r_t___settings_type_def.html#a5f1babfcfb436cd77f5614253c0a5bef"> 102</a></span> uint16_t <a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a5f1babfcfb436cd77f5614253c0a5bef">GPIO_PIN_TX</a>; <span class="comment">///< Пин передачи</span></div>
|
||||
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
|
||||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="struct_u_a_r_t___settings_type_def.html#a1ecc9ac6a1d2747ade56770cbab6a613"> 104</a></span> DMA_Stream_TypeDef *<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a1ecc9ac6a1d2747ade56770cbab6a613">DMAChannel</a>; <span class="comment">///< Канал DMA (NULL если не нужен)</span></div>
|
||||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="struct_u_a_r_t___settings_type_def.html#a15ce92b03f7f189bfbe1ab88a5f94d19"> 105</a></span> uint32_t <a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a15ce92b03f7f189bfbe1ab88a5f94d19">DMA_CHANNEL_X</a>; <span class="comment">///< Номер канала DMA (0 если не нужен)</span></div>
|
||||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
|
||||
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span>} <a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a>;</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment">///////////////////////---STRUCTURES & ENUMS---//////////////////////</span></div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
|
||||
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment">///////////////////////////---FUNCTIONS---///////////////////////////</span></div>
|
||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment">/* Инициализация UART с использованием структуры настроек */</span></div>
|
||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span>HAL_StatusTypeDef <a class="code hl_function" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">UART_Base_Init</a>(<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart);</div>
|
||||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="comment">/* Проверка корректности структуры настроек UART */</span></div>
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span>HAL_StatusTypeDef <a class="code hl_function" href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a">UART_Check_Init_Struct</a>(<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart);</div>
|
||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="comment">/* Инициализация тактирования и прерываний для выбранного UART */</span></div>
|
||||
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="keywordtype">void</span> <a class="code hl_function" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>(UART_HandleTypeDef *huart);</div>
|
||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
|
||||
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="comment">/* Деинициализация тактирования и прерываний для выбранного UART */</span></div>
|
||||
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="keywordtype">void</span> <a class="code hl_function" href="group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc">UART_MspDeInit</a>(UART_HandleTypeDef *huart);</div>
|
||||
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
|
||||
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="comment"></span></div>
|
||||
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="comment"> * @cond UART_INTERNAL</span></div>
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="comment"> */</span></div>
|
||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
|
||||
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="comment">/* Настройка GPIO для UART */</span></div>
|
||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="keywordtype">void</span> <a class="code hl_function" href="general__uart_8c.html#a3abae05bbde5f3b402bf18ca13dc6a0b">UART_GPIO_Init</a>(GPIO_TypeDef *GPIOx, uint16_t GPIO_PIN_RX, uint16_t GPIO_PIN_TX);</div>
|
||||
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
|
||||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment">/* Настройка DMA для UART */</span></div>
|
||||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="keywordtype">void</span> <a class="code hl_function" href="general__uart_8c.html#ad82d0cbd19151675135fd75dad315d05">UART_DMA_Init</a>(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X);</div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
|
||||
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="preprocessor">#ifndef __USER_LINKDMA</span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment">/** </span></div>
|
||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment"> * @brief Аналог HAL макроса для привязки DMA к UART.</span></div>
|
||||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="comment"> * @note @ref __HAL_LINKDMA.</span></div>
|
||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="comment"> */</span><span class="preprocessor"></span></div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="preprocessor">#define __USER_LINKDMA(__HANDLE__, __PPP_DMA_FIELD__, __DMA_HANDLE__) \</span></div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="preprocessor">do{ \</span></div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="preprocessor">(__HANDLE__)->__PPP_DMA_FIELD__ = (__DMA_HANDLE__); \</span></div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="preprocessor">(__DMA_HANDLE__)->Parent = (__HANDLE__);} while(0U)</span></div>
|
||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="comment"></span></div>
|
||||
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="comment">/** @endcond */</span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="comment">///////////////////////////---FUNCTIONS---///////////////////////////</span></div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
|
||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="preprocessor">#endif </span><span class="comment">// __UART_GENERAL_H_</span></div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="comment">/** MY_LIBS_UART</span></div>
|
||||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="comment"> * @}</span></div>
|
||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="comment"> */</span></div>
|
||||
<div class="ttc" id="ageneral__uart_8c_html_a3abae05bbde5f3b402bf18ca13dc6a0b"><div class="ttname"><a href="general__uart_8c.html#a3abae05bbde5f3b402bf18ca13dc6a0b">UART_GPIO_Init</a></div><div class="ttdeci">void UART_GPIO_Init(GPIO_TypeDef *GPIOx, uint16_t GPIO_PIN_RX, uint16_t GPIO_PIN_TX)</div><div class="ttdoc">Инициализация GPIO для UART.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8c_source.html#l00069">general_uart.c:69</a></div></div>
|
||||
<div class="ttc" id="ageneral__uart_8c_html_ad82d0cbd19151675135fd75dad315d05"><div class="ttname"><a href="general__uart_8c.html#ad82d0cbd19151675135fd75dad315d05">UART_DMA_Init</a></div><div class="ttdeci">void UART_DMA_Init(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X)</div><div class="ttdoc">Инициализация DMA для UART.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8c_source.html#l00109">general_uart.c:109</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___u_a_r_t_html_ga2a22e46ecb9e04b2ce197a0e9c09044a"><div class="ttname"><a href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a">UART_Check_Init_Struct</a></div><div class="ttdeci">HAL_StatusTypeDef UART_Check_Init_Struct(UART_SettingsTypeDef *suart)</div><div class="ttdoc">Проверка корректности структуры инициализации UART.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8c_source.html#l00364">general_uart.c:364</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___u_a_r_t_html_ga93ed6ceef4e3b5e7885786125cce93bc"><div class="ttname"><a href="group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc">UART_MspDeInit</a></div><div class="ttdeci">void UART_MspDeInit(UART_HandleTypeDef *huart)</div><div class="ttdoc">Деинициализация тактирования и прерываний UART.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8c_source.html#l00267">general_uart.c:267</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___u_a_r_t_html_gab9313fd2f9fc6873ca6bfbc5b96edbbb"><div class="ttname"><a href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a></div><div class="ttdeci">void UART_MspInit(UART_HandleTypeDef *huart)</div><div class="ttdoc">Настройка тактирования и прерываний UART.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8c_source.html#l00146">general_uart.c:146</a></div></div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___u_a_r_t_html_gab9f07396b778505c934143e89953e154"><div class="ttname"><a href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">UART_Base_Init</a></div><div class="ttdeci">HAL_StatusTypeDef UART_Base_Init(UART_SettingsTypeDef *suart)</div><div class="ttdoc">Инициализация UART с помощью структуры UART_SettingsTypeDef.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8c_source.html#l00032">general_uart.c:32</a></div></div>
|
||||
<div class="ttc" id="amylibs__defs_8h_html"><div class="ttname"><a href="mylibs__defs_8h.html">mylibs_defs.h</a></div><div class="ttdoc">Заголочный файл для дефайнов библиотеки MyLibsGeneral.</div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a></div><div class="ttdoc">Структура настроек UART.</div><div class="ttdef"><b>Definition</b> <a href="#l00096">general_uart.h:97</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a15ce92b03f7f189bfbe1ab88a5f94d19"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a15ce92b03f7f189bfbe1ab88a5f94d19">UART_SettingsTypeDef::DMA_CHANNEL_X</a></div><div class="ttdeci">uint32_t DMA_CHANNEL_X</div><div class="ttdoc">Номер канала DMA (0 если не нужен)</div><div class="ttdef"><b>Definition</b> <a href="#l00105">general_uart.h:105</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a1ecc9ac6a1d2747ade56770cbab6a613"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a1ecc9ac6a1d2747ade56770cbab6a613">UART_SettingsTypeDef::DMAChannel</a></div><div class="ttdeci">DMA_Stream_TypeDef * DMAChannel</div><div class="ttdoc">Канал DMA (NULL если не нужен)</div><div class="ttdef"><b>Definition</b> <a href="#l00104">general_uart.h:104</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a3fba2b52788fe453348b5d92ed52ba49"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49">UART_SettingsTypeDef::GPIO_PIN_RX</a></div><div class="ttdeci">uint16_t GPIO_PIN_RX</div><div class="ttdoc">Пин приема</div><div class="ttdef"><b>Definition</b> <a href="#l00101">general_uart.h:101</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a5f1babfcfb436cd77f5614253c0a5bef"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a5f1babfcfb436cd77f5614253c0a5bef">UART_SettingsTypeDef::GPIO_PIN_TX</a></div><div class="ttdeci">uint16_t GPIO_PIN_TX</div><div class="ttdoc">Пин передачи</div><div class="ttdef"><b>Definition</b> <a href="#l00102">general_uart.h:102</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_accf2c9448a3ea8eb3b8c25a569276fea"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">UART_SettingsTypeDef::huart</a></div><div class="ttdeci">UART_HandleTypeDef huart</div><div class="ttdoc">HAL handle UART.</div><div class="ttdef"><b>Definition</b> <a href="#l00098">general_uart.h:98</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_af6f9910d065bae715cdb4a1024143a8f"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#af6f9910d065bae715cdb4a1024143a8f">UART_SettingsTypeDef::GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * GPIOx</div><div class="ttdoc">Порт для UART.</div><div class="ttdef"><b>Definition</b> <a href="#l00100">general_uart.h:100</a></div></div>
|
||||
</div><!-- fragment --></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="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</a></li><li class="navelem"><a href="general__uart_8h.html">general_uart.h</a></li>
|
||||
<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>
|
||||
328
Doc/html/group___m_y___l_i_b_s___s_p_i.html
Normal file
@ -0,0 +1,328 @@
|
||||
<!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: SPI Tools</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"> 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('group___m_y___l_i_b_s___s_p_i.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 class="header">
|
||||
<div class="headertitle"><div class="title">SPI Tools <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> » <a class="el" href="group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html">Peripheral</a></div></div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Функции и макросы для удобной работы с SPI.
|
||||
<a href="#details">More...</a></p>
|
||||
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for SPI Tools:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center"><img src="group___m_y___l_i_b_s___s_p_i.png" border="0" usemap="#agroup______m__y______l__i__b__s______s__p__i" loading="lazy" alt=""/></div>
|
||||
<map name="agroup______m__y______l__i__b__s______s__p__i" id="agroup______m__y______l__i__b__s______s__p__i">
|
||||
<area shape="rect" href="group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html" title="Модули для управления периферией" alt="" coords="5,5,85,32"/>
|
||||
<area shape="rect" title="Функции и макросы для удобной работы с SPI." alt="" coords="133,5,210,32"/>
|
||||
<area shape="rect" href="group___s_p_i___i_n_i_t.html" title="Настройка SPI." alt="" coords="258,5,343,32"/>
|
||||
</map>
|
||||
</div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-groups" class="groupheader"><a id="groups" name="groups"></a>
|
||||
Topics</h2></td></tr>
|
||||
<tr class="memitem:SPI_5FINIT" id="r_SPI_5FINIT"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i___i_n_i_t.html">Init defines</a></td></tr>
|
||||
<tr class="memdesc:group___s_p_i___i_n_i_t"><td class="mdescLeft"> </td><td class="mdescRight">Настройка SPI. <br /></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:SPI_5FSettingsTypeDef" id="r_SPI_5FSettingsTypeDef"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Структура настроек SPI. <a href="struct_s_p_i___settings_type_def.html#details">More...</a><br /></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga0e177e3c57a8fcdc73b5602e72ec66ba" id="r_ga0e177e3c57a8fcdc73b5602e72ec66ba"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a> (<a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</td></tr>
|
||||
<tr class="memdesc:ga0e177e3c57a8fcdc73b5602e72ec66ba"><td class="mdescLeft"> </td><td class="mdescRight">Инициализация SPI с помощью структуры <a class="el" href="struct_s_p_i___settings_type_def.html" title="Структура настроек SPI.">SPI_SettingsTypeDef</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga333dd251bc878931086d48aa932b1a5f" id="r_ga333dd251bc878931086d48aa932b1a5f"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga333dd251bc878931086d48aa932b1a5f">SPI_Check_Init_Struct</a> (<a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</td></tr>
|
||||
<tr class="memdesc:ga333dd251bc878931086d48aa932b1a5f"><td class="mdescLeft"> </td><td class="mdescRight">Проверка корректности структуры инициализации SPI. <br /></td></tr>
|
||||
<tr class="memitem:gab9f13318daf02bc5b5f302ae392dccac" id="r_gab9f13318daf02bc5b5f302ae392dccac"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a> (SPI_HandleTypeDef *hspi)</td></tr>
|
||||
<tr class="memdesc:gab9f13318daf02bc5b5f302ae392dccac"><td class="mdescLeft"> </td><td class="mdescRight">Настройка тактирования и прерываний SPI. <br /></td></tr>
|
||||
<tr class="memitem:gac279cc3eaa35541edfe330a1844a85e4" id="r_gac279cc3eaa35541edfe330a1844a85e4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#gac279cc3eaa35541edfe330a1844a85e4">SPI_MspDeInit</a> (SPI_HandleTypeDef *hspi)</td></tr>
|
||||
<tr class="memdesc:gac279cc3eaa35541edfe330a1844a85e4"><td class="mdescLeft"> </td><td class="mdescRight">Деинициализация тактирования и прерываний SPI. <br /></td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
||||
<p>Функции и макросы для удобной работы с SPI. </p>
|
||||
<p>Модуль предоставляет функции для базовой инициализации SPI</p>
|
||||
<dl class="section user"><dt>Пример использования:</dt><dd><div class="fragment"><div class="line"><span class="comment">// Структура настроек SPI</span></div>
|
||||
<div class="line"><a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> spi1Settings;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"><span class="keywordtype">void</span> SPI1_Init(<span class="keywordtype">void</span>)</div>
|
||||
<div class="line">{</div>
|
||||
<div class="line"> <span class="comment">// Настройка SPI1 как Master, 8 бит, полный дуплекс</span></div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Instance = SPI1;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.Mode = SPI_MODE_MASTER;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.Direction = SPI_DIRECTION_2LINES;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.DataSize = SPI_DATASIZE_8BIT;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CLKPolarity = SPI_POLARITY_LOW;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CLKPhase = SPI_PHASE_1EDGE;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.NSS = SPI_NSS_SOFT;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.FirstBit = SPI_FIRSTBIT_MSB;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.TIMode = SPI_TIMODE_DISABLE;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"> <span class="comment">// Настройка GPIO</span></div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">CLK_GPIOx</a> = GPIOA;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">CLK_PIN</a> = GPIO_PIN_5;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">CLK_GPIO_AlternageFunc</a> = GPIO_AF5_SPI1;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">MISO_GPIOx</a> = GPIOA;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">MISO_PIN</a> = GPIO_PIN_6;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">MISO_GPIO_AlternageFunc</a> = GPIO_AF5_SPI1;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">MOSI_GPIOx</a> = GPIOA;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">MOSI_PIN</a> = GPIO_PIN_7;</div>
|
||||
<div class="line"> spi1Settings.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">MOSI_GPIO_AlternageFunc</a> = GPIO_AF5_SPI1;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"> <span class="comment">// Инициализация SPI</span></div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(<a class="code hl_function" href="#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a>(&spi1Settings) != HAL_OK)</div>
|
||||
<div class="line"> {</div>
|
||||
<div class="line"> <span class="comment">// Обработка ошибки</span></div>
|
||||
<div class="line"> Error_Handler();</div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line">}</div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___s_p_i_html_ga0e177e3c57a8fcdc73b5602e72ec66ba"><div class="ttname"><a href="#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a></div><div class="ttdeci">HAL_StatusTypeDef SPI_Base_Init(SPI_SettingsTypeDef *sspi)</div><div class="ttdoc">Инициализация SPI с помощью структуры SPI_SettingsTypeDef.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8c_source.html#l00028">general_spi.c:28</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a></div><div class="ttdoc">Структура настроек SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00103">general_spi.h:104</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a0af3bdb273818ff97eb4ff3cff918820"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">SPI_SettingsTypeDef::MOSI_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * MOSI_GPIOx</div><div class="ttdoc">Порт MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00115">general_spi.h:115</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a0d55a2941854f61934487f3d209cfa95"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">SPI_SettingsTypeDef::MISO_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * MISO_GPIOx</div><div class="ttdoc">Порт MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00111">general_spi.h:111</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3366c654d7ec6dd41c6a0b504dc8509a"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">SPI_SettingsTypeDef::MISO_PIN</a></div><div class="ttdeci">uint32_t MISO_PIN</div><div class="ttdoc">Пин MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00112">general_spi.h:112</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3bcb1ed12da3544e02e6d36493669bdc"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">SPI_SettingsTypeDef::CLK_PIN</a></div><div class="ttdeci">uint32_t CLK_PIN</div><div class="ttdoc">Пин CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00108">general_spi.h:108</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3f3748103a0b7861f6700042fd691ba1"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">SPI_SettingsTypeDef::CLK_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t CLK_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00109">general_spi.h:109</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a6a15d48eccf92959de3a086031fdc979"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">SPI_SettingsTypeDef::CLK_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * CLK_GPIOx</div><div class="ttdoc">Порт CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00107">general_spi.h:107</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_a961208869faf4a7369aaf4edde75f176"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">SPI_SettingsTypeDef::MOSI_PIN</a></div><div class="ttdeci">uint32_t MOSI_PIN</div><div class="ttdoc">Пин MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00116">general_spi.h:116</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_ad203d8b8d67e4f477d002d15b03ba422"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">SPI_SettingsTypeDef::hspi</a></div><div class="ttdeci">SPI_HandleTypeDef hspi</div><div class="ttdoc">HAL handle SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00105">general_spi.h:105</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_aecd7a5c6e205335b8ed229d74cd35d14"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">SPI_SettingsTypeDef::MISO_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t MISO_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00113">general_spi.h:113</a></div></div>
|
||||
<div class="ttc" id="astruct_s_p_i___settings_type_def_html_afbe75a1c36650a4a9b41fa706a4c7eab"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">SPI_SettingsTypeDef::MOSI_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t MOSI_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00117">general_spi.h:117</a></div></div>
|
||||
</div><!-- fragment --></dd></dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>Требуется подключение модуля SPI в библиотеке HAL <div class="fragment"><div class="line"><span class="preprocessor">#define HAL_SPI_MODULE_ENABLED</span></div>
|
||||
</div><!-- fragment --> </dd></dl>
|
||||
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
|
||||
<a id="ga0e177e3c57a8fcdc73b5602e72ec66ba" name="ga0e177e3c57a8fcdc73b5602e72ec66ba"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga0e177e3c57a8fcdc73b5602e72ec66ba">◆ </a></span>SPI_Base_Init()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">HAL_StatusTypeDef SPI_Base_Init </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *</td> <td class="paramname"><span class="paramname"><em>sspi</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Инициализация SPI с помощью структуры <a class="el" href="struct_s_p_i___settings_type_def.html" title="Структура настроек SPI.">SPI_SettingsTypeDef</a>. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">sspi</td><td>Указатель на структуру с настройками SPI. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>HAL status.</dd></dl>
|
||||
<p><br />
|
||||
Инициализирует SPI и его GPIO. Настройка аналогична HAL_SPI_Init </p><div class="fragment"><div class="line">suart.hspi.Init...</div>
|
||||
</div><!-- fragment --><p> но дополнительно надо прописать пины CLK/MISO/MOSI <a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__spi_8c_source.html#l00028">28</a> of file <a class="el" href="general__spi_8c_source.html">general_spi.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga333dd251bc878931086d48aa932b1a5f" name="ga333dd251bc878931086d48aa932b1a5f"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga333dd251bc878931086d48aa932b1a5f">◆ </a></span>SPI_Check_Init_Struct()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">HAL_StatusTypeDef SPI_Check_Init_Struct </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *</td> <td class="paramname"><span class="paramname"><em>sspi</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Проверка корректности структуры инициализации SPI. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">sspi</td><td>Указатель на структуру с настройками SPI. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>HAL status. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__spi_8c_source.html#l00246">246</a> of file <a class="el" href="general__spi_8c_source.html">general_spi.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="gab9f13318daf02bc5b5f302ae392dccac" name="gab9f13318daf02bc5b5f302ae392dccac"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gab9f13318daf02bc5b5f302ae392dccac">◆ </a></span>SPI_MspInit()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void SPI_MspInit </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">SPI_HandleTypeDef *</td> <td class="paramname"><span class="paramname"><em>hspi</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Настройка тактирования и прерываний SPI. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">hspi</td><td>Указатель на хендл SPI. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>Чтобы не генерировать функцию с иницилизацией неиспользуемых SPI, дефайнами <a class="el" href="group___s_p_i___i_n_i_t.html">Init defines</a> в <a class="el" href="general__spi_8h.html">general_spi.h</a> определяются используемые SPI. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__spi_8c_source.html#l00127">127</a> of file <a class="el" href="general__spi_8c_source.html">general_spi.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="gac279cc3eaa35541edfe330a1844a85e4" name="gac279cc3eaa35541edfe330a1844a85e4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gac279cc3eaa35541edfe330a1844a85e4">◆ </a></span>SPI_MspDeInit()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void SPI_MspDeInit </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">SPI_HandleTypeDef *</td> <td class="paramname"><span class="paramname"><em>hspi</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Деинициализация тактирования и прерываний SPI. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">hspi</td><td>Указатель на хендл SPI. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>Чтобы не генерировать функцию с иницилизацией неиспользуемых SPI, дефайнами <a class="el" href="group___s_p_i___i_n_i_t.html">Init defines</a> в <a class="el" href="general__spi_8h.html">general_spi.h</a> определяются используемые SPI. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__spi_8c_source.html#l00191">191</a> of file <a class="el" href="general__spi_8c_source.html">general_spi.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div id="page-nav" class="page-nav-panel">
|
||||
<div id="page-nav-resize-handle"></div>
|
||||
<div id="page-nav-tree">
|
||||
<div id="page-nav-contents">
|
||||
</div><!-- page-nav-contents -->
|
||||
</div><!-- page-nav-tree -->
|
||||
</div><!-- page-nav -->
|
||||
</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>
|
||||
22
Doc/html/group___m_y___l_i_b_s___s_p_i.js
Normal file
@ -0,0 +1,22 @@
|
||||
var group___m_y___l_i_b_s___s_p_i =
|
||||
[
|
||||
[ "Init defines", "group___s_p_i___i_n_i_t.html", "group___s_p_i___i_n_i_t" ],
|
||||
[ "SPI_SettingsTypeDef", "struct_s_p_i___settings_type_def.html", [
|
||||
[ "hspi", "struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422", null ],
|
||||
[ "CLK_GPIOx", "struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979", null ],
|
||||
[ "CLK_PIN", "struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc", null ],
|
||||
[ "CLK_GPIO_AlternageFunc", "struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1", null ],
|
||||
[ "MISO_GPIOx", "struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95", null ],
|
||||
[ "MISO_PIN", "struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a", null ],
|
||||
[ "MISO_GPIO_AlternageFunc", "struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14", null ],
|
||||
[ "MOSI_GPIOx", "struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820", null ],
|
||||
[ "MOSI_PIN", "struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176", null ],
|
||||
[ "MOSI_GPIO_AlternageFunc", "struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab", null ],
|
||||
[ "DMAChannel", "struct_s_p_i___settings_type_def.html#a3cfd9469b0617a68bbd2a161ba06bb95", null ],
|
||||
[ "DMA_CHANNEL_X", "struct_s_p_i___settings_type_def.html#aa0edaa145076d2383b3e0095d156d474", null ]
|
||||
] ],
|
||||
[ "SPI_Base_Init", "group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba", null ],
|
||||
[ "SPI_Check_Init_Struct", "group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f", null ],
|
||||
[ "SPI_MspInit", "group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac", null ],
|
||||
[ "SPI_MspDeInit", "group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4", null ]
|
||||
];
|
||||
5
Doc/html/group___m_y___l_i_b_s___s_p_i.map
Normal file
@ -0,0 +1,5 @@
|
||||
<map id="SPI Tools" name="SPI Tools">
|
||||
<area shape="rect" id="Node000002" href="$group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html" title="Модули для управления периферией" alt="" coords="5,5,85,32"/>
|
||||
<area shape="rect" id="Node000001" title="Функции и макросы для удобной работы с SPI." alt="" coords="133,5,210,32"/>
|
||||
<area shape="rect" id="Node000003" href="$group___s_p_i___i_n_i_t.html" title="Настройка SPI." alt="" coords="258,5,343,32"/>
|
||||
</map>
|
||||
1
Doc/html/group___m_y___l_i_b_s___s_p_i.md5
Normal file
@ -0,0 +1 @@
|
||||
b9d2d820e20d54c87d46b9628c5b5f42
|
||||
BIN
Doc/html/group___m_y___l_i_b_s___s_p_i.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
317
Doc/html/group___m_y___l_i_b_s___u_a_r_t.html
Normal file
@ -0,0 +1,317 @@
|
||||
<!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: UART Tools</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"> 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('group___m_y___l_i_b_s___u_a_r_t.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 class="header">
|
||||
<div class="headertitle"><div class="title">UART Tools <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> » <a class="el" href="group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html">Peripheral</a></div></div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Функции и макросы для удобной работы с UART.
|
||||
<a href="#details">More...</a></p>
|
||||
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for UART Tools:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center"><img src="group___m_y___l_i_b_s___u_a_r_t.png" border="0" usemap="#agroup______m__y______l__i__b__s______u__a__r__t" loading="lazy" alt=""/></div>
|
||||
<map name="agroup______m__y______l__i__b__s______u__a__r__t" id="agroup______m__y______l__i__b__s______u__a__r__t">
|
||||
<area shape="rect" href="group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html" title="Модули для управления периферией" alt="" coords="5,5,85,32"/>
|
||||
<area shape="rect" title="Функции и макросы для удобной работы с UART." alt="" coords="133,5,224,32"/>
|
||||
<area shape="rect" href="group___u_a_r_t___i_n_i_t.html" title="Настройка UART." alt="" coords="272,5,357,32"/>
|
||||
</map>
|
||||
</div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-groups" class="groupheader"><a id="groups" name="groups"></a>
|
||||
Topics</h2></td></tr>
|
||||
<tr class="memitem:UART_5FINIT" id="r_UART_5FINIT"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___u_a_r_t___i_n_i_t.html">Init defines</a></td></tr>
|
||||
<tr class="memdesc:group___u_a_r_t___i_n_i_t"><td class="mdescLeft"> </td><td class="mdescRight">Настройка UART. <br /></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:UART_5FSettingsTypeDef" id="r_UART_5FSettingsTypeDef"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Структура настроек UART. <a href="struct_u_a_r_t___settings_type_def.html#details">More...</a><br /></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:gab9f07396b778505c934143e89953e154" id="r_gab9f07396b778505c934143e89953e154"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="#gab9f07396b778505c934143e89953e154">UART_Base_Init</a> (<a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</td></tr>
|
||||
<tr class="memdesc:gab9f07396b778505c934143e89953e154"><td class="mdescLeft"> </td><td class="mdescRight">Инициализация UART с помощью структуры <a class="el" href="struct_u_a_r_t___settings_type_def.html" title="Структура настроек UART.">UART_SettingsTypeDef</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga2a22e46ecb9e04b2ce197a0e9c09044a" id="r_ga2a22e46ecb9e04b2ce197a0e9c09044a"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2a22e46ecb9e04b2ce197a0e9c09044a">UART_Check_Init_Struct</a> (<a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</td></tr>
|
||||
<tr class="memdesc:ga2a22e46ecb9e04b2ce197a0e9c09044a"><td class="mdescLeft"> </td><td class="mdescRight">Проверка корректности структуры инициализации UART. <br /></td></tr>
|
||||
<tr class="memitem:gab9313fd2f9fc6873ca6bfbc5b96edbbb" id="r_gab9313fd2f9fc6873ca6bfbc5b96edbbb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a> (UART_HandleTypeDef *huart)</td></tr>
|
||||
<tr class="memdesc:gab9313fd2f9fc6873ca6bfbc5b96edbbb"><td class="mdescLeft"> </td><td class="mdescRight">Настройка тактирования и прерываний UART. <br /></td></tr>
|
||||
<tr class="memitem:ga93ed6ceef4e3b5e7885786125cce93bc" id="r_ga93ed6ceef4e3b5e7885786125cce93bc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga93ed6ceef4e3b5e7885786125cce93bc">UART_MspDeInit</a> (UART_HandleTypeDef *huart)</td></tr>
|
||||
<tr class="memdesc:ga93ed6ceef4e3b5e7885786125cce93bc"><td class="mdescLeft"> </td><td class="mdescRight">Деинициализация тактирования и прерываний UART. <br /></td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
||||
<p>Функции и макросы для удобной работы с UART. </p>
|
||||
<p>Модуль предоставляет функции для базовой инициализации UART</p>
|
||||
<dl class="section user"><dt>Пример использования:</dt><dd><div class="fragment"><div class="line"><span class="comment">// Структура настроек UART</span></div>
|
||||
<div class="line"><a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> uart2Settings;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"><span class="keywordtype">void</span> UART2_Init(<span class="keywordtype">void</span>)</div>
|
||||
<div class="line">{</div>
|
||||
<div class="line"> <span class="comment">// Настройка UART2 с 115200 бод, 8 бит, 1 стоп-бит, без паритета</span></div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Instance = USART2;</div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Init.BaudRate = 115200;</div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Init.WordLength = UART_WORDLENGTH_8B;</div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Init.StopBits = UART_STOPBITS_1;</div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Init.Parity = UART_PARITY_NONE;</div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Init.Mode = UART_MODE_TX_RX;</div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Init.HwFlowCtl = UART_HWCONTROL_NONE;</div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">huart</a>.Init.OverSampling = UART_OVERSAMPLING_16;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"> <span class="comment">// Настройка GPIO</span></div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#af6f9910d065bae715cdb4a1024143a8f">GPIOx</a> = GPIOA;</div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a5f1babfcfb436cd77f5614253c0a5bef">GPIO_PIN_TX</a> = GPIO_PIN_2;</div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49">GPIO_PIN_RX</a> = GPIO_PIN_3;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"> <span class="comment">// DMA не используется в этом примере</span></div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a1ecc9ac6a1d2747ade56770cbab6a613">DMAChannel</a> = NULL;</div>
|
||||
<div class="line"> uart2Settings.<a class="code hl_variable" href="struct_u_a_r_t___settings_type_def.html#a15ce92b03f7f189bfbe1ab88a5f94d19">DMA_CHANNEL_X</a> = 0;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"> <span class="comment">// Инициализация UART</span></div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(<a class="code hl_function" href="#gab9f07396b778505c934143e89953e154">UART_Base_Init</a>(&uart2Settings) != HAL_OK)</div>
|
||||
<div class="line"> {</div>
|
||||
<div class="line"> <span class="comment">// Обработка ошибки</span></div>
|
||||
<div class="line"> Error_Handler();</div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line">}</div>
|
||||
<div class="ttc" id="agroup___m_y___l_i_b_s___u_a_r_t_html_gab9f07396b778505c934143e89953e154"><div class="ttname"><a href="#gab9f07396b778505c934143e89953e154">UART_Base_Init</a></div><div class="ttdeci">HAL_StatusTypeDef UART_Base_Init(UART_SettingsTypeDef *suart)</div><div class="ttdoc">Инициализация UART с помощью структуры UART_SettingsTypeDef.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8c_source.html#l00032">general_uart.c:32</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a></div><div class="ttdoc">Структура настроек UART.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00096">general_uart.h:97</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a15ce92b03f7f189bfbe1ab88a5f94d19"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a15ce92b03f7f189bfbe1ab88a5f94d19">UART_SettingsTypeDef::DMA_CHANNEL_X</a></div><div class="ttdeci">uint32_t DMA_CHANNEL_X</div><div class="ttdoc">Номер канала DMA (0 если не нужен)</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00105">general_uart.h:105</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a1ecc9ac6a1d2747ade56770cbab6a613"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a1ecc9ac6a1d2747ade56770cbab6a613">UART_SettingsTypeDef::DMAChannel</a></div><div class="ttdeci">DMA_Stream_TypeDef * DMAChannel</div><div class="ttdoc">Канал DMA (NULL если не нужен)</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00104">general_uart.h:104</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a3fba2b52788fe453348b5d92ed52ba49"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49">UART_SettingsTypeDef::GPIO_PIN_RX</a></div><div class="ttdeci">uint16_t GPIO_PIN_RX</div><div class="ttdoc">Пин приема</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00101">general_uart.h:101</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_a5f1babfcfb436cd77f5614253c0a5bef"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#a5f1babfcfb436cd77f5614253c0a5bef">UART_SettingsTypeDef::GPIO_PIN_TX</a></div><div class="ttdeci">uint16_t GPIO_PIN_TX</div><div class="ttdoc">Пин передачи</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00102">general_uart.h:102</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_accf2c9448a3ea8eb3b8c25a569276fea"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea">UART_SettingsTypeDef::huart</a></div><div class="ttdeci">UART_HandleTypeDef huart</div><div class="ttdoc">HAL handle UART.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00098">general_uart.h:98</a></div></div>
|
||||
<div class="ttc" id="astruct_u_a_r_t___settings_type_def_html_af6f9910d065bae715cdb4a1024143a8f"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html#af6f9910d065bae715cdb4a1024143a8f">UART_SettingsTypeDef::GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * GPIOx</div><div class="ttdoc">Порт для UART.</div><div class="ttdef"><b>Definition</b> <a href="general__uart_8h_source.html#l00100">general_uart.h:100</a></div></div>
|
||||
</div><!-- fragment --></dd></dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>Требуется подключение модуля UART в библиотеке HAL <div class="fragment"><div class="line"><span class="preprocessor">#define HAL_UART_MODULE_ENABLED</span></div>
|
||||
</div><!-- fragment --> </dd></dl>
|
||||
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
|
||||
<a id="gab9f07396b778505c934143e89953e154" name="gab9f07396b778505c934143e89953e154"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gab9f07396b778505c934143e89953e154">◆ </a></span>UART_Base_Init()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">HAL_StatusTypeDef UART_Base_Init </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *</td> <td class="paramname"><span class="paramname"><em>suart</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Инициализация UART с помощью структуры <a class="el" href="struct_u_a_r_t___settings_type_def.html" title="Структура настроек UART.">UART_SettingsTypeDef</a>. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">suart</td><td>Указатель на структуру с настройками UART. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>HAL status.</dd></dl>
|
||||
<p><br />
|
||||
Инициализирует UART и его GPIO и при необходимости DMA. Настройка аналогична HAL_UART_Init </p><div class="fragment"><div class="line">suart.huart.Init...</div>
|
||||
</div><!-- fragment --><p> но дополнительно надо прописать пины RX/TX <a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> </p><div class="fragment"><div class="line">suart->GPIOx, suart->GPIO_PIN_RX, suart->GPIO_PIN_TX</div>
|
||||
</div><!-- fragment -->
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8c_source.html#l00032">32</a> of file <a class="el" href="general__uart_8c_source.html">general_uart.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga2a22e46ecb9e04b2ce197a0e9c09044a" name="ga2a22e46ecb9e04b2ce197a0e9c09044a"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga2a22e46ecb9e04b2ce197a0e9c09044a">◆ </a></span>UART_Check_Init_Struct()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">HAL_StatusTypeDef UART_Check_Init_Struct </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *</td> <td class="paramname"><span class="paramname"><em>suart</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Проверка корректности структуры инициализации UART. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">suart</td><td>Указатель на структуру с настройками UART. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>HAL status. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8c_source.html#l00364">364</a> of file <a class="el" href="general__uart_8c_source.html">general_uart.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="gab9313fd2f9fc6873ca6bfbc5b96edbbb" name="gab9313fd2f9fc6873ca6bfbc5b96edbbb"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gab9313fd2f9fc6873ca6bfbc5b96edbbb">◆ </a></span>UART_MspInit()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void UART_MspInit </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">UART_HandleTypeDef *</td> <td class="paramname"><span class="paramname"><em>huart</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Настройка тактирования и прерываний UART. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">huart</td><td>Указатель на хендл UART. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>Чтобы не генерировать функцию с иницилизацией неиспользуемых UART, дефайнами <a class="el" href="group___u_a_r_t___i_n_i_t.html">Init defines</a> в <a class="el" href="general__uart_8h.html">general_uart.h</a> определяются используемые UART. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8c_source.html#l00146">146</a> of file <a class="el" href="general__uart_8c_source.html">general_uart.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga93ed6ceef4e3b5e7885786125cce93bc" name="ga93ed6ceef4e3b5e7885786125cce93bc"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga93ed6ceef4e3b5e7885786125cce93bc">◆ </a></span>UART_MspDeInit()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void UART_MspDeInit </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">UART_HandleTypeDef *</td> <td class="paramname"><span class="paramname"><em>huart</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Деинициализация тактирования и прерываний UART. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">huart</td><td>Указатель на хендл UART. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>Чтобы не генерировать функцию с деиницилизацией неиспользуемых UART, дефайнами <a class="el" href="group___u_a_r_t___i_n_i_t.html">Init defines</a> в <a class="el" href="general__uart_8h.html">general_uart.h</a> определяются используемые UART. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8c_source.html#l00267">267</a> of file <a class="el" href="general__uart_8c_source.html">general_uart.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div id="page-nav" class="page-nav-panel">
|
||||
<div id="page-nav-resize-handle"></div>
|
||||
<div id="page-nav-tree">
|
||||
<div id="page-nav-contents">
|
||||
</div><!-- page-nav-contents -->
|
||||
</div><!-- page-nav-tree -->
|
||||
</div><!-- page-nav -->
|
||||
</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>
|
||||
16
Doc/html/group___m_y___l_i_b_s___u_a_r_t.js
Normal file
@ -0,0 +1,16 @@
|
||||
var group___m_y___l_i_b_s___u_a_r_t =
|
||||
[
|
||||
[ "Init defines", "group___u_a_r_t___i_n_i_t.html", "group___u_a_r_t___i_n_i_t" ],
|
||||
[ "UART_SettingsTypeDef", "struct_u_a_r_t___settings_type_def.html", [
|
||||
[ "huart", "struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea", null ],
|
||||
[ "GPIOx", "struct_u_a_r_t___settings_type_def.html#af6f9910d065bae715cdb4a1024143a8f", null ],
|
||||
[ "GPIO_PIN_RX", "struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49", null ],
|
||||
[ "GPIO_PIN_TX", "struct_u_a_r_t___settings_type_def.html#a5f1babfcfb436cd77f5614253c0a5bef", null ],
|
||||
[ "DMAChannel", "struct_u_a_r_t___settings_type_def.html#a1ecc9ac6a1d2747ade56770cbab6a613", null ],
|
||||
[ "DMA_CHANNEL_X", "struct_u_a_r_t___settings_type_def.html#a15ce92b03f7f189bfbe1ab88a5f94d19", null ]
|
||||
] ],
|
||||
[ "UART_Base_Init", "group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154", null ],
|
||||
[ "UART_Check_Init_Struct", "group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a", null ],
|
||||
[ "UART_MspInit", "group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb", null ],
|
||||
[ "UART_MspDeInit", "group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc", null ]
|
||||
];
|
||||
5
Doc/html/group___m_y___l_i_b_s___u_a_r_t.map
Normal file
@ -0,0 +1,5 @@
|
||||
<map id="UART Tools" name="UART Tools">
|
||||
<area shape="rect" id="Node000002" href="$group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html" title="Модули для управления периферией" alt="" coords="5,5,85,32"/>
|
||||
<area shape="rect" id="Node000001" title="Функции и макросы для удобной работы с UART." alt="" coords="133,5,224,32"/>
|
||||
<area shape="rect" id="Node000003" href="$group___u_a_r_t___i_n_i_t.html" title="Настройка UART." alt="" coords="272,5,357,32"/>
|
||||
</map>
|
||||
1
Doc/html/group___m_y___l_i_b_s___u_a_r_t.md5
Normal file
@ -0,0 +1 @@
|
||||
5475854d3a1c20af70a164c6fe76463e
|
||||
BIN
Doc/html/group___m_y___l_i_b_s___u_a_r_t.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
273
Doc/html/group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l.html
Normal file
@ -0,0 +1,273 @@
|
||||
<!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: General tools</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"> 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('group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l.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 class="header">
|
||||
<div class="headertitle"><div class="title">General tools <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> » <a class="el" href="group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html">Peripheral</a> » <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html">UART Tools</a></div></div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Функции для базовой инициализации UART.
|
||||
<a href="#details">More...</a></p>
|
||||
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for General tools:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center"><img src="group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l.png" border="0" usemap="#agroup______m__y__l__i__b__s______u__a__r__t______g__e__n__e__r__a__l" loading="lazy" alt=""/></div>
|
||||
<map name="agroup______m__y__l__i__b__s______u__a__r__t______g__e__n__e__r__a__l" id="agroup______m__y__l__i__b__s______u__a__r__t______g__e__n__e__r__a__l">
|
||||
<area shape="rect" title="Функции для базовой инициализации UART." alt="" coords="145,5,243,32"/>
|
||||
<area shape="rect" href="group___u_a_r_t___i_n_i_t.html" title="Настройка UART." alt="" coords="291,5,376,32"/>
|
||||
<area shape="rect" href="group___m_y___l_i_b_s___u_a_r_t.html" title="Функции и макросы для удобной работы с UART." alt="" coords="5,5,97,32"/>
|
||||
</map>
|
||||
</div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-groups" class="groupheader"><a id="groups" name="groups"></a>
|
||||
Topics</h2></td></tr>
|
||||
<tr class="memitem:UART_5FINIT" id="r_UART_5FINIT"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___u_a_r_t___i_n_i_t.html">Init defines</a></td></tr>
|
||||
<tr class="memdesc:group___u_a_r_t___i_n_i_t"><td class="mdescLeft"> </td><td class="mdescRight">Настройка UART. <br /></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:UART_5FSettingsTypeDef" id="r_UART_5FSettingsTypeDef"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Структура настроек UART. <a href="struct_u_a_r_t___settings_type_def.html#details">More...</a><br /></td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:gab9f07396b778505c934143e89953e154" id="r_gab9f07396b778505c934143e89953e154"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="#gab9f07396b778505c934143e89953e154">UART_Base_Init</a> (<a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</td></tr>
|
||||
<tr class="memdesc:gab9f07396b778505c934143e89953e154"><td class="mdescLeft"> </td><td class="mdescRight">Инициализация UART с помощью структуры <a class="el" href="struct_u_a_r_t___settings_type_def.html" title="Структура настроек UART.">UART_SettingsTypeDef</a>. <br /></td></tr>
|
||||
<tr class="memitem:gac9c27133622dfaf1f43683f4edf0ff65" id="r_gac9c27133622dfaf1f43683f4edf0ff65"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef </td><td class="memItemRight" valign="bottom"><a class="el" href="#gac9c27133622dfaf1f43683f4edf0ff65">Check_UART_Init_Struct</a> (<a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</td></tr>
|
||||
<tr class="memdesc:gac9c27133622dfaf1f43683f4edf0ff65"><td class="mdescLeft"> </td><td class="mdescRight">Проверка корректности структуры инициализации UART. <br /></td></tr>
|
||||
<tr class="memitem:gab9313fd2f9fc6873ca6bfbc5b96edbbb" id="r_gab9313fd2f9fc6873ca6bfbc5b96edbbb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a> (UART_HandleTypeDef *huart)</td></tr>
|
||||
<tr class="memdesc:gab9313fd2f9fc6873ca6bfbc5b96edbbb"><td class="mdescLeft"> </td><td class="mdescRight">Настройка тактирования и прерываний UART. <br /></td></tr>
|
||||
<tr class="memitem:ga93ed6ceef4e3b5e7885786125cce93bc" id="r_ga93ed6ceef4e3b5e7885786125cce93bc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga93ed6ceef4e3b5e7885786125cce93bc">UART_MspDeInit</a> (UART_HandleTypeDef *huart)</td></tr>
|
||||
<tr class="memdesc:ga93ed6ceef4e3b5e7885786125cce93bc"><td class="mdescLeft"> </td><td class="mdescRight">Deinitialize UART & DMA clock and interrupt. <br /></td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
||||
<p>Функции для базовой инициализации UART. </p>
|
||||
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
|
||||
<a id="gab9f07396b778505c934143e89953e154" name="gab9f07396b778505c934143e89953e154"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gab9f07396b778505c934143e89953e154">◆ </a></span>UART_Base_Init()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">HAL_StatusTypeDef UART_Base_Init </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *</td> <td class="paramname"><span class="paramname"><em>suart</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Инициализация UART с помощью структуры <a class="el" href="struct_u_a_r_t___settings_type_def.html" title="Структура настроек UART.">UART_SettingsTypeDef</a>. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">suart</td><td>Указатель на структуру с настройками UART. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>HAL status.</dd></dl>
|
||||
<p><br />
|
||||
Инициализирует UART и при необходимости его GPIO и DMA. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8c_source.html#l00024">24</a> of file <a class="el" href="general__uart_8c_source.html">general_uart.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="gac9c27133622dfaf1f43683f4edf0ff65" name="gac9c27133622dfaf1f43683f4edf0ff65"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gac9c27133622dfaf1f43683f4edf0ff65">◆ </a></span>Check_UART_Init_Struct()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">HAL_StatusTypeDef Check_UART_Init_Struct </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *</td> <td class="paramname"><span class="paramname"><em>suart</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Проверка корректности структуры инициализации UART. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">suart</td><td>Указатель на структуру с настройками UART. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>HAL status. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8c_source.html#l00356">356</a> of file <a class="el" href="general__uart_8c_source.html">general_uart.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="gab9313fd2f9fc6873ca6bfbc5b96edbbb" name="gab9313fd2f9fc6873ca6bfbc5b96edbbb"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gab9313fd2f9fc6873ca6bfbc5b96edbbb">◆ </a></span>UART_MspInit()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void UART_MspInit </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">UART_HandleTypeDef *</td> <td class="paramname"><span class="paramname"><em>huart</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Настройка тактирования и прерываний UART. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">huart</td><td>Указатель на хендл UART. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>Чтобы не генерировать функцию с иницилизацией неиспользуемых UART, дефайнами <a class="el" href="group___u_a_r_t___i_n_i_t.html">Init defines</a> в <a class="el" href="general__uart_8h.html">general_uart.h</a> определяются используемые UART. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8c_source.html#l00138">138</a> of file <a class="el" href="general__uart_8c_source.html">general_uart.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga93ed6ceef4e3b5e7885786125cce93bc" name="ga93ed6ceef4e3b5e7885786125cce93bc"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga93ed6ceef4e3b5e7885786125cce93bc">◆ </a></span>UART_MspDeInit()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void UART_MspDeInit </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">UART_HandleTypeDef *</td> <td class="paramname"><span class="paramname"><em>huart</em></span></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Deinitialize UART & DMA clock and interrupt. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">huart</td><td>- указатель на хендл UART для деинициализации. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>Чтобы не генерировать функцию с деиницилизацией неиспользуемых UART, дефайнами <a class="el" href="group___u_a_r_t___i_n_i_t.html">Init defines</a> в <a class="el" href="general__uart_8h.html">general_uart.h</a> определяются используемые UART. </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8c_source.html#l00259">259</a> of file <a class="el" href="general__uart_8c_source.html">general_uart.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div id="page-nav" class="page-nav-panel">
|
||||
<div id="page-nav-resize-handle"></div>
|
||||
<div id="page-nav-tree">
|
||||
<div id="page-nav-contents">
|
||||
</div><!-- page-nav-contents -->
|
||||
</div><!-- page-nav-tree -->
|
||||
</div><!-- page-nav -->
|
||||
</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>
|
||||
16
Doc/html/group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l.js
Normal file
@ -0,0 +1,16 @@
|
||||
var group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l =
|
||||
[
|
||||
[ "Init defines", "group___u_a_r_t___i_n_i_t.html", "group___u_a_r_t___i_n_i_t" ],
|
||||
[ "UART_SettingsTypeDef", "struct_u_a_r_t___settings_type_def.html", [
|
||||
[ "huart", "struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea", null ],
|
||||
[ "GPIOx", "struct_u_a_r_t___settings_type_def.html#af6f9910d065bae715cdb4a1024143a8f", null ],
|
||||
[ "GPIO_PIN_RX", "struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49", null ],
|
||||
[ "GPIO_PIN_TX", "struct_u_a_r_t___settings_type_def.html#a5f1babfcfb436cd77f5614253c0a5bef", null ],
|
||||
[ "DMAChannel", "struct_u_a_r_t___settings_type_def.html#a1ecc9ac6a1d2747ade56770cbab6a613", null ],
|
||||
[ "DMA_CHANNEL_X", "struct_u_a_r_t___settings_type_def.html#a15ce92b03f7f189bfbe1ab88a5f94d19", null ]
|
||||
] ],
|
||||
[ "UART_Base_Init", "group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l.html#gab9f07396b778505c934143e89953e154", null ],
|
||||
[ "Check_UART_Init_Struct", "group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l.html#gac9c27133622dfaf1f43683f4edf0ff65", null ],
|
||||
[ "UART_MspInit", "group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb", null ],
|
||||
[ "UART_MspDeInit", "group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l.html#ga93ed6ceef4e3b5e7885786125cce93bc", null ]
|
||||
];
|
||||
@ -0,0 +1,5 @@
|
||||
<map id="General tools" name="General tools">
|
||||
<area shape="rect" id="Node000001" title="Функции для базовой инициализации UART." alt="" coords="145,5,243,32"/>
|
||||
<area shape="rect" id="Node000003" href="$group___u_a_r_t___i_n_i_t.html" title="Настройка UART." alt="" coords="291,5,376,32"/>
|
||||
<area shape="rect" id="Node000002" href="$group___m_y___l_i_b_s___u_a_r_t.html" title="Функции и макросы для удобной работы с UART." alt="" coords="5,5,97,32"/>
|
||||
</map>
|
||||
@ -0,0 +1 @@
|
||||
e6d1f13a7d892bfe12b1137f7c4b33fa
|
||||
BIN
Doc/html/group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
220
Doc/html/group___s_p_i___i_n_i_t.html
Normal file
@ -0,0 +1,220 @@
|
||||
<!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: Init defines</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"> 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('group___s_p_i___i_n_i_t.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 class="header">
|
||||
<div class="headertitle"><div class="title">Init defines <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> » <a class="el" href="group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html">Peripheral</a> » <a class="el" href="group___m_y___l_i_b_s___s_p_i.html">SPI Tools</a></div></div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Настройка SPI.
|
||||
<a href="#details">More...</a></p>
|
||||
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for Init defines:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center"><img src="group___s_p_i___i_n_i_t.png" border="0" usemap="#agroup______s__p__i______i__n__i__t" loading="lazy" alt=""/></div>
|
||||
<map name="agroup______s__p__i______i__n__i__t" id="agroup______s__p__i______i__n__i__t">
|
||||
<area shape="rect" href="group___m_y___l_i_b_s___s_p_i.html" title="Функции и макросы для удобной работы с SPI." alt="" coords="5,5,83,32"/>
|
||||
<area shape="rect" title="Настройка SPI." alt="" coords="131,5,216,32"/>
|
||||
</map>
|
||||
</div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
|
||||
Macros</h2></td></tr>
|
||||
<tr class="memitem:ga8ad4712bf4add56892d057778e826e0c" id="r_ga8ad4712bf4add56892d057778e826e0c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga8ad4712bf4add56892d057778e826e0c">HAL_SPI_MODULE_ENABLED</a></td></tr>
|
||||
<tr class="memdesc:ga8ad4712bf4add56892d057778e826e0c"><td class="mdescLeft"> </td><td class="mdescRight">Включение HAL SPI. <br /></td></tr>
|
||||
<tr class="memitem:ga2fe0c8aeb2c61679f32836fef479eedf" id="r_ga2fe0c8aeb2c61679f32836fef479eedf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2fe0c8aeb2c61679f32836fef479eedf">USE_SPI1</a></td></tr>
|
||||
<tr class="memdesc:ga2fe0c8aeb2c61679f32836fef479eedf"><td class="mdescLeft"> </td><td class="mdescRight">Включить SPI1 в <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga53687cddb8e39e76a79b8ffaa152fb2b" id="r_ga53687cddb8e39e76a79b8ffaa152fb2b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga53687cddb8e39e76a79b8ffaa152fb2b">USE_SPI2</a></td></tr>
|
||||
<tr class="memdesc:ga53687cddb8e39e76a79b8ffaa152fb2b"><td class="mdescLeft"> </td><td class="mdescRight">Включить SPI2 в <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga5fdd6e5934a8005ef05b80f6d95883dc" id="r_ga5fdd6e5934a8005ef05b80f6d95883dc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga5fdd6e5934a8005ef05b80f6d95883dc">USE_SPI3</a></td></tr>
|
||||
<tr class="memdesc:ga5fdd6e5934a8005ef05b80f6d95883dc"><td class="mdescLeft"> </td><td class="mdescRight">Включить SPI3 в <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>. <br /></td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
||||
<p>Настройка SPI. </p>
|
||||
<a name="doc-define-members" id="doc-define-members"></a><h2 id="header-doc-define-members" class="groupheader">Macro Definition Documentation</h2>
|
||||
<a id="ga8ad4712bf4add56892d057778e826e0c" name="ga8ad4712bf4add56892d057778e826e0c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga8ad4712bf4add56892d057778e826e0c">◆ </a></span>HAL_SPI_MODULE_ENABLED</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define HAL_SPI_MODULE_ENABLED</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Включение HAL SPI. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__spi_8h_source.html#l00075">75</a> of file <a class="el" href="general__spi_8h_source.html">general_spi.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga2fe0c8aeb2c61679f32836fef479eedf" name="ga2fe0c8aeb2c61679f32836fef479eedf"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga2fe0c8aeb2c61679f32836fef479eedf">◆ </a></span>USE_SPI1</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define USE_SPI1</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Включить SPI1 в <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__spi_8h_source.html#l00077">77</a> of file <a class="el" href="general__spi_8h_source.html">general_spi.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga53687cddb8e39e76a79b8ffaa152fb2b" name="ga53687cddb8e39e76a79b8ffaa152fb2b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga53687cddb8e39e76a79b8ffaa152fb2b">◆ </a></span>USE_SPI2</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define USE_SPI2</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Включить SPI2 в <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__spi_8h_source.html#l00078">78</a> of file <a class="el" href="general__spi_8h_source.html">general_spi.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga5fdd6e5934a8005ef05b80f6d95883dc" name="ga5fdd6e5934a8005ef05b80f6d95883dc"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga5fdd6e5934a8005ef05b80f6d95883dc">◆ </a></span>USE_SPI3</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define USE_SPI3</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Включить SPI3 в <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">SPI_MspInit</a>. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__spi_8h_source.html#l00079">79</a> of file <a class="el" href="general__spi_8h_source.html">general_spi.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div id="page-nav" class="page-nav-panel">
|
||||
<div id="page-nav-resize-handle"></div>
|
||||
<div id="page-nav-tree">
|
||||
<div id="page-nav-contents">
|
||||
</div><!-- page-nav-contents -->
|
||||
</div><!-- page-nav-tree -->
|
||||
</div><!-- page-nav -->
|
||||
</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>
|
||||
7
Doc/html/group___s_p_i___i_n_i_t.js
Normal file
@ -0,0 +1,7 @@
|
||||
var group___s_p_i___i_n_i_t =
|
||||
[
|
||||
[ "HAL_SPI_MODULE_ENABLED", "group___s_p_i___i_n_i_t.html#ga8ad4712bf4add56892d057778e826e0c", null ],
|
||||
[ "USE_SPI1", "group___s_p_i___i_n_i_t.html#ga2fe0c8aeb2c61679f32836fef479eedf", null ],
|
||||
[ "USE_SPI2", "group___s_p_i___i_n_i_t.html#ga53687cddb8e39e76a79b8ffaa152fb2b", null ],
|
||||
[ "USE_SPI3", "group___s_p_i___i_n_i_t.html#ga5fdd6e5934a8005ef05b80f6d95883dc", null ]
|
||||
];
|
||||
4
Doc/html/group___s_p_i___i_n_i_t.map
Normal file
@ -0,0 +1,4 @@
|
||||
<map id="Init defines" name="Init defines">
|
||||
<area shape="rect" id="Node000002" href="$group___m_y___l_i_b_s___s_p_i.html" title="Функции и макросы для удобной работы с SPI." alt="" coords="5,5,83,32"/>
|
||||
<area shape="rect" id="Node000001" title="Настройка SPI." alt="" coords="131,5,216,32"/>
|
||||
</map>
|
||||
1
Doc/html/group___s_p_i___i_n_i_t.md5
Normal file
@ -0,0 +1 @@
|
||||
a5fee9e01f339403bf93347eac092de0
|
||||
BIN
Doc/html/group___s_p_i___i_n_i_t.png
Normal file
|
After Width: | Height: | Size: 952 B |
280
Doc/html/group___u_a_r_t___i_n_i_t.html
Normal file
@ -0,0 +1,280 @@
|
||||
<!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: Init defines</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"> 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('group___u_a_r_t___i_n_i_t.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 class="header">
|
||||
<div class="headertitle"><div class="title">Init defines <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> » <a class="el" href="group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html">Peripheral</a> » <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html">UART Tools</a></div></div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Настройка UART.
|
||||
<a href="#details">More...</a></p>
|
||||
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for Init defines:</div>
|
||||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||||
</div>
|
||||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||||
<div class="center"><img src="group___u_a_r_t___i_n_i_t.png" border="0" usemap="#agroup______u__a__r__t______i__n__i__t" loading="lazy" alt=""/></div>
|
||||
<map name="agroup______u__a__r__t______i__n__i__t" id="agroup______u__a__r__t______i__n__i__t">
|
||||
<area shape="rect" href="group___m_y___l_i_b_s___u_a_r_t.html" title="Функции и макросы для удобной работы с UART." alt="" coords="5,5,97,32"/>
|
||||
<area shape="rect" title="Настройка UART." alt="" coords="145,5,230,32"/>
|
||||
</map>
|
||||
</div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
|
||||
Macros</h2></td></tr>
|
||||
<tr class="memitem:ga167269406e73327b95c3bb7b9cfe6d89" id="r_ga167269406e73327b95c3bb7b9cfe6d89"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga167269406e73327b95c3bb7b9cfe6d89">HAL_UART_MODULE_ENABLED</a></td></tr>
|
||||
<tr class="memdesc:ga167269406e73327b95c3bb7b9cfe6d89"><td class="mdescLeft"> </td><td class="mdescRight">Включение HAL UART. <br /></td></tr>
|
||||
<tr class="memitem:gace54f148bb1d72f13bf397d096d38d1b" id="r_gace54f148bb1d72f13bf397d096d38d1b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#gace54f148bb1d72f13bf397d096d38d1b">USE_USART1</a></td></tr>
|
||||
<tr class="memdesc:gace54f148bb1d72f13bf397d096d38d1b"><td class="mdescLeft"> </td><td class="mdescRight">Включить USART1 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:gaacb3968508217a0d8b3f64aa0c8aa07d" id="r_gaacb3968508217a0d8b3f64aa0c8aa07d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#gaacb3968508217a0d8b3f64aa0c8aa07d">USE_USART2</a></td></tr>
|
||||
<tr class="memdesc:gaacb3968508217a0d8b3f64aa0c8aa07d"><td class="mdescLeft"> </td><td class="mdescRight">Включить USART2 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga6dadd967b428aade24008ec060009976" id="r_ga6dadd967b428aade24008ec060009976"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga6dadd967b428aade24008ec060009976">USE_USART3</a></td></tr>
|
||||
<tr class="memdesc:ga6dadd967b428aade24008ec060009976"><td class="mdescLeft"> </td><td class="mdescRight">Включить USART3 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga779530e93e7aa1f25eb13045ec42b8e7" id="r_ga779530e93e7aa1f25eb13045ec42b8e7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga779530e93e7aa1f25eb13045ec42b8e7">USE_UART4</a></td></tr>
|
||||
<tr class="memdesc:ga779530e93e7aa1f25eb13045ec42b8e7"><td class="mdescLeft"> </td><td class="mdescRight">Включить UART4 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:ga592c6bf4a6496d6806ba0838cdfa2340" id="r_ga592c6bf4a6496d6806ba0838cdfa2340"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga592c6bf4a6496d6806ba0838cdfa2340">USE_UART5</a></td></tr>
|
||||
<tr class="memdesc:ga592c6bf4a6496d6806ba0838cdfa2340"><td class="mdescLeft"> </td><td class="mdescRight">Включить UART5 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
<tr class="memitem:gafaeb8bdd4aa7fb1987505530daa90868" id="r_gafaeb8bdd4aa7fb1987505530daa90868"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#gafaeb8bdd4aa7fb1987505530daa90868">USE_USART6</a></td></tr>
|
||||
<tr class="memdesc:gafaeb8bdd4aa7fb1987505530daa90868"><td class="mdescLeft"> </td><td class="mdescRight">Включить USART6 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. <br /></td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
||||
<p>Настройка UART. </p>
|
||||
<a name="doc-define-members" id="doc-define-members"></a><h2 id="header-doc-define-members" class="groupheader">Macro Definition Documentation</h2>
|
||||
<a id="ga167269406e73327b95c3bb7b9cfe6d89" name="ga167269406e73327b95c3bb7b9cfe6d89"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga167269406e73327b95c3bb7b9cfe6d89">◆ </a></span>HAL_UART_MODULE_ENABLED</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define HAL_UART_MODULE_ENABLED</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Включение HAL UART. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8h_source.html#l00065">65</a> of file <a class="el" href="general__uart_8h_source.html">general_uart.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="gace54f148bb1d72f13bf397d096d38d1b" name="gace54f148bb1d72f13bf397d096d38d1b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gace54f148bb1d72f13bf397d096d38d1b">◆ </a></span>USE_USART1</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define USE_USART1</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Включить USART1 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8h_source.html#l00067">67</a> of file <a class="el" href="general__uart_8h_source.html">general_uart.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="gaacb3968508217a0d8b3f64aa0c8aa07d" name="gaacb3968508217a0d8b3f64aa0c8aa07d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gaacb3968508217a0d8b3f64aa0c8aa07d">◆ </a></span>USE_USART2</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define USE_USART2</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Включить USART2 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8h_source.html#l00068">68</a> of file <a class="el" href="general__uart_8h_source.html">general_uart.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga6dadd967b428aade24008ec060009976" name="ga6dadd967b428aade24008ec060009976"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga6dadd967b428aade24008ec060009976">◆ </a></span>USE_USART3</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define USE_USART3</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Включить USART3 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8h_source.html#l00069">69</a> of file <a class="el" href="general__uart_8h_source.html">general_uart.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga779530e93e7aa1f25eb13045ec42b8e7" name="ga779530e93e7aa1f25eb13045ec42b8e7"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga779530e93e7aa1f25eb13045ec42b8e7">◆ </a></span>USE_UART4</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define USE_UART4</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Включить UART4 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8h_source.html#l00070">70</a> of file <a class="el" href="general__uart_8h_source.html">general_uart.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga592c6bf4a6496d6806ba0838cdfa2340" name="ga592c6bf4a6496d6806ba0838cdfa2340"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga592c6bf4a6496d6806ba0838cdfa2340">◆ </a></span>USE_UART5</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define USE_UART5</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Включить UART5 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8h_source.html#l00071">71</a> of file <a class="el" href="general__uart_8h_source.html">general_uart.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="gafaeb8bdd4aa7fb1987505530daa90868" name="gafaeb8bdd4aa7fb1987505530daa90868"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gafaeb8bdd4aa7fb1987505530daa90868">◆ </a></span>USE_USART6</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define USE_USART6</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Включить USART6 в <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">UART_MspInit</a>. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="general__uart_8h_source.html#l00072">72</a> of file <a class="el" href="general__uart_8h_source.html">general_uart.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div id="page-nav" class="page-nav-panel">
|
||||
<div id="page-nav-resize-handle"></div>
|
||||
<div id="page-nav-tree">
|
||||
<div id="page-nav-contents">
|
||||
</div><!-- page-nav-contents -->
|
||||
</div><!-- page-nav-tree -->
|
||||
</div><!-- page-nav -->
|
||||
</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>
|
||||
10
Doc/html/group___u_a_r_t___i_n_i_t.js
Normal file
@ -0,0 +1,10 @@
|
||||
var group___u_a_r_t___i_n_i_t =
|
||||
[
|
||||
[ "HAL_UART_MODULE_ENABLED", "group___u_a_r_t___i_n_i_t.html#ga167269406e73327b95c3bb7b9cfe6d89", null ],
|
||||
[ "USE_USART1", "group___u_a_r_t___i_n_i_t.html#gace54f148bb1d72f13bf397d096d38d1b", null ],
|
||||
[ "USE_USART2", "group___u_a_r_t___i_n_i_t.html#gaacb3968508217a0d8b3f64aa0c8aa07d", null ],
|
||||
[ "USE_USART3", "group___u_a_r_t___i_n_i_t.html#ga6dadd967b428aade24008ec060009976", null ],
|
||||
[ "USE_UART4", "group___u_a_r_t___i_n_i_t.html#ga779530e93e7aa1f25eb13045ec42b8e7", null ],
|
||||
[ "USE_UART5", "group___u_a_r_t___i_n_i_t.html#ga592c6bf4a6496d6806ba0838cdfa2340", null ],
|
||||
[ "USE_USART6", "group___u_a_r_t___i_n_i_t.html#gafaeb8bdd4aa7fb1987505530daa90868", null ]
|
||||
];
|
||||
4
Doc/html/group___u_a_r_t___i_n_i_t.map
Normal file
@ -0,0 +1,4 @@
|
||||
<map id="Init defines" name="Init defines">
|
||||
<area shape="rect" id="Node000002" href="$group___m_y___l_i_b_s___u_a_r_t.html" title="Функции и макросы для удобной работы с UART." alt="" coords="5,5,97,32"/>
|
||||
<area shape="rect" id="Node000001" title="Настройка UART." alt="" coords="145,5,230,32"/>
|
||||
</map>
|
||||
1
Doc/html/group___u_a_r_t___i_n_i_t.md5
Normal file
@ -0,0 +1 @@
|
||||
a6be7d8c2d212183934faf5551879d8d
|
||||
BIN
Doc/html/group___u_a_r_t___i_n_i_t.png
Normal file
|
After Width: | Height: | Size: 980 B |
4
Doc/html/search/all_1c.js
Normal file
@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['утилиты_20mylibs_5fdefines_0',['Общие утилиты (<a class="el" href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html">General Tools</a>)',['../index.html#utils_module',1,'']]]
|
||||
];
|
||||
4
Doc/html/search/defines_0.js
Normal file
@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['_5f_5fuser_5flinkdma_0',['__USER_LINKDMA',['../general__uart_8h.html#a52d3bb980b28a6804655b6b25f14da46',1,'general_uart.h']]]
|
||||
];
|
||||
14
Doc/html/search/functions_5.js
Normal file
@ -0,0 +1,14 @@
|
||||
var searchData=
|
||||
[
|
||||
['tim_5fbase_5finit_0',['TIM_Base_Init',['../group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga7044214f24a9868ba7e1650b55e639ec',1,'TIM_Base_Init(TIM_SettingsTypeDef *stim): general_tim.c'],['../group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga7044214f24a9868ba7e1650b55e639ec',1,'TIM_Base_Init(TIM_SettingsTypeDef *stim): general_tim.c']]],
|
||||
['tim_5fbase_5fmspdeinit_1',['TIM_Base_MspDeInit',['../group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga879e3f1c919c02990736730275367115',1,'TIM_Base_MspDeInit(TIM_HandleTypeDef *htim): general_tim.c'],['../group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga879e3f1c919c02990736730275367115',1,'TIM_Base_MspDeInit(TIM_HandleTypeDef *htim): general_tim.c']]],
|
||||
['tim_5fbase_5fmspinit_2',['TIM_Base_MspInit',['../group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#gaad47337be7ba2f6c0777c40d7278c931',1,'TIM_Base_MspInit(TIM_HandleTypeDef *htim, TIM_ITModeTypeDef it_mode): general_tim.c'],['../group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#gaad47337be7ba2f6c0777c40d7278c931',1,'TIM_Base_MspInit(TIM_HandleTypeDef *htim, TIM_ITModeTypeDef it_mode): general_tim.c']]],
|
||||
['tim_5fdelay_3',['TIM_Delay',['../group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga88c552a133cb6e3015453cccab74c07e',1,'TIM_Delay(TIM_HandleTypeDef *htim, uint16_t delay): general_tim.c'],['../group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga88c552a133cb6e3015453cccab74c07e',1,'TIM_Delay(TIM_HandleTypeDef *htim, uint16_t delay): general_tim.c']]],
|
||||
['tim_5fdelay_5fnonblocking_4',['TIM_Delay_NonBlocking',['../group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga108637af414bff3373059273b815ce9b',1,'TIM_Delay_NonBlocking(TIM_HandleTypeDef *htim, uint16_t delay): general_tim.c'],['../group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga108637af414bff3373059273b815ce9b',1,'TIM_Delay_NonBlocking(TIM_HandleTypeDef *htim, uint16_t delay): general_tim.c']]],
|
||||
['tim_5fdelay_5fstart_5',['TIM_Delay_Start',['../group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga4c0dfde4e15f677600605348b4e97834',1,'TIM_Delay_Start(TIM_HandleTypeDef *htim): general_tim.c'],['../group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga4c0dfde4e15f677600605348b4e97834',1,'TIM_Delay_Start(TIM_HandleTypeDef *htim): general_tim.c']]],
|
||||
['tim_5fencoder_5finit_6',['TIM_Encoder_Init',['../group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga8d16c3b7e7c6decc54c5c3d1a8bf0fbc',1,'TIM_Encoder_Init(TIM_EncoderTypeDef *henc1, TIM_HandleTypeDef *htim): general_tim.c'],['../group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga8d16c3b7e7c6decc54c5c3d1a8bf0fbc',1,'TIM_Encoder_Init(TIM_EncoderTypeDef *henc, TIM_HandleTypeDef *htim): general_tim.c']]],
|
||||
['tim_5fencoder_5fread_7',['TIM_Encoder_Read',['../group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#gac3bc6525f88c275e47eb864e6d567501',1,'TIM_Encoder_Read(TIM_EncoderTypeDef *henc): general_tim.c'],['../group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#gac3bc6525f88c275e47eb864e6d567501',1,'TIM_Encoder_Read(TIM_EncoderTypeDef *henc): general_tim.c']]],
|
||||
['tim_5fencoder_5freadswitch_8',['TIM_Encoder_ReadSwitch',['../group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga117b795017e9e3a357ddefe323412761',1,'TIM_Encoder_ReadSwitch(TIM_EncoderTypeDef *henc): general_tim.c'],['../group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga117b795017e9e3a357ddefe323412761',1,'TIM_Encoder_ReadSwitch(TIM_EncoderTypeDef *henc): general_tim.c']]],
|
||||
['tim_5foc_5fcomparator_5finit_9',['TIM_OC_Comparator_Init',['../group___m_y_l_i_b_s___t_i_m___o_c.html#gae2608ca8023e9a0713af0b4fbfbc1889',1,'TIM_OC_Comparator_Init(TIM_HandleTypeDef *htim, uint32_t TIM_CHANNEL): general_tim.c'],['../group___m_y_l_i_b_s___t_i_m___o_c.html#gae2608ca8023e9a0713af0b4fbfbc1889',1,'TIM_OC_Comparator_Init(TIM_HandleTypeDef *htim, uint32_t TIM_CHANNEL): general_tim.c']]],
|
||||
['tim_5foutput_5fpwm_5finit_10',['TIM_Output_PWM_Init',['../group___m_y_l_i_b_s___t_i_m___o_c.html#gadb2f465d89f609e035867e980c3a29c6',1,'TIM_Output_PWM_Init(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef *sConfigOC, uint32_t TIM_CHANNEL, GPIO_TypeDef *GPIOx, uint32_t PWM_PIN): general_tim.c'],['../group___m_y_l_i_b_s___t_i_m___o_c.html#gadb2f465d89f609e035867e980c3a29c6',1,'TIM_Output_PWM_Init(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef *sConfigOC, uint32_t TIM_CHANNEL, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN): general_tim.c']]]
|
||||
];
|
||||
9
Doc/html/search/functions_6.js
Normal file
@ -0,0 +1,9 @@
|
||||
var searchData=
|
||||
[
|
||||
['uart_5fbase_5finit_0',['UART_Base_Init',['../group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154',1,'UART_Base_Init(UART_SettingsTypeDef *suart): general_uart.c'],['../group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154',1,'UART_Base_Init(UART_SettingsTypeDef *suart): general_uart.c']]],
|
||||
['uart_5fcheck_5finit_5fstruct_1',['UART_Check_Init_Struct',['../group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a',1,'UART_Check_Init_Struct(UART_SettingsTypeDef *suart): general_uart.c'],['../group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a',1,'UART_Check_Init_Struct(UART_SettingsTypeDef *suart): general_uart.c']]],
|
||||
['uart_5fdma_5finit_2',['UART_DMA_Init',['../general__uart_8c.html#ad82d0cbd19151675135fd75dad315d05',1,'general_uart.c']]],
|
||||
['uart_5fgpio_5finit_3',['UART_GPIO_Init',['../general__uart_8c.html#a3abae05bbde5f3b402bf18ca13dc6a0b',1,'general_uart.c']]],
|
||||
['uart_5fmspdeinit_4',['UART_MspDeInit',['../group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc',1,'UART_MspDeInit(UART_HandleTypeDef *huart): general_uart.c'],['../group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc',1,'UART_MspDeInit(UART_HandleTypeDef *huart): general_uart.c']]],
|
||||
['uart_5fmspinit_5',['UART_MspInit',['../group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb',1,'UART_MspInit(UART_HandleTypeDef *huart): general_uart.c'],['../group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb',1,'UART_MspInit(UART_HandleTypeDef *huart): general_uart.c']]]
|
||||
];
|
||||
8
Doc/html/search/functions_7.js
Normal file
@ -0,0 +1,8 @@
|
||||
var searchData=
|
||||
[
|
||||
['uart_5fbase_5finit_0',['UART_Base_Init',['../group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154',1,'UART_Base_Init(UART_SettingsTypeDef *suart): general_uart.c'],['../group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154',1,'UART_Base_Init(UART_SettingsTypeDef *suart): general_uart.c']]],
|
||||
['uart_5fdma_5finit_1',['UART_DMA_Init',['../general__uart_8c.html#ad82d0cbd19151675135fd75dad315d05',1,'general_uart.c']]],
|
||||
['uart_5fgpio_5finit_2',['UART_GPIO_Init',['../general__uart_8c.html#a3abae05bbde5f3b402bf18ca13dc6a0b',1,'general_uart.c']]],
|
||||
['uart_5fmspdeinit_3',['UART_MspDeInit',['../group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc',1,'UART_MspDeInit(UART_HandleTypeDef *huart): general_uart.c'],['../group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc',1,'UART_MspDeInit(UART_HandleTypeDef *huart): general_uart.c']]],
|
||||
['uart_5fmspinit_4',['UART_MspInit',['../group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb',1,'UART_MspInit(UART_HandleTypeDef *huart): general_uart.c'],['../group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb',1,'UART_MspInit(UART_HandleTypeDef *huart): general_uart.c']]]
|
||||
];
|
||||
15
Doc/html/struct_s_p_i___settings_type_def.js
Normal file
@ -0,0 +1,15 @@
|
||||
var struct_s_p_i___settings_type_def =
|
||||
[
|
||||
[ "hspi", "struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422", null ],
|
||||
[ "CLK_GPIOx", "struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979", null ],
|
||||
[ "CLK_PIN", "struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc", null ],
|
||||
[ "CLK_GPIO_AlternageFunc", "struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1", null ],
|
||||
[ "MISO_GPIOx", "struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95", null ],
|
||||
[ "MISO_PIN", "struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a", null ],
|
||||
[ "MISO_GPIO_AlternageFunc", "struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14", null ],
|
||||
[ "MOSI_GPIOx", "struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820", null ],
|
||||
[ "MOSI_PIN", "struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176", null ],
|
||||
[ "MOSI_GPIO_AlternageFunc", "struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab", null ],
|
||||
[ "DMAChannel", "struct_s_p_i___settings_type_def.html#a3cfd9469b0617a68bbd2a161ba06bb95", null ],
|
||||
[ "DMA_CHANNEL_X", "struct_s_p_i___settings_type_def.html#aa0edaa145076d2383b3e0095d156d474", null ]
|
||||
];
|
||||
9
Doc/html/struct_u_a_r_t___settings_type_def.js
Normal file
@ -0,0 +1,9 @@
|
||||
var struct_u_a_r_t___settings_type_def =
|
||||
[
|
||||
[ "huart", "struct_u_a_r_t___settings_type_def.html#accf2c9448a3ea8eb3b8c25a569276fea", null ],
|
||||
[ "GPIOx", "struct_u_a_r_t___settings_type_def.html#af6f9910d065bae715cdb4a1024143a8f", null ],
|
||||
[ "GPIO_PIN_RX", "struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49", null ],
|
||||
[ "GPIO_PIN_TX", "struct_u_a_r_t___settings_type_def.html#a5f1babfcfb436cd77f5614253c0a5bef", null ],
|
||||
[ "DMAChannel", "struct_u_a_r_t___settings_type_def.html#a1ecc9ac6a1d2747ade56770cbab6a613", null ],
|
||||
[ "DMA_CHANNEL_X", "struct_u_a_r_t___settings_type_def.html#a15ce92b03f7f189bfbe1ab88a5f94d19", null ]
|
||||
];
|
||||
52
Doc/latex/_s_p_i__usage__example-example.tex
Normal file
@ -0,0 +1,52 @@
|
||||
\doxysection{SPI\+\_\+\+Usage\+\_\+\+Example}
|
||||
\hypertarget{_s_p_i__usage__example-example}{}\label{_s_p_i__usage__example-example}Пример использования SPI\+\_\+\+Base\+\_\+\+Init.
|
||||
|
||||
Пример использования SPI\+\_\+\+Base\+\_\+\+Init. Инициализация SPI1 с базовыми настройками\+:
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{general__spi_8h}{general\_spi.h}}"{}}}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\_SettingsTypeDef}}\ mySPI;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{keywordtype}{void}\ SPI1\_Init(\textcolor{keywordtype}{void})}
|
||||
\DoxyCodeLine{\{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Настройка\ SPI1}}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Instance\ =\ SPI1;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.Mode\ =\ SPI\_MODE\_MASTER;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.Direction\ =\ SPI\_DIRECTION\_2LINES;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.DataSize\ =\ SPI\_DATASIZE\_8BIT;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.CLKPolarity\ =\ SPI\_POLARITY\_LOW;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.CLKPhase\ =\ SPI\_PHASE\_1EDGE;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.NSS\ =\ SPI\_NSS\_SOFT;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.BaudRatePrescaler\ =\ SPI\_BAUDRATEPRESCALER\_16;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.FirstBit\ =\ SPI\_FIRSTBIT\_MSB;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.TIMode\ =\ SPI\_TIMODE\_DISABLE;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.CRCCalculation\ =\ SPI\_CRCCALCULATION\_DISABLE;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Настройка\ GPIO\ для\ SPI}}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a6a15d48eccf92959de3a086031fdc979}{CLK\_GPIOx}}\ =\ GPIOA;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3bcb1ed12da3544e02e6d36493669bdc}{CLK\_PIN}}\ =\ GPIO\_PIN\_5;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3f3748103a0b7861f6700042fd691ba1}{CLK\_GPIO\_AlternageFunc}}\ =\ GPIO\_AF5\_SPI1;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0d55a2941854f61934487f3d209cfa95}{MISO\_GPIOx}}\ =\ GPIOA;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3366c654d7ec6dd41c6a0b504dc8509a}{MISO\_PIN}}\ =\ GPIO\_PIN\_6;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_aecd7a5c6e205335b8ed229d74cd35d14}{MISO\_GPIO\_AlternageFunc}}\ =\ GPIO\_AF5\_SPI1;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0af3bdb273818ff97eb4ff3cff918820}{MOSI\_GPIOx}}\ =\ GPIOA;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a961208869faf4a7369aaf4edde75f176}{MOSI\_PIN}}\ =\ GPIO\_PIN\_7;}
|
||||
\DoxyCodeLine{\ \ \ \ mySPI.\mbox{\hyperlink{struct_s_p_i___settings_type_def_afbe75a1c36650a4a9b41fa706a4c7eab}{MOSI\_GPIO\_AlternageFunc}}\ =\ GPIO\_AF5\_SPI1;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Инициализация\ SPI}}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{if}(\mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga0e177e3c57a8fcdc73b5602e72ec66ba}{SPI\_Base\_Init}}(\&mySPI)\ !=\ HAL\_OK)}
|
||||
\DoxyCodeLine{\ \ \ \ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{comment}{//\ Обработка\ ошибки}}
|
||||
\DoxyCodeLine{\ \ \ \ \}}
|
||||
\DoxyCodeLine{\}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
|
||||
\begin{DoxyCodeInclude}{0}
|
||||
|
||||
\end{DoxyCodeInclude}
|
||||
|
||||
4
Doc/latex/examples.tex
Normal file
@ -0,0 +1,4 @@
|
||||
\doxysection{Examples}
|
||||
Here is a list of all examples\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{_s_p_i__usage__example-example}{SPI\+\_\+\+Usage\+\_\+\+Example}}\end{DoxyCompactItemize}
|
||||
79
Doc/latex/general__spi_8c.tex
Normal file
@ -0,0 +1,79 @@
|
||||
\doxysection{E\+:/.WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs\+General/\+Src/general\+\_\+spi.c File Reference}
|
||||
\hypertarget{general__spi_8c}{}\label{general__spi_8c}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Src/general\_spi.c@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Src/general\_spi.c}}
|
||||
|
||||
|
||||
Модуль для инициализации SPI.
|
||||
|
||||
|
||||
{\ttfamily \#include "{}general\+\_\+spi.\+h"{}}\newline
|
||||
{\ttfamily \#include "{}general\+\_\+gpio.\+h"{}}\newline
|
||||
Include dependency graph for general\+\_\+spi.\+c\+:\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=250pt]{general__spi_8c__incl}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga0e177e3c57a8fcdc73b5602e72ec66ba}{SPI\+\_\+\+Base\+\_\+\+Init}} (\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}sspi)
|
||||
\begin{DoxyCompactList}\small\item\em Инициализация SPI с помощью структуры \doxylink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{general__spi_8c_ae80d21e5cab86571709a2619442733b5}{SPI\+\_\+\+GPIO\+\_\+\+Init}} (\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}sspi)
|
||||
\begin{DoxyCompactList}\small\item\em Инициализация GPIO для SPI. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{general__spi_8c_abb78b8bd5303e88f969694e6fe03c411}{SPI\+\_\+\+DMA\+\_\+\+Init}} (SPI\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}hspi, DMA\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}hdma\+\_\+rx, DMA\+\_\+\+Stream\+\_\+\+Type\+Def \texorpdfstring{$\ast$}{*}DMAChannel, uint32\+\_\+t DMA\+\_\+\+CHANNEL\+\_\+X)
|
||||
\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}} (SPI\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}hspi)
|
||||
\begin{DoxyCompactList}\small\item\em Настройка тактирования и прерываний SPI. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gac279cc3eaa35541edfe330a1844a85e4}{SPI\+\_\+\+Msp\+De\+Init}} (SPI\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}hspi)
|
||||
\begin{DoxyCompactList}\small\item\em Деинициализация тактирования и прерываний SPI. \end{DoxyCompactList}\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga333dd251bc878931086d48aa932b1a5f}{SPI\+\_\+\+Check\+\_\+\+Init\+\_\+\+Struct}} (\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}sspi)
|
||||
\begin{DoxyCompactList}\small\item\em Проверка корректности структуры инициализации SPI. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Модуль для инициализации SPI.
|
||||
|
||||
Реализация функций для работы с SPI\+:
|
||||
\begin{DoxyItemize}
|
||||
\item Инициализация SPI и его линий CLK/\+MISO/\+MOSI
|
||||
\item Настройка GPIO для SPI
|
||||
\item Настройка NVIC и тактирования SPI
|
||||
\end{DoxyItemize}
|
||||
|
||||
Definition in file \mbox{\hyperlink{general__spi_8c_source}{general\+\_\+spi.\+c}}.
|
||||
|
||||
|
||||
|
||||
\label{doc-func-members}
|
||||
\Hypertarget{general__spi_8c_doc-func-members}
|
||||
\doxysubsection{Function Documentation}
|
||||
\Hypertarget{general__spi_8c_ae80d21e5cab86571709a2619442733b5}\index{general\_spi.c@{general\_spi.c}!SPI\_GPIO\_Init@{SPI\_GPIO\_Init}}
|
||||
\index{SPI\_GPIO\_Init@{SPI\_GPIO\_Init}!general\_spi.c@{general\_spi.c}}
|
||||
\doxysubsubsection{\texorpdfstring{SPI\_GPIO\_Init()}{SPI\_GPIO\_Init()}}
|
||||
{\footnotesize\ttfamily \label{general__spi_8c_ae80d21e5cab86571709a2619442733b5}
|
||||
void SPI\+\_\+\+GPIO\+\_\+\+Init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{sspi}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Инициализация GPIO для SPI.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em sspi} & Указатель на структуру с настройками SPI. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__spi_8c_source_l00058}{58}} of file \mbox{\hyperlink{general__spi_8c_source}{general\+\_\+spi.\+c}}.
|
||||
|
||||
\Hypertarget{general__spi_8c_abb78b8bd5303e88f969694e6fe03c411}\index{general\_spi.c@{general\_spi.c}!SPI\_DMA\_Init@{SPI\_DMA\_Init}}
|
||||
\index{SPI\_DMA\_Init@{SPI\_DMA\_Init}!general\_spi.c@{general\_spi.c}}
|
||||
\doxysubsubsection{\texorpdfstring{SPI\_DMA\_Init()}{SPI\_DMA\_Init()}}
|
||||
{\footnotesize\ttfamily \label{general__spi_8c_abb78b8bd5303e88f969694e6fe03c411}
|
||||
void SPI\+\_\+\+DMA\+\_\+\+Init (\begin{DoxyParamCaption}\item[{SPI\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{hspi}{, }\item[{DMA\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{hdma\+\_\+rx}{, }\item[{DMA\+\_\+\+Stream\+\_\+\+Type\+Def \texorpdfstring{$\ast$}{*}}]{DMAChannel}{, }\item[{uint32\+\_\+t}]{DMA\+\_\+\+CHANNEL\+\_\+X}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__spi_8c_source_l00089}{89}} of file \mbox{\hyperlink{general__spi_8c_source}{general\+\_\+spi.\+c}}.
|
||||
|
||||
1
Doc/latex/general__spi_8c__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
2ef78bca7433c0859e5f0181551ac011
|
||||
BIN
Doc/latex/general__spi_8c__incl.pdf
Normal file
290
Doc/latex/general__spi_8c_source.tex
Normal file
@ -0,0 +1,290 @@
|
||||
\doxysection{general\+\_\+spi.\+c}
|
||||
\hypertarget{general__spi_8c_source}{}\label{general__spi_8c_source}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Src/general\_spi.c@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Src/general\_spi.c}}
|
||||
\mbox{\hyperlink{general__spi_8c}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00001}00001\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00002}00002\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00003}00003\ \textcolor{comment}{*\ @file\ general\_spi.c}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00004}00004\ \textcolor{comment}{*\ @brief\ Модуль\ для\ инициализации\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00005}00005\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00006}00006\ \textcolor{comment}{Реализация\ функций\ для\ работы\ с\ SPI:}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00007}00007\ \textcolor{comment}{\ \ -\/\ Инициализация\ SPI\ и\ его\ линий\ CLK/MISO/MOSI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00008}00008\ \textcolor{comment}{\ \ -\/\ Настройка\ GPIO\ для\ SPI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00009}00009\ \textcolor{comment}{\ \ -\/\ Настройка\ NVIC\ и\ тактирования\ SPI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00010}00010\ \textcolor{comment}{**************************************************************************/}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00011}00011\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{general__spi_8h}{general\_spi.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00012}00012\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{general__gpio_8h}{general\_gpio.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00013}00013\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00014}00014\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00015}00015\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/SPI\ INIT\ FUNCTIONS-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00016}00016\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00017}00017\ \textcolor{comment}{\ \ *\ @brief\ \ Инициализация\ SPI\ с\ помощью\ структуры\ SPI\_SettingsTypeDef.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00018}00018\ \textcolor{comment}{\ \ *\ @param\ \ sspi\ Указатель\ на\ структуру\ с\ настройками\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00019}00019\ \textcolor{comment}{\ \ *\ @return\ HAL\ status.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00020}00020\ \textcolor{comment}{\ \ *\ @details\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00021}00021\ \textcolor{comment}{\ \ *\ Инициализирует\ SPI\ и\ его\ GPIO.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00022}00022\ \textcolor{comment}{\ \ *\ Настройка\ аналогична\ HAL\_SPI\_Init\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00023}00023\ \textcolor{comment}{\ \ *\ @code}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00024}00024\ \textcolor{comment}{\ \ *\ suart.hspi.Init...}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00025}00025\ \textcolor{comment}{\ \ *\ @endcode\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00026}00026\ \textcolor{comment}{\ \ *\ но\ дополнительно\ надо\ прописать\ пины\ CLK/MISO/MOSI\ @ref\ SPI\_SettingsTypeDef}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00027}00027\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00028}\mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga0e177e3c57a8fcdc73b5602e72ec66ba}{00028}}\ HAL\_StatusTypeDef\ \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga0e177e3c57a8fcdc73b5602e72ec66ba}{SPI\_Base\_Init}}(\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\_SettingsTypeDef}}\ *sspi)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00029}00029\ \{\ \textcolor{comment}{//\ function\ takes\ setting\ structure\ for\ init}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00030}00030\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00031}00031\ \ \ \textcolor{comment}{//\ check\ is\ settings\ are\ valid}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00032}00032\ \ \ \textcolor{keywordflow}{if}(\mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga333dd251bc878931086d48aa932b1a5f}{SPI\_Check\_Init\_Struct}}(sspi)\ !=\ HAL\_OK)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00033}00033\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00034}00034\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00035}00035\ \ \ \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\_MspInit}}(\&sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}});\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00036}00036\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00037}00037\ \ \ \textcolor{keywordflow}{if}\ (HAL\_SPI\_Init(\&sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}})\ !=\ HAL\_OK)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00038}00038\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00039}00039\ \ \ \ \ \mbox{\hyperlink{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_gae110df81afd885a390bbeb152d7b709f}{MyLibs\_Error\_Handler}}();}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00040}00040\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00041}00041\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00042}00042\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00043}00043\ \ \ \textcolor{comment}{//\ init\ gpio\ from\ SPISettings\ structure}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00044}00044\ \ \ \mbox{\hyperlink{general__spi_8c_ae80d21e5cab86571709a2619442733b5}{SPI\_GPIO\_Init}}(sspi);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00045}00045\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00046}00046\ \textcolor{comment}{//\ \ //\ init\ dma\ from\ SPISettings\ structure\ if\ need}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00047}00047\ \textcolor{comment}{//\ \ if\ (sspi-\/>DMAChannel\ !=\ 0)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00048}00048\ \textcolor{comment}{//\ \ \ \ SPI\_DMA\_Init(\&sspi-\/>hspi,\ sspi-\/>hspi.hdmarx,\ sspi-\/>DMAChannel,\ sspi-\/>DMA\_CHANNEL\_X);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00049}00049\ \ \ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00050}00050\ \ \ \textcolor{keywordflow}{return}\ HAL\_OK;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00051}00051\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00052}00052\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00053}00053\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00054}00054\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00055}00055\ \textcolor{comment}{\ \ *\ @brief\ \ Инициализация\ GPIO\ для\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00056}00056\ \textcolor{comment}{\ \ *\ @param\ \ sspi\ Указатель\ на\ структуру\ с\ настройками\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00057}00057\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00058}\mbox{\hyperlink{general__spi_8c_ae80d21e5cab86571709a2619442733b5}{00058}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{general__spi_8c_ae80d21e5cab86571709a2619442733b5}{SPI\_GPIO\_Init}}(\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\_SettingsTypeDef}}\ *sspi)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00059}00059\ \{\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00060}00060\ \ \ GPIO\_InitTypeDef\ GPIO\_InitStruct\ =\ \{0\};\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00061}00061\ \ \ \textcolor{comment}{//\ GPIO\ INIT\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00062}00062\ \ \ \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l_ga962f010f783b81fcdd27eb6b53db28e6}{GPIO\_Clock\_Enable}}(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a6a15d48eccf92959de3a086031fdc979}{CLK\_GPIOx}});}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00063}00063\ \ \ \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l_ga962f010f783b81fcdd27eb6b53db28e6}{GPIO\_Clock\_Enable}}(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0d55a2941854f61934487f3d209cfa95}{MISO\_GPIOx}});}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00064}00064\ \ \ \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l_ga962f010f783b81fcdd27eb6b53db28e6}{GPIO\_Clock\_Enable}}(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0af3bdb273818ff97eb4ff3cff918820}{MOSI\_GPIOx}});\ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00065}00065\ \ \ \ \ \textcolor{comment}{//\ CLK\ PIN\ INIT}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00066}00066\ \ \ GPIO\_InitStruct.Pin\ =\ sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3bcb1ed12da3544e02e6d36493669bdc}{CLK\_PIN}};}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00067}00067\ \ \ GPIO\_InitStruct.Alternate\ =\ sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3f3748103a0b7861f6700042fd691ba1}{CLK\_GPIO\_AlternageFunc}};}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00068}00068\ \ \ GPIO\_InitStruct.Mode\ =\ GPIO\_MODE\_AF\_PP;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00069}00069\ \ \ GPIO\_InitStruct.Pull\ =\ GPIO\_NOPULL;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00070}00070\ \ \ GPIO\_InitStruct.Speed\ =\ GPIO\_SPEED\_FREQ\_VERY\_HIGH;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00071}00071\ \ \ HAL\_GPIO\_Init(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a6a15d48eccf92959de3a086031fdc979}{CLK\_GPIOx}},\ \&GPIO\_InitStruct);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00072}00072\ \ \ \textcolor{comment}{//\ MISO\ PIN\ INIT}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00073}00073\ \ \ GPIO\_InitStruct.Pin\ =\ sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3366c654d7ec6dd41c6a0b504dc8509a}{MISO\_PIN}};}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00074}00074\ \ \ GPIO\_InitStruct.Alternate\ =\ sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_aecd7a5c6e205335b8ed229d74cd35d14}{MISO\_GPIO\_AlternageFunc}};}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00075}00075\ \ \ GPIO\_InitStruct.Mode\ =\ GPIO\_MODE\_AF\_PP;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00076}00076\ \ \ GPIO\_InitStruct.Pull\ =\ GPIO\_NOPULL;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00077}00077\ \ \ GPIO\_InitStruct.Speed\ =\ GPIO\_SPEED\_FREQ\_VERY\_HIGH;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00078}00078\ \ \ HAL\_GPIO\_Init(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0d55a2941854f61934487f3d209cfa95}{MISO\_GPIOx}},\ \&GPIO\_InitStruct);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00079}00079\ \ \ \textcolor{comment}{//\ MOSI\ PIN\ INIT}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00080}00080\ \ \ GPIO\_InitStruct.Pin\ =\ sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a961208869faf4a7369aaf4edde75f176}{MOSI\_PIN}};}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00081}00081\ \ \ GPIO\_InitStruct.Alternate\ =\ sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_afbe75a1c36650a4a9b41fa706a4c7eab}{MOSI\_GPIO\_AlternageFunc}};}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00082}00082\ \ \ GPIO\_InitStruct.Mode\ =\ GPIO\_MODE\_AF\_PP;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00083}00083\ \ \ GPIO\_InitStruct.Pull\ =\ GPIO\_NOPULL;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00084}00084\ \ \ GPIO\_InitStruct.Speed\ =\ GPIO\_SPEED\_FREQ\_VERY\_HIGH;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00085}00085\ \ \ HAL\_GPIO\_Init(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0af3bdb273818ff97eb4ff3cff918820}{MOSI\_GPIOx}},\ \&GPIO\_InitStruct);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00086}00086\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00087}00087\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00088}00088\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00089}00089\ \textcolor{keywordtype}{void}\ SPI\_DMA\_Init(SPI\_HandleTypeDef\ *hspi,\ DMA\_HandleTypeDef\ *hdma\_rx,\ DMA\_Stream\_TypeDef\ *DMAChannel,\ uint32\_t\ DMA\_CHANNEL\_X)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00090}00090\ \{\ \textcolor{comment}{//\ function\ takes\ spi\ and\ dma\ handlers\ and\ dmachannel\ for\ spi}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00091}00091\ \textcolor{comment}{//\ \ //\ for\ now\ only\ dma\ rx\ is\ supported,\ tx\ maybe\ later\ if\ needed}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00092}00092\ \textcolor{comment}{//\ \ \ \ //\ calc\ defines\ on\ boot\_project\_setup.h}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00093}00093\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00094}00094\ \textcolor{comment}{//\ \ /*\ SPI3\ DMA\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00095}00095\ \textcolor{comment}{//\ \ /*\ SPI3\_RX\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00096}00096\ \textcolor{comment}{//\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00097}00097\ \textcolor{comment}{//\ \ hdma\_rx-\/>Instance\ =\ DMAChannel;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00098}00098\ \textcolor{comment}{//\#if\ defined(STM32F4xx)\ //\ dma\ channel\ choose\ for\ 407}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00099}00099\ \textcolor{comment}{//\ \ hdma\_rx-\/>Init.Channel\ =\ DMA\_CHANNEL\_X;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00100}00100\ \textcolor{comment}{//\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00101}00101\ \textcolor{comment}{//\ \ hdma\_rx-\/>Init.Direction\ =\ DMA\_PERIPH\_TO\_MEMORY;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00102}00102\ \textcolor{comment}{//\ \ hdma\_rx-\/>Init.PeriphInc\ =\ DMA\_PINC\_DISABLE;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00103}00103\ \textcolor{comment}{//\ \ hdma\_rx-\/>Init.MemInc\ =\ DMA\_MINC\_ENABLE;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00104}00104\ \textcolor{comment}{//\ \ hdma\_rx-\/>Init.PeriphDataAlignment\ =\ DMA\_PDATAALIGN\_BYTE;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00105}00105\ \textcolor{comment}{//\ \ hdma\_rx-\/>Init.MemDataAlignment\ =\ DMA\_MDATAALIGN\_BYTE;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00106}00106\ \textcolor{comment}{//\ \ hdma\_rx-\/>Init.Mode\ =\ DMA\_CIRCULAR;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00107}00107\ \textcolor{comment}{//\ \ hdma\_rx-\/>Init.Priority\ =\ DMA\_PRIORITY\_LOW;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00108}00108\ \textcolor{comment}{//\ \ if\ (HAL\_DMA\_Init(hdma\_rx)\ !=\ HAL\_OK)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00109}00109\ \textcolor{comment}{//\ \ \{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00110}00110\ \textcolor{comment}{//\ \ \ \ MyLibs\_Error\_Handler();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00111}00111\ \textcolor{comment}{//\ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00112}00112\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00113}00113\ \textcolor{comment}{//\ \ \_\_USER\_LINKDMA(hspi,hdmarx,hdma\_rx);\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00114}00114\ \textcolor{comment}{//\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00115}00115\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00116}00116\ \textcolor{comment}{//\ \ //\ \_\_USER\_LINKDMA\ is\ need\ because\ \_\_HAL\_LINKDMA\ is\ written\ for\ global\ defined\ hdma\_rx}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00117}00117\ \textcolor{comment}{//\ \ //\ so\ you\ get\ error\ because\ hal\ uses\ .\ insted\ of\ -\/>}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00118}00118\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00119}00119\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00120}00120\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00121}00121\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00122}00122\ \textcolor{comment}{\ \ *\ @brief\ \ Настройка\ тактирования\ и\ прерываний\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00123}00123\ \textcolor{comment}{\ \ *\ @param\ \ hspi\ Указатель\ на\ хендл\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00124}00124\ \textcolor{comment}{\ \ *\ @note\ \ \ Чтобы\ не\ генерировать\ функцию\ с\ иницилизацией\ неиспользуемых\ SPI,}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00125}00125\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ дефайнами\ @ref\ SPI\_INIT\ в\ @ref\ general\_spi.h\ определяются\ используемые\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00126}00126\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00127}\mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{00127}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\_MspInit}}(SPI\_HandleTypeDef\ *hspi)\ \textcolor{comment}{//\ analog\ for\ hal\ function}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00128}00128\ \{\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00129}00129\ \ \ \textcolor{comment}{//\ rcc,\ dma\ and\ interrupt\ init\ for\ SPIs}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00130}00130\ \ \ \textcolor{comment}{//\ GPIO\ init\ was\ moved\ to\ own\ functions\ SPI\_GPIO\_Init\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00131}00131\ \ \ \textcolor{keywordflow}{if}(0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00132}00132\ \textcolor{preprocessor}{\#ifdef\ USE\_SPI1}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00133}00133\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(hspi-\/>Instance==SPI1)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00134}00134\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00135}00135\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00136}00136\ \textcolor{comment}{//\ \ /*\ DMA2\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00137}00137\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA2\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00138}00138\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00139}00139\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA2\_Stream2\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00140}00140\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA2\_Stream2\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00141}00141\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00142}00142\ \ \ \textcolor{comment}{/*\ SPI1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00143}00143\ \ \ \_\_HAL\_RCC\_SPI1\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00144}00144\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00145}00145\ \ \ \textcolor{comment}{/*\ SPI1\ interrupt\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00146}00146\ \ \ HAL\_NVIC\_SetPriority(SPI1\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00147}00147\ \ \ HAL\_NVIC\_EnableIRQ(SPI1\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00148}00148\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00149}00149\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_SPI1}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00150}00150\ \textcolor{preprocessor}{\#ifdef\ USE\_SPI2}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00151}00151\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(hspi-\/>Instance==SPI2)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00152}00152\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00153}00153\ \textcolor{comment}{//\ \ /*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00154}00154\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00155}00155\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00156}00156\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA1\_Stream5\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00157}00157\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream5\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00158}00158\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00159}00159\ \ \ \textcolor{comment}{/*\ SPI2\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00160}00160\ \ \ \_\_HAL\_RCC\_SPI2\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00161}00161\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00162}00162\ \ \ \textcolor{comment}{/*\ SPI2\ interrupt\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00163}00163\ \ \ HAL\_NVIC\_SetPriority(SPI2\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00164}00164\ \ \ HAL\_NVIC\_EnableIRQ(SPI2\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00165}00165\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00166}00166\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_SPI2}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00167}00167\ \textcolor{preprocessor}{\#ifdef\ USE\_SPI3}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00168}00168\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(hspi-\/>Instance==SPI3)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00169}00169\ \ \ \{\ \ \ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00170}00170\ \textcolor{comment}{//\ \ /*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00171}00171\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00172}00172\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00173}00173\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA1\_Stream1\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00174}00174\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream1\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00175}00175\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00176}00176\ \ \ \textcolor{comment}{/*\ SPI3\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00177}00177\ \ \ \_\_HAL\_RCC\_SPI3\_CLK\_ENABLE();\ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00178}00178\ \ \ \textcolor{comment}{/*\ SPI3\ interrupt\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00179}00179\ \ \ HAL\_NVIC\_SetPriority(SPI3\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00180}00180\ \ \ HAL\_NVIC\_EnableIRQ(SPI3\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00181}00181\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00182}00182\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_SPI3}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00183}00183\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00184}00184\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00185}00185\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00186}00186\ \textcolor{comment}{\ \ *\ @brief\ \ Деинициализация\ тактирования\ и\ прерываний\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00187}00187\ \textcolor{comment}{\ \ *\ @param\ \ hspi\ Указатель\ на\ хендл\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00188}00188\ \textcolor{comment}{\ \ *\ @note\ \ \ Чтобы\ не\ генерировать\ функцию\ с\ иницилизацией\ неиспользуемых\ SPI,}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00189}00189\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ дефайнами\ @ref\ SPI\_INIT\ в\ @ref\ general\_spi.h\ определяются\ используемые\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00190}00190\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00191}\mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gac279cc3eaa35541edfe330a1844a85e4}{00191}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gac279cc3eaa35541edfe330a1844a85e4}{SPI\_MspDeInit}}(SPI\_HandleTypeDef\ *hspi)\ \textcolor{comment}{//\ analog\ for\ hal\ function}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00192}00192\ \{\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00193}00193\ \ \ \textcolor{comment}{//\ rcc,\ dma\ and\ interrupt\ init\ for\ SPIs}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00194}00194\ \ \ \textcolor{comment}{//\ GPIO\ init\ was\ moved\ to\ own\ functions\ SPI\_GPIO\_Init\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00195}00195\ \ \ \textcolor{keywordflow}{if}(0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00196}00196\ \textcolor{preprocessor}{\#ifdef\ USE\_SPI1}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00197}00197\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(hspi-\/>Instance==SPI1)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00198}00198\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00199}00199\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00200}00200\ \textcolor{comment}{//\ \ /*\ DMA2\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00201}00201\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA2\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00202}00202\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00203}00203\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA2\_Stream2\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00204}00204\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA2\_Stream2\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00205}00205\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00206}00206\ \ \ \textcolor{comment}{/*\ SPI1\ clock\ reset\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00207}00207\ \ \ \_\_HAL\_RCC\_SPI1\_FORCE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00208}00208\ \ \ \_\_HAL\_RCC\_SPI1\_RELEASE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00209}00209\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00210}00210\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_SPI1}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00211}00211\ \textcolor{preprocessor}{\#ifdef\ USE\_SPI2}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00212}00212\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(hspi-\/>Instance==SPI2)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00213}00213\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00214}00214\ \textcolor{comment}{//\ \ /*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00215}00215\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00216}00216\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00217}00217\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA1\_Stream5\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00218}00218\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream5\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00219}00219\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00220}00220\ \ \ \textcolor{comment}{/*\ SPI2\ clock\ reset\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00221}00221\ \ \ \_\_HAL\_RCC\_SPI2\_FORCE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00222}00222\ \ \ \_\_HAL\_RCC\_SPI2\_RELEASE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00223}00223\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00224}00224\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_SPI2}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00225}00225\ \textcolor{preprocessor}{\#ifdef\ USE\_SPI3}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00226}00226\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(hspi-\/>Instance==SPI3)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00227}00227\ \ \ \{\ \ \ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00228}00228\ \textcolor{comment}{//\ \ /*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00229}00229\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00230}00230\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00231}00231\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA1\_Stream1\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00232}00232\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream1\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00233}00233\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00234}00234\ \ \ \textcolor{comment}{/*\ SPI3\ clock\ reset\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00235}00235\ \ \ \_\_HAL\_RCC\_SPI3\_FORCE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00236}00236\ \ \ \_\_HAL\_RCC\_SPI3\_RELEASE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00237}00237\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00238}00238\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_SPI3}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00239}00239\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00240}00240\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00241}00241\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00242}00242\ \textcolor{comment}{\ \ *\ @brief\ \ Проверка\ корректности\ структуры\ инициализации\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00243}00243\ \textcolor{comment}{\ \ *\ @param\ \ sspi\ Указатель\ на\ структуру\ с\ настройками\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00244}00244\ \textcolor{comment}{\ \ *\ @return\ HAL\ status.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00245}00245\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00246}\mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga333dd251bc878931086d48aa932b1a5f}{00246}}\ HAL\_StatusTypeDef\ \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga333dd251bc878931086d48aa932b1a5f}{SPI\_Check\_Init\_Struct}}(\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\_SettingsTypeDef}}\ *sspi)}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00247}00247\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00248}00248\ \ \ \textcolor{comment}{//\ check\ is\ settings\ are\ valid}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00249}00249\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_ALL\_INSTANCE(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Instance))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00250}00250\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00251}00251\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00252}00252\ \ \ \textcolor{comment}{//\ check\ init\ settings}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00253}00253\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_MODE(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.Mode))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00254}00254\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00255}00255\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_DIRECTION(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.Direction))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00256}00256\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00257}00257\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_DATASIZE(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.DataSize))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00258}00258\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00259}00259\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_BAUDRATE\_PRESCALER(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.BaudRatePrescaler))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00260}00260\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00261}00261\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_CPOL(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.CLKPolarity))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00262}00262\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00263}00263\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_CPHA(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.CLKPhase))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00264}00264\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00265}00265\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_NSS(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.NSS))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00266}00266\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00267}00267\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_FIRST\_BIT(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.FirstBit))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00268}00268\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00269}00269\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_CRC\_CALCULATION(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.CRCCalculation))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00270}00270\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00271}00271\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_CRC\_POLYNOMIAL(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.NSS)\ \&\&\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00272}00272\ \ \ \ \ (sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.CRCCalculation\ !=\ SPI\_CRCCALCULATION\_DISABLE))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00273}00273\ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00274}00274\ \ \ \textcolor{keywordflow}{if}\ (!IS\_SPI\_TIMODE(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.TIMode))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00275}00275\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00276}00276\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00277}00277\ \ \ \textcolor{comment}{//\ check\ gpio}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00278}00278\ \ \ \textcolor{keywordflow}{if}\ (!IS\_GPIO\_ALL\_INSTANCE(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a6a15d48eccf92959de3a086031fdc979}{CLK\_GPIOx}})\ ||\ !IS\_GPIO\_ALL\_INSTANCE(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0d55a2941854f61934487f3d209cfa95}{MISO\_GPIOx}})\ ||\ !IS\_GPIO\_ALL\_INSTANCE(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0af3bdb273818ff97eb4ff3cff918820}{MOSI\_GPIOx}}))}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00279}00279\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00280}00280\ \ \ \textcolor{keywordflow}{if}\ (!IS\_GPIO\_PIN(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3bcb1ed12da3544e02e6d36493669bdc}{CLK\_PIN}})\ \&\&\ !IS\_GPIO\_PIN(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3366c654d7ec6dd41c6a0b504dc8509a}{MISO\_PIN}})\ \&\&\ !IS\_GPIO\_PIN(sspi-\/>\mbox{\hyperlink{struct_s_p_i___settings_type_def_a961208869faf4a7369aaf4edde75f176}{MOSI\_PIN}}))\ \textcolor{comment}{//\ if\ both\ pins\ arent\ set\ up}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00281}00281\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00282}00282\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00283}00283\ \ \ \textcolor{keywordflow}{return}\ HAL\_OK;}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8c_source_l00284}00284\ \}}
|
||||
|
||||
\end{DoxyCode}
|
||||
58
Doc/latex/general__spi_8h.tex
Normal file
@ -0,0 +1,58 @@
|
||||
\doxysection{E\+:/.WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs\+General/\+Inc/general\+\_\+spi.h File Reference}
|
||||
\hypertarget{general__spi_8h}{}\label{general__spi_8h}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Inc/general\_spi.h@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Inc/general\_spi.h}}
|
||||
|
||||
|
||||
Заголовочный файл для модуля инициализации SPI.
|
||||
|
||||
|
||||
{\ttfamily \#include "{}mylibs\+\_\+defs.\+h"{}}\newline
|
||||
Include dependency graph for general\+\_\+spi.\+h\+:\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=229pt]{general__spi_8h__incl}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
This graph shows which files directly or indirectly include this file\+:\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=229pt]{general__spi_8h__dep__incl}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}}
|
||||
\begin{DoxyCompactList}\small\item\em Структура настроек SPI. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___s_p_i___i_n_i_t_ga8ad4712bf4add56892d057778e826e0c}{HAL\+\_\+\+SPI\+\_\+\+MODULE\+\_\+\+ENABLED}}
|
||||
\begin{DoxyCompactList}\small\item\em Включение HAL SPI. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___s_p_i___i_n_i_t_ga2fe0c8aeb2c61679f32836fef479eedf}{USE\+\_\+\+SPI1}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить SPI1 в \doxylink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___s_p_i___i_n_i_t_ga53687cddb8e39e76a79b8ffaa152fb2b}{USE\+\_\+\+SPI2}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить SPI2 в \doxylink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___s_p_i___i_n_i_t_ga5fdd6e5934a8005ef05b80f6d95883dc}{USE\+\_\+\+SPI3}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить SPI3 в \doxylink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga0e177e3c57a8fcdc73b5602e72ec66ba}{SPI\+\_\+\+Base\+\_\+\+Init}} (\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}sspi)
|
||||
\begin{DoxyCompactList}\small\item\em Инициализация SPI с помощью структуры \doxylink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}. \end{DoxyCompactList}\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga333dd251bc878931086d48aa932b1a5f}{SPI\+\_\+\+Check\+\_\+\+Init\+\_\+\+Struct}} (\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}sspi)
|
||||
\begin{DoxyCompactList}\small\item\em Проверка корректности структуры инициализации SPI. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}} (SPI\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}hspi)
|
||||
\begin{DoxyCompactList}\small\item\em Настройка тактирования и прерываний SPI. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gac279cc3eaa35541edfe330a1844a85e4}{SPI\+\_\+\+Msp\+De\+Init}} (SPI\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}hspi)
|
||||
\begin{DoxyCompactList}\small\item\em Деинициализация тактирования и прерываний SPI. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Заголовочный файл для модуля инициализации SPI.
|
||||
|
||||
|
||||
|
||||
Definition in file \mbox{\hyperlink{general__spi_8h_source}{general\+\_\+spi.\+h}}.
|
||||
|
||||
1
Doc/latex/general__spi_8h__dep__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
fea888aee51476403223144bb4236fba
|
||||
BIN
Doc/latex/general__spi_8h__dep__incl.pdf
Normal file
1
Doc/latex/general__spi_8h__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
8a3d826e5468561d84d56e799c52cb0a
|
||||
BIN
Doc/latex/general__spi_8h__incl.pdf
Normal file
176
Doc/latex/general__spi_8h_source.tex
Normal file
@ -0,0 +1,176 @@
|
||||
\doxysection{general\+\_\+spi.\+h}
|
||||
\hypertarget{general__spi_8h_source}{}\label{general__spi_8h_source}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Inc/general\_spi.h@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Inc/general\_spi.h}}
|
||||
\mbox{\hyperlink{general__spi_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00001}00001\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00002}00002\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00003}00003\ \textcolor{comment}{*\ @file\ general\_spi.h}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00004}00004\ \textcolor{comment}{*\ @brief\ Заголовочный\ файл\ для\ модуля\ инициализации\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00005}00005\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00006}00006\ \textcolor{comment}{*\ @defgroup\ MY\_LIBS\_SPI\ \ \ \ \ \ SPI\ Tools}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00007}00007\ \textcolor{comment}{*\ @ingroup\ \ MYLIBS\_PERIPHERAL}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00008}00008\ \textcolor{comment}{*\ @brief\ \ \ \ Функции\ и\ макросы\ для\ удобной\ работы\ с\ SPI.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00009}00009\ \textcolor{comment}{*\ @details}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00010}00010\ \textcolor{comment}{Модуль\ предоставляет\ функции\ для\ базовой\ инициализации\ SPI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00011}00011\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00012}00012\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00013}00013\ \textcolor{comment}{@par\ Пример\ использования:}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00014}00014\ \textcolor{comment}{@code}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00015}00015\ \textcolor{comment}{//\ Структура\ настроек\ SPI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00016}00016\ \textcolor{comment}{SPI\_SettingsTypeDef\ spi1Settings;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00017}00017\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00018}00018\ \textcolor{comment}{void\ SPI1\_Init(void)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00019}00019\ \textcolor{comment}{\{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00020}00020\ \textcolor{comment}{\ \ \ \ //\ Настройка\ SPI1\ как\ Master,\ 8\ бит,\ полный\ дуплекс}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00021}00021\ \textcolor{comment}{\ \ \ \ spi1Settings.hspi.Instance\ =\ SPI1;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00022}00022\ \textcolor{comment}{\ \ \ \ spi1Settings.hspi.Init.Mode\ =\ SPI\_MODE\_MASTER;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00023}00023\ \textcolor{comment}{\ \ \ \ spi1Settings.hspi.Init.Direction\ =\ SPI\_DIRECTION\_2LINES;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00024}00024\ \textcolor{comment}{\ \ \ \ spi1Settings.hspi.Init.DataSize\ =\ SPI\_DATASIZE\_8BIT;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00025}00025\ \textcolor{comment}{\ \ \ \ spi1Settings.hspi.Init.CLKPolarity\ =\ SPI\_POLARITY\_LOW;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00026}00026\ \textcolor{comment}{\ \ \ \ spi1Settings.hspi.Init.CLKPhase\ =\ SPI\_PHASE\_1EDGE;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00027}00027\ \textcolor{comment}{\ \ \ \ spi1Settings.hspi.Init.NSS\ =\ SPI\_NSS\_SOFT;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00028}00028\ \textcolor{comment}{\ \ \ \ spi1Settings.hspi.Init.BaudRatePrescaler\ =\ SPI\_BAUDRATEPRESCALER\_16;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00029}00029\ \textcolor{comment}{\ \ \ \ spi1Settings.hspi.Init.FirstBit\ =\ SPI\_FIRSTBIT\_MSB;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00030}00030\ \textcolor{comment}{\ \ \ \ spi1Settings.hspi.Init.TIMode\ =\ SPI\_TIMODE\_DISABLE;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00031}00031\ \textcolor{comment}{\ \ \ \ spi1Settings.hspi.Init.CRCCalculation\ =\ SPI\_CRCCALCULATION\_DISABLE;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00032}00032\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00033}00033\ \textcolor{comment}{\ \ \ \ //\ Настройка\ GPIO}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00034}00034\ \textcolor{comment}{\ \ \ \ spi1Settings.CLK\_GPIOx\ =\ GPIOA;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00035}00035\ \textcolor{comment}{\ \ \ \ spi1Settings.CLK\_PIN\ =\ GPIO\_PIN\_5;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00036}00036\ \textcolor{comment}{\ \ \ \ spi1Settings.CLK\_GPIO\_AlternageFunc\ =\ GPIO\_AF5\_SPI1;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00037}00037\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00038}00038\ \textcolor{comment}{\ \ \ \ spi1Settings.MISO\_GPIOx\ =\ GPIOA;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00039}00039\ \textcolor{comment}{\ \ \ \ spi1Settings.MISO\_PIN\ =\ GPIO\_PIN\_6;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00040}00040\ \textcolor{comment}{\ \ \ \ spi1Settings.MISO\_GPIO\_AlternageFunc\ =\ GPIO\_AF5\_SPI1;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00041}00041\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00042}00042\ \textcolor{comment}{\ \ \ \ spi1Settings.MOSI\_GPIOx\ =\ GPIOA;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00043}00043\ \textcolor{comment}{\ \ \ \ spi1Settings.MOSI\_PIN\ =\ GPIO\_PIN\_7;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00044}00044\ \textcolor{comment}{\ \ \ \ spi1Settings.MOSI\_GPIO\_AlternageFunc\ =\ GPIO\_AF5\_SPI1;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00045}00045\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00046}00046\ \textcolor{comment}{\ \ \ \ //\ Инициализация\ SPI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00047}00047\ \textcolor{comment}{\ \ \ \ if(SPI\_Base\_Init(\&spi1Settings)\ !=\ HAL\_OK)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00048}00048\ \textcolor{comment}{\ \ \ \ \{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00049}00049\ \textcolor{comment}{\ \ \ \ \ \ \ \ //\ Обработка\ ошибки}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00050}00050\ \textcolor{comment}{\ \ \ \ \ \ \ \ Error\_Handler();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00051}00051\ \textcolor{comment}{\ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00052}00052\ \textcolor{comment}{\}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00053}00053\ \textcolor{comment}{@endcode}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00054}00054\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00055}00055\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00056}00056\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00057}00057\ \textcolor{comment}{*\ \ @note\ Требуется\ подключение\ модуля\ SPI\ в\ библиотеке\ HAL\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00058}00058\ \textcolor{comment}{@code\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00059}00059\ \textcolor{comment}{\#define\ HAL\_SPI\_MODULE\_ENABLED}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00060}00060\ \textcolor{comment}{@endcode}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00061}00061\ \textcolor{comment}{*\ @\{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00062}00062\ \textcolor{comment}{*************************************************************************/}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00063}00063\ \textcolor{preprocessor}{\#ifndef\ \_\_SPI\_GENERAL\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00064}00064\ \textcolor{preprocessor}{\#define\ \_\_SPI\_GENERAL\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00065}00065\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00066}00066\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00067}00067\ \textcolor{comment}{/////////////////////////////////////////////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00068}00068\ \textcolor{comment}{/////////////////////////-\/-\/-\/USER\ SETTINGS-\/-\/-\//////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00069}00069\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00070}00070\ \textcolor{comment}{\ \ *\ @addtogroup\ SPI\_INIT\ Init\ defines}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00071}00071\ \textcolor{comment}{\ \ *\ @ingroup\ \ \ \ MY\_LIBS\_SPI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00072}00072\ \textcolor{comment}{\ \ *\ @brief\ \ \ \ \ \ Настройка\ SPI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00073}00073\ \textcolor{comment}{\ \ *\ @\{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00074}00074\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00075}\mbox{\hyperlink{group___s_p_i___i_n_i_t_ga8ad4712bf4add56892d057778e826e0c}{00075}}\ \textcolor{preprocessor}{\#define\ HAL\_SPI\_MODULE\_ENABLED\ \ \ }\textcolor{comment}{///<\ Включение\ HAL\ SPI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00076}00076\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00077}\mbox{\hyperlink{group___s_p_i___i_n_i_t_ga2fe0c8aeb2c61679f32836fef479eedf}{00077}}\ \textcolor{preprocessor}{\#define\ USE\_SPI1\ \ \ \ }\textcolor{comment}{///<\ Включить\ SPI1\ в\ @ref\ SPI\_MspInit}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00078}\mbox{\hyperlink{group___s_p_i___i_n_i_t_ga53687cddb8e39e76a79b8ffaa152fb2b}{00078}}\ \textcolor{preprocessor}{\#define\ USE\_SPI2\ \ \ \ }\textcolor{comment}{///<\ Включить\ SPI2\ в\ @ref\ SPI\_MspInit}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00079}\mbox{\hyperlink{group___s_p_i___i_n_i_t_ga5fdd6e5934a8005ef05b80f6d95883dc}{00079}}\ \textcolor{preprocessor}{\#define\ USE\_SPI3\ \ \ \ }\textcolor{comment}{///<\ Включить\ SPI3\ в\ @ref\ SPI\_MspInit}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00080}00080\ \textcolor{comment}{/**\ SPI\_INIT}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00081}00081\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00082}00082\ \textcolor{comment}{\ \ */}\textcolor{preprocessor}{}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00083}00083\ \textcolor{comment}{/////////////////////////-\/-\/-\/USER\ SETTINGS-\/-\/-\//////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00084}00084\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{mylibs__defs_8h}{mylibs\_defs.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00085}00085\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00086}00086\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00087}00087\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00088}00088\ \textcolor{comment}{/////////////////////////////////////////////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00089}00089\ \textcolor{comment}{////////////////////////////-\/-\/-\/DEFINES-\/-\/-\/////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00090}00090\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00091}00091\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00092}00092\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00093}00093\ \textcolor{comment}{////////////////////////////-\/-\/-\/DEFINES-\/-\/-\/////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00094}00094\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00095}00095\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00096}00096\ \textcolor{comment}{/////////////////////////////////////////////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00097}00097\ \textcolor{comment}{///////////////////////-\/-\/-\/STRUCTURES\ \&\ ENUMS-\/-\/-\///////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00098}00098\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00099}00099\ \textcolor{comment}{\ \ *\ @brief\ Структура\ настроек\ SPI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00100}00100\ \textcolor{comment}{\ \ *\ @details\ Содержит\ все\ необходимые\ параметры\ для\ инициализации\ SPI,}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00101}00101\ \textcolor{comment}{\ \ *\ включая\ GPIO\ и\ DMA.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00102}00102\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00103}\mbox{\hyperlink{struct_s_p_i___settings_type_def}{00103}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00104}00104\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00105}\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{00105}}\ \ \ SPI\_HandleTypeDef\ \mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ HAL\ handle\ SPI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00106}00106\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00107}\mbox{\hyperlink{struct_s_p_i___settings_type_def_a6a15d48eccf92959de3a086031fdc979}{00107}}\ \ \ GPIO\_TypeDef\ \ *\mbox{\hyperlink{struct_s_p_i___settings_type_def_a6a15d48eccf92959de3a086031fdc979}{CLK\_GPIOx}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Порт\ CLK}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00108}\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3bcb1ed12da3544e02e6d36493669bdc}{00108}}\ \ \ uint32\_t\ \ \ \ \ \ \mbox{\hyperlink{struct_s_p_i___settings_type_def_a3bcb1ed12da3544e02e6d36493669bdc}{CLK\_PIN}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Пин\ CLK}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00109}\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3f3748103a0b7861f6700042fd691ba1}{00109}}\ \ \ uint32\_t\ \ \ \ \ \ \mbox{\hyperlink{struct_s_p_i___settings_type_def_a3f3748103a0b7861f6700042fd691ba1}{CLK\_GPIO\_AlternageFunc}};\ \ \ \textcolor{comment}{///<\ Альтернативная\ функция\ для\ CLK}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00110}00110\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00111}\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0d55a2941854f61934487f3d209cfa95}{00111}}\ \ \ GPIO\_TypeDef\ \ *\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0d55a2941854f61934487f3d209cfa95}{MISO\_GPIOx}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Порт\ MISO}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00112}\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3366c654d7ec6dd41c6a0b504dc8509a}{00112}}\ \ \ uint32\_t\ \ \ \ \ \ \mbox{\hyperlink{struct_s_p_i___settings_type_def_a3366c654d7ec6dd41c6a0b504dc8509a}{MISO\_PIN}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Пин\ MISO}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00113}\mbox{\hyperlink{struct_s_p_i___settings_type_def_aecd7a5c6e205335b8ed229d74cd35d14}{00113}}\ \ \ uint32\_t\ \ \ \ \ \ \mbox{\hyperlink{struct_s_p_i___settings_type_def_aecd7a5c6e205335b8ed229d74cd35d14}{MISO\_GPIO\_AlternageFunc}};\ \ \textcolor{comment}{///<\ Альтернативная\ функция\ для\ MISO}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00114}00114\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00115}\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0af3bdb273818ff97eb4ff3cff918820}{00115}}\ \ \ GPIO\_TypeDef\ \ *\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0af3bdb273818ff97eb4ff3cff918820}{MOSI\_GPIOx}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Порт\ MOSI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00116}\mbox{\hyperlink{struct_s_p_i___settings_type_def_a961208869faf4a7369aaf4edde75f176}{00116}}\ \ \ uint32\_t\ \ \ \ \ \ \mbox{\hyperlink{struct_s_p_i___settings_type_def_a961208869faf4a7369aaf4edde75f176}{MOSI\_PIN}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Пин\ MOSI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00117}\mbox{\hyperlink{struct_s_p_i___settings_type_def_afbe75a1c36650a4a9b41fa706a4c7eab}{00117}}\ \ \ uint32\_t\ \ \ \ \ \ \mbox{\hyperlink{struct_s_p_i___settings_type_def_afbe75a1c36650a4a9b41fa706a4c7eab}{MOSI\_GPIO\_AlternageFunc}};\ \ \textcolor{comment}{///<\ Альтернативная\ функция\ для\ MOSI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00118}00118\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00119}\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3cfd9469b0617a68bbd2a161ba06bb95}{00119}}\ \ \ DMA\_Stream\_TypeDef\ *\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3cfd9469b0617a68bbd2a161ba06bb95}{DMAChannel}};\ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Канал\ DMA\ (NULL\ если\ не\ нужен)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00120}\mbox{\hyperlink{struct_s_p_i___settings_type_def_aa0edaa145076d2383b3e0095d156d474}{00120}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_s_p_i___settings_type_def_aa0edaa145076d2383b3e0095d156d474}{DMA\_CHANNEL\_X}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Номер\ канала\ DMA\ (0\ если\ не\ нужен)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00121}00121\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00122}00122\ \}\ \mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\_SettingsTypeDef}};\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00123}00123\ \textcolor{comment}{///////////////////////-\/-\/-\/STRUCTURES\ \&\ ENUMS-\/-\/-\///////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00124}00124\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00125}00125\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00126}00126\ \textcolor{comment}{/////////////////////////////////////////////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00127}00127\ \textcolor{comment}{///////////////////////////-\/-\/-\/FUNCTIONS-\/-\/-\////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00128}00128\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00129}00129\ \textcolor{comment}{/*\ Инициализация\ SPI\ с\ использованием\ структуры\ настроек\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00130}00130\ HAL\_StatusTypeDef\ \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga0e177e3c57a8fcdc73b5602e72ec66ba}{SPI\_Base\_Init}}(\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\_SettingsTypeDef}}\ *sspi);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00131}00131\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00132}00132\ \textcolor{comment}{/*\ Проверка\ корректности\ структуры\ настроек\ SPI\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00133}00133\ HAL\_StatusTypeDef\ \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga333dd251bc878931086d48aa932b1a5f}{SPI\_Check\_Init\_Struct}}(\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\_SettingsTypeDef}}\ *sspi);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00134}00134\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00135}00135\ \textcolor{comment}{/*\ Инициализация\ тактирования\ и\ прерываний\ для\ выбранного\ SPI\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00136}00136\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\_MspInit}}(SPI\_HandleTypeDef\ *hspi);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00137}00137\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00138}00138\ \textcolor{comment}{/*\ Деинициализация\ тактирования\ и\ прерываний\ для\ выбранного\ SPI\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00139}00139\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gac279cc3eaa35541edfe330a1844a85e4}{SPI\_MspDeInit}}(SPI\_HandleTypeDef\ *hspi);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00140}00140\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00141}00141\ \ \ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00142}00142\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00143}00143\ \textcolor{comment}{\ *\ @cond\ SPI\_INTERNAL}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00144}00144\ \textcolor{comment}{\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00145}00145\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00146}00146\ \textcolor{comment}{/*\ Настройка\ GPIO\ для\ SPI\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00147}00147\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{general__spi_8c_ae80d21e5cab86571709a2619442733b5}{SPI\_GPIO\_Init}}(\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\_SettingsTypeDef}}\ *sspi);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00148}00148\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00149}00149\ \textcolor{comment}{/*\ Настройка\ DMA\ для\ SPI\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00150}00150\ \textcolor{keywordtype}{void}\ SPI\_DMA\_Init(SPI\_HandleTypeDef\ *hspi,\ DMA\_HandleTypeDef\ *hdma\_rx,\ DMA\_Stream\_TypeDef\ *DMAChannel,\ uint32\_t\ DMA\_CHANNEL\_X);}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00151}00151\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00152}00152\ \textcolor{preprocessor}{\#ifndef\ \_\_USER\_LINKDMA}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00153}00153\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00154}00154\ \textcolor{comment}{\ \ *\ @brief\ \ Аналог\ HAL\ макроса\ для\ привязки\ DMA\ к\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00155}00155\ \textcolor{comment}{\ \ *\ @note\ \ \ @ref\ \_\_HAL\_LINKDMA.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00156}00156\ \textcolor{comment}{\ \ */}\textcolor{preprocessor}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00157}00157\ \textcolor{preprocessor}{\#define\ \_\_USER\_LINKDMA(\_\_HANDLE\_\_,\ \_\_PPP\_DMA\_FIELD\_\_,\ \_\_DMA\_HANDLE\_\_)\ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00158}00158\ \textcolor{preprocessor}{do\{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00159}00159\ \textcolor{preprocessor}{(\_\_HANDLE\_\_)-\/>\_\_PPP\_DMA\_FIELD\_\_\ =\ (\_\_DMA\_HANDLE\_\_);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00160}00160\ \textcolor{preprocessor}{(\_\_DMA\_HANDLE\_\_)-\/>Parent\ =\ (\_\_HANDLE\_\_);\}\ while(0U)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00161}00161\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00162}00162\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00163}00163\ \textcolor{comment}{/**\ @endcond\ */}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00164}00164\ \textcolor{comment}{///////////////////////////-\/-\/-\/FUNCTIONS-\/-\/-\////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00165}00165\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00166}00166\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ \_\_SPI\_GENERAL\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00167}00167\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00168}00168\ \textcolor{comment}{/**\ MY\_LIBS\_SPI}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00169}00169\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__spi_8h_source_l00170}00170\ \textcolor{comment}{\ \ */}}
|
||||
|
||||
\end{DoxyCode}
|
||||
99
Doc/latex/general__uart_8c.tex
Normal file
@ -0,0 +1,99 @@
|
||||
\doxysection{E\+:/.WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs\+General/\+Src/general\+\_\+uart.c File Reference}
|
||||
\hypertarget{general__uart_8c}{}\label{general__uart_8c}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Src/general\_uart.c@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Src/general\_uart.c}}
|
||||
|
||||
|
||||
Модуль для инициализации UART.
|
||||
|
||||
|
||||
{\ttfamily \#include "{}general\+\_\+uart.\+h"{}}\newline
|
||||
{\ttfamily \#include "{}general\+\_\+gpio.\+h"{}}\newline
|
||||
Include dependency graph for general\+\_\+uart.\+c\+:\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=254pt]{general__uart_8c__incl}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9f07396b778505c934143e89953e154}{UART\+\_\+\+Base\+\_\+\+Init}} (\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}suart)
|
||||
\begin{DoxyCompactList}\small\item\em Инициализация UART с помощью структуры \doxylink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{general__uart_8c_a3abae05bbde5f3b402bf18ca13dc6a0b}{UART\+\_\+\+GPIO\+\_\+\+Init}} (GPIO\+\_\+\+Type\+Def \texorpdfstring{$\ast$}{*}GPIOx, uint16\+\_\+t GPIO\+\_\+\+PIN\+\_\+\+RX, uint16\+\_\+t GPIO\+\_\+\+PIN\+\_\+\+TX)
|
||||
\begin{DoxyCompactList}\small\item\em Инициализация GPIO для UART. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{general__uart_8c_ad82d0cbd19151675135fd75dad315d05}{UART\+\_\+\+DMA\+\_\+\+Init}} (UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}huart, DMA\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}hdma\+\_\+rx, DMA\+\_\+\+Stream\+\_\+\+Type\+Def \texorpdfstring{$\ast$}{*}DMAChannel, uint32\+\_\+t DMA\+\_\+\+CHANNEL\+\_\+X)
|
||||
\begin{DoxyCompactList}\small\item\em Инициализация DMA для UART. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\+\_\+\+Msp\+Init}} (UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}huart)
|
||||
\begin{DoxyCompactList}\small\item\em Настройка тактирования и прерываний UART. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga93ed6ceef4e3b5e7885786125cce93bc}{UART\+\_\+\+Msp\+De\+Init}} (UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}huart)
|
||||
\begin{DoxyCompactList}\small\item\em Деинициализация тактирования и прерываний UART. \end{DoxyCompactList}\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga2a22e46ecb9e04b2ce197a0e9c09044a}{UART\+\_\+\+Check\+\_\+\+Init\+\_\+\+Struct}} (\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}suart)
|
||||
\begin{DoxyCompactList}\small\item\em Проверка корректности структуры инициализации UART. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Модуль для инициализации UART.
|
||||
|
||||
Реализация функций для работы с UART\+:
|
||||
\begin{DoxyItemize}
|
||||
\item Инициализация UART и его линий RX/\+TX
|
||||
\item Настройка DMA для UART
|
||||
\item Настройка GPIO для UART
|
||||
\item Настройка NVIC и тактирования UART
|
||||
\end{DoxyItemize}
|
||||
|
||||
Definition in file \mbox{\hyperlink{general__uart_8c_source}{general\+\_\+uart.\+c}}.
|
||||
|
||||
|
||||
|
||||
\label{doc-func-members}
|
||||
\Hypertarget{general__uart_8c_doc-func-members}
|
||||
\doxysubsection{Function Documentation}
|
||||
\Hypertarget{general__uart_8c_a3abae05bbde5f3b402bf18ca13dc6a0b}\index{general\_uart.c@{general\_uart.c}!UART\_GPIO\_Init@{UART\_GPIO\_Init}}
|
||||
\index{UART\_GPIO\_Init@{UART\_GPIO\_Init}!general\_uart.c@{general\_uart.c}}
|
||||
\doxysubsubsection{\texorpdfstring{UART\_GPIO\_Init()}{UART\_GPIO\_Init()}}
|
||||
{\footnotesize\ttfamily \label{general__uart_8c_a3abae05bbde5f3b402bf18ca13dc6a0b}
|
||||
void UART\+\_\+\+GPIO\+\_\+\+Init (\begin{DoxyParamCaption}\item[{GPIO\+\_\+\+Type\+Def \texorpdfstring{$\ast$}{*}}]{GPIOx}{, }\item[{uint16\+\_\+t}]{GPIO\+\_\+\+PIN\+\_\+\+RX}{, }\item[{uint16\+\_\+t}]{GPIO\+\_\+\+PIN\+\_\+\+TX}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Инициализация GPIO для UART.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em GPIOx} & Порт для настройки. \\
|
||||
\hline
|
||||
{\em GPIO\+\_\+\+PIN\+\_\+\+RX} & Пин для приема. \\
|
||||
\hline
|
||||
{\em GPIO\+\_\+\+PIN\+\_\+\+TX} & Пин для передачи. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__uart_8c_source_l00069}{69}} of file \mbox{\hyperlink{general__uart_8c_source}{general\+\_\+uart.\+c}}.
|
||||
|
||||
\Hypertarget{general__uart_8c_ad82d0cbd19151675135fd75dad315d05}\index{general\_uart.c@{general\_uart.c}!UART\_DMA\_Init@{UART\_DMA\_Init}}
|
||||
\index{UART\_DMA\_Init@{UART\_DMA\_Init}!general\_uart.c@{general\_uart.c}}
|
||||
\doxysubsubsection{\texorpdfstring{UART\_DMA\_Init()}{UART\_DMA\_Init()}}
|
||||
{\footnotesize\ttfamily \label{general__uart_8c_ad82d0cbd19151675135fd75dad315d05}
|
||||
void UART\+\_\+\+DMA\+\_\+\+Init (\begin{DoxyParamCaption}\item[{UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{huart}{, }\item[{DMA\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{hdma\+\_\+rx}{, }\item[{DMA\+\_\+\+Stream\+\_\+\+Type\+Def \texorpdfstring{$\ast$}{*}}]{DMAChannel}{, }\item[{uint32\+\_\+t}]{DMA\+\_\+\+CHANNEL\+\_\+X}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Инициализация DMA для UART.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em huart} & Указатель на хендл UART. \\
|
||||
\hline
|
||||
{\em hdma\+\_\+rx} & Указатель на хендл DMA для линии приема UART. \\
|
||||
\hline
|
||||
{\em DMAChannel} & Указатель на канал DMA/поток DMA в STM32\+F407. \\
|
||||
\hline
|
||||
{\em DMA\+\_\+\+CHANNEL\+\_\+X} & Канал DMA. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__uart_8c_source_l00109}{109}} of file \mbox{\hyperlink{general__uart_8c_source}{general\+\_\+uart.\+c}}.
|
||||
|
||||
1
Doc/latex/general__uart_8c__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
aca5aa942ee268e1ecf62cd6f36f940b
|
||||
BIN
Doc/latex/general__uart_8c__incl.pdf
Normal file
389
Doc/latex/general__uart_8c_source.tex
Normal file
@ -0,0 +1,389 @@
|
||||
\doxysection{general\+\_\+uart.\+c}
|
||||
\hypertarget{general__uart_8c_source}{}\label{general__uart_8c_source}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Src/general\_uart.c@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Src/general\_uart.c}}
|
||||
\mbox{\hyperlink{general__uart_8c}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00001}00001\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00002}00002\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00003}00003\ \textcolor{comment}{*\ @file\ general\_uart.c}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00004}00004\ \textcolor{comment}{*\ @brief\ Модуль\ для\ инициализации\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00005}00005\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00006}00006\ \textcolor{comment}{Реализация\ функций\ для\ работы\ с\ UART:}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00007}00007\ \textcolor{comment}{\ \ -\/\ Инициализация\ UART\ и\ его\ линий\ RX/TX}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00008}00008\ \textcolor{comment}{\ \ -\/\ Настройка\ DMA\ для\ UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00009}00009\ \textcolor{comment}{\ \ -\/\ Настройка\ GPIO\ для\ UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00010}00010\ \textcolor{comment}{\ \ -\/\ Настройка\ NVIC\ и\ тактирования\ UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00011}00011\ \textcolor{comment}{**************************************************************************/}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00012}00012\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{general__uart_8h}{general\_uart.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00013}00013\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{general__gpio_8h}{general\_gpio.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00014}00014\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00015}00015\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00016}00016\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/UART\ INIT\ FUNCTIONS-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00017}00017\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00018}00018\ \textcolor{comment}{\ \ *\ @brief\ \ Инициализация\ UART\ с\ помощью\ структуры\ UART\_SettingsTypeDef.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00019}00019\ \textcolor{comment}{\ \ *\ @param\ \ suart\ Указатель\ на\ структуру\ с\ настройками\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00020}00020\ \textcolor{comment}{\ \ *\ @return\ HAL\ status.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00021}00021\ \textcolor{comment}{\ \ *\ @details\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00022}00022\ \textcolor{comment}{\ \ *\ Инициализирует\ UART\ и\ его\ GPIO\ и\ при\ необходимости\ DMA.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00023}00023\ \textcolor{comment}{\ \ *\ Настройка\ аналогична\ HAL\_UART\_Init\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00024}00024\ \textcolor{comment}{\ \ *\ @code}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00025}00025\ \textcolor{comment}{\ \ *\ suart.huart.Init...}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00026}00026\ \textcolor{comment}{\ \ *\ @endcode\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00027}00027\ \textcolor{comment}{\ \ *\ но\ дополнительно\ надо\ прописать\ пины\ RX/TX\ @ref\ UART\_SettingsTypeDef}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00028}00028\ \textcolor{comment}{\ \ *\ @code}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00029}00029\ \textcolor{comment}{\ \ *\ suart-\/>GPIOx,\ suart-\/>GPIO\_PIN\_RX,\ suart-\/>GPIO\_PIN\_TX}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00030}00030\ \textcolor{comment}{\ \ *\ @endcode}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00031}00031\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00032}\mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9f07396b778505c934143e89953e154}{00032}}\ HAL\_StatusTypeDef\ \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9f07396b778505c934143e89953e154}{UART\_Base\_Init}}(\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\_SettingsTypeDef}}\ *suart)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00033}00033\ \{\ \textcolor{comment}{//\ function\ takes\ setting\ structure\ for\ init}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00034}00034\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00035}00035\ \ \ \textcolor{comment}{//\ check\ is\ settings\ are\ valid}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00036}00036\ \ \ \textcolor{keywordflow}{if}(\mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga2a22e46ecb9e04b2ce197a0e9c09044a}{UART\_Check\_Init\_Struct}}(suart)\ !=\ HAL\_OK)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00037}00037\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00038}00038\ \ \ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00039}00039\ \ \ suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Init.Mode\ =\ UART\_MODE\_TX\_RX;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00040}00040\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00041}00041\ \ \ \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\_MspInit}}(\&suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}});}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00042}00042\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00043}00043\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00044}00044\ \ \ \textcolor{keywordflow}{if}\ (HAL\_UART\_Init(\&suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}})\ !=\ HAL\_OK)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00045}00045\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00046}00046\ \ \ \ \ \mbox{\hyperlink{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_gae110df81afd885a390bbeb152d7b709f}{MyLibs\_Error\_Handler}}();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00047}00047\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00048}00048\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00049}00049\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00050}00050\ \ \ \textcolor{comment}{//\ init\ gpio\ from\ UARTSettings\ structure}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00051}00051\ \ \ \mbox{\hyperlink{general__uart_8c_a3abae05bbde5f3b402bf18ca13dc6a0b}{UART\_GPIO\_Init}}(suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_af6f9910d065bae715cdb4a1024143a8f}{GPIOx}},\ suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a3fba2b52788fe453348b5d92ed52ba49}{GPIO\_PIN\_RX}},\ suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a5f1babfcfb436cd77f5614253c0a5bef}{GPIO\_PIN\_TX}});}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00052}00052\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00053}00053\ \ \ \_\_HAL\_UART\_ENABLE\_IT(\&suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}},\ UART\_IT\_IDLE);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00054}00054\ \ \ \textcolor{comment}{//\ init\ dma\ from\ UARTSettings\ structure\ if\ need}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00055}00055\ \ \ \textcolor{keywordflow}{if}\ (suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a1ecc9ac6a1d2747ade56770cbab6a613}{DMAChannel}}\ !=\ 0)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00056}00056\ \ \ \ \ \mbox{\hyperlink{general__uart_8c_ad82d0cbd19151675135fd75dad315d05}{UART\_DMA\_Init}}(\&suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}},\ suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.hdmarx,\ suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a1ecc9ac6a1d2747ade56770cbab6a613}{DMAChannel}},\ suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a15ce92b03f7f189bfbe1ab88a5f94d19}{DMA\_CHANNEL\_X}});}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00057}00057\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00058}00058\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00059}00059\ \ \ \textcolor{keywordflow}{return}\ HAL\_OK;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00060}00060\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00061}00061\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00062}00062\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00063}00063\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00064}00064\ \textcolor{comment}{\ \ *\ @brief\ \ Инициализация\ GPIO\ для\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00065}00065\ \textcolor{comment}{\ \ *\ @param\ \ GPIOx\ \ \ \ \ \ \ Порт\ для\ настройки.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00066}00066\ \textcolor{comment}{\ \ *\ @param\ \ GPIO\_PIN\_RX\ Пин\ для\ приема.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00067}00067\ \textcolor{comment}{\ \ *\ @param\ \ GPIO\_PIN\_TX\ Пин\ для\ передачи.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00068}00068\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00069}\mbox{\hyperlink{general__uart_8c_a3abae05bbde5f3b402bf18ca13dc6a0b}{00069}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{general__uart_8c_a3abae05bbde5f3b402bf18ca13dc6a0b}{UART\_GPIO\_Init}}(GPIO\_TypeDef\ *GPIOx,\ uint16\_t\ GPIO\_PIN\_RX,\ uint16\_t\ GPIO\_PIN\_TX)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00070}00070\ \{\ \textcolor{comment}{//\ function\ takes\ port\ and\ pins\ (for\ rx\ and\ tx)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00071}00071\ \ \ GPIO\_InitTypeDef\ GPIO\_InitStruct\ =\ \{0\};}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00072}00072\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00073}00073\ \ \ \textcolor{comment}{//\ choose\ port\ for\ enable\ clock}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00074}00074\ \ \ \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l_ga962f010f783b81fcdd27eb6b53db28e6}{GPIO\_Clock\_Enable}}(GPIOx);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00075}00075\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00076}00076\ \ \ \textcolor{comment}{//USART3\ GPIO\ Configuration}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00077}00077\ \ \ \textcolor{comment}{//GPIO\_PIN\_TX\ -\/-\/-\/-\/-\/-\/>\ USART\_TX}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00078}00078\ \ \ \textcolor{comment}{//GPIO\_PIN\_RX\ -\/-\/-\/-\/-\/-\/>\ USART\_RX\ \ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00079}00079\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00080}00080\ \textcolor{preprocessor}{\#if\ defined(STM32F4xx)\ }\textcolor{comment}{//\ gpio\ init\ for\ 407}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00081}00081\ \ \ GPIO\_InitStruct.Pin\ =\ GPIO\_PIN\_TX|GPIO\_PIN\_RX;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00082}00082\ \ \ GPIO\_InitStruct.Mode\ =\ GPIO\_MODE\_AF\_PP;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00083}00083\ \ \ GPIO\_InitStruct.Pull\ =\ GPIO\_NOPULL;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00084}00084\ \ \ GPIO\_InitStruct.Speed\ =\ GPIO\_SPEED\_FREQ\_VERY\_HIGH;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00085}00085\ \ \ GPIO\_InitStruct.Alternate\ =\ GPIO\_AF7\_USART3;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00086}00086\ \ \ HAL\_GPIO\_Init(GPIOx,\ \&GPIO\_InitStruct);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00087}00087\ \textcolor{preprocessor}{\#elif\ defined(STM32F1xx)\ \ }\textcolor{comment}{//\ gpio\ init\ for\ atm403/stm103}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00088}00088\ \ \ \textcolor{comment}{//GPIO\_PIN\_TX\ -\/-\/-\/-\/-\/-\/>\ USART\_TX}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00089}00089\ \ \ GPIO\_InitStruct.Pin\ =\ GPIO\_PIN\_TX;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00090}00090\ \ \ GPIO\_InitStruct.Mode\ =\ GPIO\_MODE\_AF\_PP;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00091}00091\ \ \ GPIO\_InitStruct.Speed\ =\ GPIO\_SPEED\_FREQ\_HIGH;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00092}00092\ \ \ HAL\_GPIO\_Init(GPIOx,\ \&GPIO\_InitStruct);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00093}00093\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00094}00094\ \textcolor{comment}{//\ \ GPIO\_PIN\_RX\ -\/-\/-\/-\/-\/-\/>\ USART\_RX\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00095}00095\ \ \ GPIO\_InitStruct.Pin\ =\ GPIO\_PIN\_RX;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00096}00096\ \ \ GPIO\_InitStruct.Mode\ =\ GPIO\_MODE\_INPUT;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00097}00097\ \ \ GPIO\_InitStruct.Pull\ =\ GPIO\_NOPULL;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00098}00098\ \ \ HAL\_GPIO\_Init(GPIOx,\ \&GPIO\_InitStruct);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00099}00099\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00100}00100\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00101}00101\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00102}00102\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00103}00103\ \textcolor{comment}{\ \ *\ @brief\ \ Инициализация\ DMA\ для\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00104}00104\ \textcolor{comment}{\ \ *\ @param\ \ huart\ \ \ \ \ \ \ \ \ Указатель\ на\ хендл\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00105}00105\ \textcolor{comment}{\ \ *\ @param\ \ hdma\_rx\ \ \ \ \ \ \ Указатель\ на\ хендл\ DMA\ для\ линии\ приема\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00106}00106\ \textcolor{comment}{\ \ *\ @param\ \ DMAChannel\ \ \ \ Указатель\ на\ канал\ DMA/поток\ DMA\ в\ STM32F407.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00107}00107\ \textcolor{comment}{\ \ *\ @param\ \ DMA\_CHANNEL\_X\ Канал\ DMA.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00108}00108\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00109}\mbox{\hyperlink{general__uart_8c_ad82d0cbd19151675135fd75dad315d05}{00109}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{general__uart_8c_ad82d0cbd19151675135fd75dad315d05}{UART\_DMA\_Init}}(UART\_HandleTypeDef\ *huart,\ DMA\_HandleTypeDef\ *hdma\_rx,\ DMA\_Stream\_TypeDef\ *DMAChannel,\ uint32\_t\ DMA\_CHANNEL\_X)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00110}00110\ \{\ \textcolor{comment}{//\ function\ takes\ uart\ and\ dma\ handlers\ and\ dmachannel\ for\ uart}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00111}00111\ \ \ \textcolor{comment}{//\ for\ now\ only\ dma\ rx\ is\ supported,\ tx\ maybe\ later\ if\ needed}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00112}00112\ \ \ \ \ \textcolor{comment}{//\ calc\ defines\ on\ boot\_project\_setup.h}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00113}00113\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00114}00114\ \ \ \textcolor{comment}{/*\ USART3\ DMA\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00115}00115\ \ \ \textcolor{comment}{/*\ USART3\_RX\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00116}00116\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00117}00117\ \ \ hdma\_rx-\/>Instance\ =\ DMAChannel;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00118}00118\ \textcolor{preprocessor}{\#if\ defined(STM32F4xx)\ }\textcolor{comment}{//\ dma\ channel\ choose\ for\ 407}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00119}00119\ \ \ hdma\_rx-\/>Init.Channel\ =\ DMA\_CHANNEL\_X;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00120}00120\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00121}00121\ \ \ hdma\_rx-\/>Init.Direction\ =\ DMA\_PERIPH\_TO\_MEMORY;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00122}00122\ \ \ hdma\_rx-\/>Init.PeriphInc\ =\ DMA\_PINC\_DISABLE;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00123}00123\ \ \ hdma\_rx-\/>Init.MemInc\ =\ DMA\_MINC\_ENABLE;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00124}00124\ \ \ hdma\_rx-\/>Init.PeriphDataAlignment\ =\ DMA\_PDATAALIGN\_BYTE;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00125}00125\ \ \ hdma\_rx-\/>Init.MemDataAlignment\ =\ DMA\_MDATAALIGN\_BYTE;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00126}00126\ \ \ hdma\_rx-\/>Init.Mode\ =\ DMA\_CIRCULAR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00127}00127\ \ \ hdma\_rx-\/>Init.Priority\ =\ DMA\_PRIORITY\_LOW;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00128}00128\ \ \ \textcolor{keywordflow}{if}\ (HAL\_DMA\_Init(hdma\_rx)\ !=\ HAL\_OK)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00129}00129\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00130}00130\ \ \ \ \ \mbox{\hyperlink{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_gae110df81afd885a390bbeb152d7b709f}{MyLibs\_Error\_Handler}}();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00131}00131\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00132}00132\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00133}00133\ \ \ \_\_USER\_LINKDMA(huart,hdmarx,hdma\_rx);\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00134}00134\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00135}00135\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00136}00136\ \ \ \textcolor{comment}{//\ \_\_USER\_LINKDMA\ is\ need\ because\ \_\_HAL\_LINKDMA\ is\ written\ for\ global\ defined\ hdma\_rx}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00137}00137\ \ \ \textcolor{comment}{//\ so\ you\ get\ error\ because\ hal\ uses\ .\ insted\ of\ -\/>}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00138}00138\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00139}00139\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00140}00140\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00141}00141\ \textcolor{comment}{\ \ *\ @brief\ \ Настройка\ тактирования\ и\ прерываний\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00142}00142\ \textcolor{comment}{\ \ *\ @param\ \ huart\ Указатель\ на\ хендл\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00143}00143\ \textcolor{comment}{\ \ *\ @note\ \ \ Чтобы\ не\ генерировать\ функцию\ с\ иницилизацией\ неиспользуемых\ UART,}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00144}00144\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ дефайнами\ @ref\ UART\_INIT\ в\ @ref\ general\_uart.h\ определяются\ используемые\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00145}00145\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00146}\mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{00146}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\_MspInit}}(UART\_HandleTypeDef\ *huart)\ \textcolor{comment}{//\ analog\ for\ hal\ function}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00147}00147\ \{\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00148}00148\ \textcolor{comment}{//\ \ \_\_RCC\_DMA\_UART\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00149}00149\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00150}00150\ \textcolor{comment}{//\ \ /*\ DMA1\_Stream1\_IRQn\ interrupt\ configuration\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00151}00151\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA\_UART\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00152}00152\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA\_UART\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00153}00153\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00154}00154\ \ \ \textcolor{comment}{//\ rcc,\ dma\ and\ interrupt\ init\ for\ USARTs}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00155}00155\ \ \ \textcolor{comment}{//\ GPIO\ init\ was\ moved\ to\ own\ functions\ UART\_GPIO\_Init\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00156}00156\ \ \ \textcolor{keywordflow}{if}(0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00157}00157\ \textcolor{preprocessor}{\#ifdef\ USE\_USART1}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00158}00158\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==USART1)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00159}00159\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00160}00160\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00161}00161\ \ \ \textcolor{comment}{/*\ DMA2\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00162}00162\ \ \ \_\_HAL\_RCC\_DMA2\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00163}00163\ \ \ \textcolor{comment}{/*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00164}00164\ \ \ HAL\_NVIC\_SetPriority(DMA2\_Stream2\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00165}00165\ \ \ HAL\_NVIC\_EnableIRQ(DMA2\_Stream2\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00166}00166\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00167}00167\ \ \ \textcolor{comment}{/*\ USART1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00168}00168\ \ \ \_\_HAL\_RCC\_USART1\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00169}00169\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00170}00170\ \ \ \textcolor{comment}{/*\ USART1\ interrupt\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00171}00171\ \ \ HAL\_NVIC\_SetPriority(USART1\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00172}00172\ \ \ HAL\_NVIC\_EnableIRQ(USART1\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00173}00173\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00174}00174\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_USART1}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00175}00175\ \textcolor{preprocessor}{\#ifdef\ USE\_USART2}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00176}00176\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==USART2)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00177}00177\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00178}00178\ \ \ \textcolor{comment}{/*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00179}00179\ \ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00180}00180\ \ \ \textcolor{comment}{/*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00181}00181\ \ \ HAL\_NVIC\_SetPriority(DMA1\_Stream5\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00182}00182\ \ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream5\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00183}00183\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00184}00184\ \ \ \textcolor{comment}{/*\ USART2\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00185}00185\ \ \ \_\_HAL\_RCC\_USART2\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00186}00186\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00187}00187\ \ \ \textcolor{comment}{/*\ USART2\ interrupt\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00188}00188\ \ \ HAL\_NVIC\_SetPriority(USART2\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00189}00189\ \ \ HAL\_NVIC\_EnableIRQ(USART2\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00190}00190\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00191}00191\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_USART2}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00192}00192\ \textcolor{preprocessor}{\#ifdef\ USE\_USART3}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00193}00193\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==USART3)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00194}00194\ \ \ \{\ \ \ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00195}00195\ \ \ \textcolor{comment}{/*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00196}00196\ \ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00197}00197\ \ \ \textcolor{comment}{/*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00198}00198\ \ \ HAL\_NVIC\_SetPriority(DMA1\_Stream1\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00199}00199\ \ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream1\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00200}00200\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00201}00201\ \ \ \textcolor{comment}{/*\ USART3\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00202}00202\ \ \ \_\_HAL\_RCC\_USART3\_CLK\_ENABLE();\ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00203}00203\ \ \ \textcolor{comment}{/*\ USART3\ interrupt\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00204}00204\ \ \ HAL\_NVIC\_SetPriority(USART3\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00205}00205\ \ \ HAL\_NVIC\_EnableIRQ(USART3\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00206}00206\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00207}00207\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_USART3}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00208}00208\ \textcolor{preprocessor}{\#ifdef\ USE\_UART4}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00209}00209\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==UART4)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00210}00210\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00211}00211\ \ \ \textcolor{comment}{/*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00212}00212\ \ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00213}00213\ \ \ \textcolor{comment}{/*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00214}00214\ \ \ HAL\_NVIC\_SetPriority(DMA1\_Stream2\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00215}00215\ \ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream2\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00216}00216\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00217}00217\ \ \ \textcolor{comment}{/*\ UART4\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00218}00218\ \ \ \_\_HAL\_RCC\_UART4\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00219}00219\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00220}00220\ \ \ \textcolor{comment}{/*\ UART4\ interrupt\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00221}00221\ \ \ HAL\_NVIC\_SetPriority(UART4\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00222}00222\ \ \ HAL\_NVIC\_EnableIRQ(UART4\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00223}00223\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00224}00224\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_UART4}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00225}00225\ \textcolor{preprocessor}{\#ifdef\ USE\_UART5}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00226}00226\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==UART5)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00227}00227\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00228}00228\ \ \ \textcolor{comment}{/*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00229}00229\ \ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00230}00230\ \ \ \textcolor{comment}{/*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00231}00231\ \ \ HAL\_NVIC\_SetPriority(DMA1\_Stream0\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00232}00232\ \ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream0\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00233}00233\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00234}00234\ \ \ \textcolor{comment}{/*\ UART5\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00235}00235\ \ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00236}00236\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00237}00237\ \ \ \textcolor{comment}{/*\ UART5\ interrupt\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00238}00238\ \ \ HAL\_NVIC\_SetPriority(UART5\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00239}00239\ \ \ HAL\_NVIC\_EnableIRQ(UART5\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00240}00240\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00241}00241\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_UART5}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00242}00242\ \textcolor{preprocessor}{\#ifdef\ USE\_USART6}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00243}00243\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==USART6)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00244}00244\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00245}00245\ \ \ \textcolor{comment}{/*\ DMA2\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00246}00246\ \ \ \_\_HAL\_RCC\_DMA2\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00247}00247\ \ \ \textcolor{comment}{/*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00248}00248\ \ \ HAL\_NVIC\_SetPriority(DMA2\_Stream1\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00249}00249\ \ \ HAL\_NVIC\_EnableIRQ(DMA2\_Stream1\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00250}00250\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00251}00251\ \ \ \textcolor{comment}{/*\ USART6\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00252}00252\ \ \ \_\_HAL\_RCC\_USART6\_CLK\_ENABLE();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00253}00253\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00254}00254\ \ \ \textcolor{comment}{/*\ USART6\ interrupt\ Init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00255}00255\ \ \ HAL\_NVIC\_SetPriority(USART6\_IRQn,\ 0,\ 0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00256}00256\ \ \ HAL\_NVIC\_EnableIRQ(USART6\_IRQn);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00257}00257\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00258}00258\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_USART6}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00259}00259\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00260}00260\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00261}00261\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00262}00262\ \textcolor{comment}{\ \ *\ @brief\ \ Деинициализация\ тактирования\ и\ прерываний\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00263}00263\ \textcolor{comment}{\ \ *\ @param\ \ huart\ Указатель\ на\ хендл\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00264}00264\ \textcolor{comment}{\ \ *\ @note\ \ \ Чтобы\ не\ генерировать\ функцию\ с\ деиницилизацией\ неиспользуемых\ UART,}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00265}00265\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ дефайнами\ @ref\ UART\_INIT\ в\ @ref\ general\_uart.h\ определяются\ используемые\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00266}00266\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00267}\mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga93ed6ceef4e3b5e7885786125cce93bc}{00267}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga93ed6ceef4e3b5e7885786125cce93bc}{UART\_MspDeInit}}(UART\_HandleTypeDef\ *huart)\ \textcolor{comment}{//\ analog\ for\ hal\ function}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00268}00268\ \{\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00269}00269\ \ \ \textcolor{comment}{//\ rcc,\ dma\ and\ interrupt\ init\ for\ USARTs}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00270}00270\ \ \ \textcolor{comment}{//\ GPIO\ init\ was\ moved\ to\ own\ functions\ UART\_GPIO\_Init\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00271}00271\ \ \ \textcolor{keywordflow}{if}(0);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00272}00272\ \textcolor{preprocessor}{\#ifdef\ USE\_USART1}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00273}00273\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==USART1)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00274}00274\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00275}00275\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00276}00276\ \textcolor{comment}{//\ \ /*\ DMA2\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00277}00277\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA2\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00278}00278\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00279}00279\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA2\_Stream2\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00280}00280\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA2\_Stream2\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00281}00281\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00282}00282\ \ \ \textcolor{comment}{/*\ USART1\ clock\ reset\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00283}00283\ \ \ \_\_HAL\_RCC\_USART1\_FORCE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00284}00284\ \ \ \_\_HAL\_RCC\_USART1\_RELEASE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00285}00285\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00286}00286\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_USART1}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00287}00287\ \textcolor{preprocessor}{\#ifdef\ USE\_USART2}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00288}00288\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==USART2)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00289}00289\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00290}00290\ \textcolor{comment}{//\ \ /*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00291}00291\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00292}00292\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00293}00293\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA1\_Stream5\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00294}00294\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream5\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00295}00295\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00296}00296\ \ \ \textcolor{comment}{/*\ USART2\ clock\ reset\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00297}00297\ \ \ \_\_HAL\_RCC\_USART2\_FORCE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00298}00298\ \ \ \_\_HAL\_RCC\_USART2\_RELEASE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00299}00299\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00300}00300\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_USART2}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00301}00301\ \textcolor{preprocessor}{\#ifdef\ USE\_USART3}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00302}00302\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==USART3)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00303}00303\ \ \ \{\ \ \ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00304}00304\ \textcolor{comment}{//\ \ /*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00305}00305\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00306}00306\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00307}00307\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA1\_Stream1\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00308}00308\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream1\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00309}00309\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00310}00310\ \ \ \textcolor{comment}{/*\ USART3\ clock\ reset\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00311}00311\ \ \ \_\_HAL\_RCC\_USART3\_FORCE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00312}00312\ \ \ \_\_HAL\_RCC\_USART3\_RELEASE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00313}00313\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00314}00314\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_USART3}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00315}00315\ \textcolor{preprocessor}{\#ifdef\ USE\_UART4}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00316}00316\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==UART4)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00317}00317\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00318}00318\ \textcolor{comment}{//\ \ /*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00319}00319\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00320}00320\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00321}00321\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA1\_Stream2\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00322}00322\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream2\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00323}00323\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00324}00324\ \ \ \textcolor{comment}{/*\ UART4\ clock\ reset\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00325}00325\ \ \ \_\_HAL\_RCC\_UART4\_FORCE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00326}00326\ \ \ \_\_HAL\_RCC\_UART4\_RELEASE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00327}00327\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00328}00328\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_UART4}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00329}00329\ \textcolor{preprocessor}{\#ifdef\ USE\_UART5}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00330}00330\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==UART5)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00331}00331\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00332}00332\ \textcolor{comment}{//\ \ /*\ DMA1\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00333}00333\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA1\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00334}00334\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00335}00335\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA1\_Stream0\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00336}00336\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA1\_Stream0\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00337}00337\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00338}00338\ \ \ \textcolor{comment}{/*\ UART5\ clock\ reset\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00339}00339\ \ \ \_\_HAL\_RCC\_UART5\_FORCE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00340}00340\ \ \ \_\_HAL\_RCC\_UART5\_RELEASE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00341}00341\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00342}00342\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_UART5}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00343}00343\ \textcolor{preprocessor}{\#ifdef\ USE\_USART6}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00344}00344\ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}(huart-\/>Instance==USART6)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00345}00345\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00346}00346\ \textcolor{comment}{//\ \ /*\ DMA2\ clock\ enable\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00347}00347\ \textcolor{comment}{//\ \ \_\_HAL\_RCC\_DMA2\_CLK\_ENABLE();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00348}00348\ \textcolor{comment}{//\ \ /*\ DMA\ interrupt\ init\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00349}00349\ \textcolor{comment}{//\ \ HAL\_NVIC\_SetPriority(DMA2\_Stream1\_IRQn,\ 0,\ 0);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00350}00350\ \textcolor{comment}{//\ \ HAL\_NVIC\_EnableIRQ(DMA2\_Stream1\_IRQn);}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00351}00351\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00352}00352\ \ \ \textcolor{comment}{/*\ USART6\ clock\ reset\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00353}00353\ \ \ \_\_HAL\_RCC\_USART6\_FORCE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00354}00354\ \ \ \_\_HAL\_RCC\_USART6\_RELEASE\_RESET();}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00355}00355\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00356}00356\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ USE\_USART6}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00357}00357\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00358}00358\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00359}00359\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00360}00360\ \textcolor{comment}{\ \ *\ @brief\ \ Проверка\ корректности\ структуры\ инициализации\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00361}00361\ \textcolor{comment}{\ \ *\ @param\ \ suart\ Указатель\ на\ структуру\ с\ настройками\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00362}00362\ \textcolor{comment}{\ \ *\ @return\ HAL\ status.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00363}00363\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00364}\mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga2a22e46ecb9e04b2ce197a0e9c09044a}{00364}}\ HAL\_StatusTypeDef\ \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga2a22e46ecb9e04b2ce197a0e9c09044a}{UART\_Check\_Init\_Struct}}(\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\_SettingsTypeDef}}\ *suart)}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00365}00365\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00366}00366\ \ \ \textcolor{comment}{//\ check\ is\ settings\ are\ valid}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00367}00367\ \ \ \textcolor{keywordflow}{if}\ (!IS\_UART\_INSTANCE(suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Instance))}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00368}00368\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00369}00369\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00370}00370\ \ \ \textcolor{keywordflow}{if}\ (!IS\_UART\_BAUDRATE(suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Init.BaudRate)\ ||\ (suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Init.BaudRate\ ==\ NULL))}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00371}00371\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00372}00372\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00373}00373\ \ \ \textcolor{keywordflow}{if}\ (!IS\_GPIO\_ALL\_INSTANCE(suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_af6f9910d065bae715cdb4a1024143a8f}{GPIOx}}))}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00374}00374\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00375}00375\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00376}00376\ \ \ \textcolor{keywordflow}{if}\ (!IS\_GPIO\_PIN(suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a3fba2b52788fe453348b5d92ed52ba49}{GPIO\_PIN\_RX}})\ \&\&\ !IS\_GPIO\_PIN(suart-\/>\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a5f1babfcfb436cd77f5614253c0a5bef}{GPIO\_PIN\_TX}}))\ \textcolor{comment}{//\ if\ both\ pins\ arent\ set\ up}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00377}00377\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00378}00378\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00379}00379\ \ \ \textcolor{keywordflow}{return}\ HAL\_OK;}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00380}00380\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00381}00381\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00382}00382\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/UART\ INIT\ FUNCTIONS-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8c_source_l00383}00383\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
|
||||
|
||||
\end{DoxyCode}
|
||||
64
Doc/latex/general__uart_8h.tex
Normal file
@ -0,0 +1,64 @@
|
||||
\doxysection{E\+:/.WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs\+General/\+Inc/general\+\_\+uart.h File Reference}
|
||||
\hypertarget{general__uart_8h}{}\label{general__uart_8h}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Inc/general\_uart.h@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Inc/general\_uart.h}}
|
||||
|
||||
|
||||
Заголовочный файл для модуля инициализации UART.
|
||||
|
||||
|
||||
{\ttfamily \#include "{}mylibs\+\_\+defs.\+h"{}}\newline
|
||||
Include dependency graph for general\+\_\+uart.\+h\+:\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=229pt]{general__uart_8h__incl}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
This graph shows which files directly or indirectly include this file\+:\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=229pt]{general__uart_8h__dep__incl}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}}
|
||||
\begin{DoxyCompactList}\small\item\em Структура настроек UART. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___u_a_r_t___i_n_i_t_ga167269406e73327b95c3bb7b9cfe6d89}{HAL\+\_\+\+UART\+\_\+\+MODULE\+\_\+\+ENABLED}}
|
||||
\begin{DoxyCompactList}\small\item\em Включение HAL UART. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___u_a_r_t___i_n_i_t_gace54f148bb1d72f13bf397d096d38d1b}{USE\+\_\+\+USART1}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить USART1 в \doxylink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___u_a_r_t___i_n_i_t_gaacb3968508217a0d8b3f64aa0c8aa07d}{USE\+\_\+\+USART2}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить USART2 в \doxylink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___u_a_r_t___i_n_i_t_ga6dadd967b428aade24008ec060009976}{USE\+\_\+\+USART3}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить USART3 в \doxylink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___u_a_r_t___i_n_i_t_ga779530e93e7aa1f25eb13045ec42b8e7}{USE\+\_\+\+UART4}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить UART4 в \doxylink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___u_a_r_t___i_n_i_t_ga592c6bf4a6496d6806ba0838cdfa2340}{USE\+\_\+\+UART5}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить UART5 в \doxylink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___u_a_r_t___i_n_i_t_gafaeb8bdd4aa7fb1987505530daa90868}{USE\+\_\+\+USART6}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить USART6 в \doxylink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9f07396b778505c934143e89953e154}{UART\+\_\+\+Base\+\_\+\+Init}} (\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}suart)
|
||||
\begin{DoxyCompactList}\small\item\em Инициализация UART с помощью структуры \doxylink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}. \end{DoxyCompactList}\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga2a22e46ecb9e04b2ce197a0e9c09044a}{UART\+\_\+\+Check\+\_\+\+Init\+\_\+\+Struct}} (\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}suart)
|
||||
\begin{DoxyCompactList}\small\item\em Проверка корректности структуры инициализации UART. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\+\_\+\+Msp\+Init}} (UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}huart)
|
||||
\begin{DoxyCompactList}\small\item\em Настройка тактирования и прерываний UART. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga93ed6ceef4e3b5e7885786125cce93bc}{UART\+\_\+\+Msp\+De\+Init}} (UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}huart)
|
||||
\begin{DoxyCompactList}\small\item\em Деинициализация тактирования и прерываний UART. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Заголовочный файл для модуля инициализации UART.
|
||||
|
||||
|
||||
|
||||
Definition in file \mbox{\hyperlink{general__uart_8h_source}{general\+\_\+uart.\+h}}.
|
||||
|
||||
1
Doc/latex/general__uart_8h__dep__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
7baa47c3e07d62541ed2b703b2008261
|
||||
BIN
Doc/latex/general__uart_8h__dep__incl.pdf
Normal file
1
Doc/latex/general__uart_8h__incl.md5
Normal file
@ -0,0 +1 @@
|
||||
7d0dbc4788a1c22d3b92320c194dfaad
|
||||
BIN
Doc/latex/general__uart_8h__incl.pdf
Normal file
162
Doc/latex/general__uart_8h_source.tex
Normal file
@ -0,0 +1,162 @@
|
||||
\doxysection{general\+\_\+uart.\+h}
|
||||
\hypertarget{general__uart_8h_source}{}\label{general__uart_8h_source}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Inc/general\_uart.h@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibsGeneral/Inc/general\_uart.h}}
|
||||
\mbox{\hyperlink{general__uart_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00001}00001\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00002}00002\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00003}00003\ \textcolor{comment}{*\ @file\ general\_uart.h}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00004}00004\ \textcolor{comment}{*\ @brief\ Заголовочный\ файл\ для\ модуля\ инициализации\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00005}00005\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00006}00006\ \textcolor{comment}{*\ @defgroup\ MY\_LIBS\_UART\ \ \ \ \ \ UART\ Tools}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00007}00007\ \textcolor{comment}{*\ @ingroup\ \ MYLIBS\_PERIPHERAL}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00008}00008\ \textcolor{comment}{*\ @brief\ \ \ \ Функции\ и\ макросы\ для\ удобной\ работы\ с\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00009}00009\ \textcolor{comment}{*\ @details}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00010}00010\ \textcolor{comment}{Модуль\ предоставляет\ функции\ для\ базовой\ инициализации\ UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00011}00011\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00012}00012\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00013}00013\ \textcolor{comment}{@par\ Пример\ использования:}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00014}00014\ \textcolor{comment}{@code}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00015}00015\ \textcolor{comment}{//\ Структура\ настроек\ UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00016}00016\ \textcolor{comment}{UART\_SettingsTypeDef\ uart2Settings;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00017}00017\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00018}00018\ \textcolor{comment}{void\ UART2\_Init(void)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00019}00019\ \textcolor{comment}{\{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00020}00020\ \textcolor{comment}{\ \ \ \ //\ Настройка\ UART2\ с\ 115200\ бод,\ 8\ бит,\ 1\ стоп-\/бит,\ без\ паритета}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00021}00021\ \textcolor{comment}{\ \ \ \ uart2Settings.huart.Instance\ =\ USART2;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00022}00022\ \textcolor{comment}{\ \ \ \ uart2Settings.huart.Init.BaudRate\ =\ 115200;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00023}00023\ \textcolor{comment}{\ \ \ \ uart2Settings.huart.Init.WordLength\ =\ UART\_WORDLENGTH\_8B;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00024}00024\ \textcolor{comment}{\ \ \ \ uart2Settings.huart.Init.StopBits\ =\ UART\_STOPBITS\_1;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00025}00025\ \textcolor{comment}{\ \ \ \ uart2Settings.huart.Init.Parity\ =\ UART\_PARITY\_NONE;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00026}00026\ \textcolor{comment}{\ \ \ \ uart2Settings.huart.Init.Mode\ =\ UART\_MODE\_TX\_RX;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00027}00027\ \textcolor{comment}{\ \ \ \ uart2Settings.huart.Init.HwFlowCtl\ =\ UART\_HWCONTROL\_NONE;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00028}00028\ \textcolor{comment}{\ \ \ \ uart2Settings.huart.Init.OverSampling\ =\ UART\_OVERSAMPLING\_16;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00029}00029\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00030}00030\ \textcolor{comment}{\ \ \ \ //\ Настройка\ GPIO}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00031}00031\ \textcolor{comment}{\ \ \ \ uart2Settings.GPIOx\ =\ GPIOA;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00032}00032\ \textcolor{comment}{\ \ \ \ uart2Settings.GPIO\_PIN\_TX\ =\ GPIO\_PIN\_2;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00033}00033\ \textcolor{comment}{\ \ \ \ uart2Settings.GPIO\_PIN\_RX\ =\ GPIO\_PIN\_3;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00034}00034\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00035}00035\ \textcolor{comment}{\ \ \ \ //\ DMA\ не\ используется\ в\ этом\ примере}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00036}00036\ \textcolor{comment}{\ \ \ \ uart2Settings.DMAChannel\ =\ NULL;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00037}00037\ \textcolor{comment}{\ \ \ \ uart2Settings.DMA\_CHANNEL\_X\ =\ 0;}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00038}00038\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00039}00039\ \textcolor{comment}{\ \ \ \ //\ Инициализация\ UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00040}00040\ \textcolor{comment}{\ \ \ \ if(UART\_Base\_Init(\&uart2Settings)\ !=\ HAL\_OK)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00041}00041\ \textcolor{comment}{\ \ \ \ \{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00042}00042\ \textcolor{comment}{\ \ \ \ \ \ \ \ //\ Обработка\ ошибки}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00043}00043\ \textcolor{comment}{\ \ \ \ \ \ \ \ Error\_Handler();}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00044}00044\ \textcolor{comment}{\ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00045}00045\ \textcolor{comment}{\}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00046}00046\ \textcolor{comment}{@endcode}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00047}00047\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00048}00048\ \textcolor{comment}{*\ \ @note\ Требуется\ подключение\ модуля\ UART\ в\ библиотеке\ HAL\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00049}00049\ \textcolor{comment}{@code\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00050}00050\ \textcolor{comment}{\#define\ HAL\_UART\_MODULE\_ENABLED}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00051}00051\ \textcolor{comment}{@endcode}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00052}00052\ \textcolor{comment}{*\ @\{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00053}00053\ \textcolor{comment}{*************************************************************************/}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00054}00054\ \textcolor{preprocessor}{\#ifndef\ \_\_UART\_GENERAL\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00055}00055\ \textcolor{preprocessor}{\#define\ \_\_UART\_GENERAL\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00056}00056\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00057}00057\ \textcolor{comment}{/////////////////////////////////////////////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00058}00058\ \textcolor{comment}{/////////////////////////-\/-\/-\/USER\ SETTINGS-\/-\/-\//////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00059}00059\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00060}00060\ \textcolor{comment}{\ \ *\ @addtogroup\ UART\_INIT\ Init\ defines}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00061}00061\ \textcolor{comment}{\ \ *\ @ingroup\ \ \ \ MY\_LIBS\_UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00062}00062\ \textcolor{comment}{\ \ *\ @brief\ \ \ \ \ \ Настройка\ UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00063}00063\ \textcolor{comment}{\ \ *\ @\{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00064}00064\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00065}\mbox{\hyperlink{group___u_a_r_t___i_n_i_t_ga167269406e73327b95c3bb7b9cfe6d89}{00065}}\ \textcolor{preprocessor}{\#define\ HAL\_UART\_MODULE\_ENABLED\ \ \ }\textcolor{comment}{///<\ Включение\ HAL\ UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00066}00066\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00067}\mbox{\hyperlink{group___u_a_r_t___i_n_i_t_gace54f148bb1d72f13bf397d096d38d1b}{00067}}\ \textcolor{preprocessor}{\#define\ USE\_USART1\ \ \ \ }\textcolor{comment}{///<\ Включить\ USART1\ в\ @ref\ UART\_MspInit}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00068}\mbox{\hyperlink{group___u_a_r_t___i_n_i_t_gaacb3968508217a0d8b3f64aa0c8aa07d}{00068}}\ \textcolor{preprocessor}{\#define\ USE\_USART2\ \ \ \ }\textcolor{comment}{///<\ Включить\ USART2\ в\ @ref\ UART\_MspInit}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00069}\mbox{\hyperlink{group___u_a_r_t___i_n_i_t_ga6dadd967b428aade24008ec060009976}{00069}}\ \textcolor{preprocessor}{\#define\ USE\_USART3\ \ \ \ }\textcolor{comment}{///<\ Включить\ USART3\ в\ @ref\ UART\_MspInit}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00070}\mbox{\hyperlink{group___u_a_r_t___i_n_i_t_ga779530e93e7aa1f25eb13045ec42b8e7}{00070}}\ \textcolor{preprocessor}{\#define\ USE\_UART4\ \ \ \ \ }\textcolor{comment}{///<\ Включить\ UART4\ в\ @ref\ UART\_MspInit}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00071}\mbox{\hyperlink{group___u_a_r_t___i_n_i_t_ga592c6bf4a6496d6806ba0838cdfa2340}{00071}}\ \textcolor{preprocessor}{\#define\ USE\_UART5\ \ \ \ \ }\textcolor{comment}{///<\ Включить\ UART5\ в\ @ref\ UART\_MspInit}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00072}\mbox{\hyperlink{group___u_a_r_t___i_n_i_t_gafaeb8bdd4aa7fb1987505530daa90868}{00072}}\ \textcolor{preprocessor}{\#define\ USE\_USART6\ \ \ \ }\textcolor{comment}{///<\ Включить\ USART6\ в\ @ref\ UART\_MspInit}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00073}00073\ \textcolor{comment}{/**\ UART\_INIT}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00074}00074\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00075}00075\ \textcolor{comment}{\ \ */}\textcolor{preprocessor}{}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00076}00076\ \textcolor{comment}{/////////////////////////-\/-\/-\/USER\ SETTINGS-\/-\/-\//////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00077}00077\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{mylibs__defs_8h}{mylibs\_defs.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00078}00078\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00079}00079\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00080}00080\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00081}00081\ \textcolor{comment}{/////////////////////////////////////////////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00082}00082\ \textcolor{comment}{////////////////////////////-\/-\/-\/DEFINES-\/-\/-\/////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00083}00083\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00084}00084\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00085}00085\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00086}00086\ \textcolor{comment}{////////////////////////////-\/-\/-\/DEFINES-\/-\/-\/////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00087}00087\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00088}00088\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00089}00089\ \textcolor{comment}{/////////////////////////////////////////////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00090}00090\ \textcolor{comment}{///////////////////////-\/-\/-\/STRUCTURES\ \&\ ENUMS-\/-\/-\///////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00091}00091\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00092}00092\ \textcolor{comment}{\ \ *\ @brief\ Структура\ настроек\ UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00093}00093\ \textcolor{comment}{\ \ *\ @details\ Содержит\ все\ необходимые\ параметры\ для\ инициализации\ UART,}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00094}00094\ \textcolor{comment}{\ \ *\ включая\ GPIO\ и\ DMA.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00095}00095\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00096}\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{00096}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00097}00097\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00098}\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{00098}}\ \ \ UART\_HandleTypeDef\ \mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ HAL\ handle\ UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00099}00099\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00100}\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_af6f9910d065bae715cdb4a1024143a8f}{00100}}\ \ \ GPIO\_TypeDef\ *\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_af6f9910d065bae715cdb4a1024143a8f}{GPIOx}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Порт\ для\ UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00101}\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a3fba2b52788fe453348b5d92ed52ba49}{00101}}\ \ \ uint16\_t\ \mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a3fba2b52788fe453348b5d92ed52ba49}{GPIO\_PIN\_RX}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Пин\ приема}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00102}\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a5f1babfcfb436cd77f5614253c0a5bef}{00102}}\ \ \ uint16\_t\ \mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a5f1babfcfb436cd77f5614253c0a5bef}{GPIO\_PIN\_TX}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Пин\ передачи}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00103}00103\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00104}\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a1ecc9ac6a1d2747ade56770cbab6a613}{00104}}\ \ \ DMA\_Stream\_TypeDef\ *\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a1ecc9ac6a1d2747ade56770cbab6a613}{DMAChannel}};\ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Канал\ DMA\ (NULL\ если\ не\ нужен)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00105}\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a15ce92b03f7f189bfbe1ab88a5f94d19}{00105}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a15ce92b03f7f189bfbe1ab88a5f94d19}{DMA\_CHANNEL\_X}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Номер\ канала\ DMA\ (0\ если\ не\ нужен)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00106}00106\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00107}00107\ \}\ \mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\_SettingsTypeDef}};}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00108}00108\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00109}00109\ \textcolor{comment}{///////////////////////-\/-\/-\/STRUCTURES\ \&\ ENUMS-\/-\/-\///////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00110}00110\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00111}00111\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00112}00112\ \textcolor{comment}{/////////////////////////////////////////////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00113}00113\ \textcolor{comment}{///////////////////////////-\/-\/-\/FUNCTIONS-\/-\/-\////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00114}00114\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00115}00115\ \textcolor{comment}{/*\ Инициализация\ UART\ с\ использованием\ структуры\ настроек\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00116}00116\ HAL\_StatusTypeDef\ \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9f07396b778505c934143e89953e154}{UART\_Base\_Init}}(\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\_SettingsTypeDef}}\ *suart);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00117}00117\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00118}00118\ \textcolor{comment}{/*\ Проверка\ корректности\ структуры\ настроек\ UART\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00119}00119\ HAL\_StatusTypeDef\ \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga2a22e46ecb9e04b2ce197a0e9c09044a}{UART\_Check\_Init\_Struct}}(\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\_SettingsTypeDef}}\ *suart);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00120}00120\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00121}00121\ \textcolor{comment}{/*\ Инициализация\ тактирования\ и\ прерываний\ для\ выбранного\ UART\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00122}00122\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\_MspInit}}(UART\_HandleTypeDef\ *huart);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00123}00123\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00124}00124\ \textcolor{comment}{/*\ Деинициализация\ тактирования\ и\ прерываний\ для\ выбранного\ UART\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00125}00125\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga93ed6ceef4e3b5e7885786125cce93bc}{UART\_MspDeInit}}(UART\_HandleTypeDef\ *huart);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00126}00126\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00127}00127\ \ \ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00128}00128\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00129}00129\ \textcolor{comment}{\ *\ @cond\ UART\_INTERNAL}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00130}00130\ \textcolor{comment}{\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00131}00131\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00132}00132\ \textcolor{comment}{/*\ Настройка\ GPIO\ для\ UART\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00133}00133\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{general__uart_8c_a3abae05bbde5f3b402bf18ca13dc6a0b}{UART\_GPIO\_Init}}(GPIO\_TypeDef\ *GPIOx,\ uint16\_t\ GPIO\_PIN\_RX,\ uint16\_t\ GPIO\_PIN\_TX);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00134}00134\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00135}00135\ \textcolor{comment}{/*\ Настройка\ DMA\ для\ UART\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00136}00136\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{general__uart_8c_ad82d0cbd19151675135fd75dad315d05}{UART\_DMA\_Init}}(UART\_HandleTypeDef\ *huart,\ DMA\_HandleTypeDef\ *hdma\_rx,\ DMA\_Stream\_TypeDef\ *DMAChannel,\ uint32\_t\ DMA\_CHANNEL\_X);}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00137}00137\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00138}00138\ \textcolor{preprocessor}{\#ifndef\ \_\_USER\_LINKDMA}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00139}00139\ \textcolor{comment}{/**\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00140}00140\ \textcolor{comment}{\ \ *\ @brief\ \ Аналог\ HAL\ макроса\ для\ привязки\ DMA\ к\ UART.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00141}00141\ \textcolor{comment}{\ \ *\ @note\ \ \ @ref\ \_\_HAL\_LINKDMA.}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00142}00142\ \textcolor{comment}{\ \ */}\textcolor{preprocessor}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00143}00143\ \textcolor{preprocessor}{\#define\ \_\_USER\_LINKDMA(\_\_HANDLE\_\_,\ \_\_PPP\_DMA\_FIELD\_\_,\ \_\_DMA\_HANDLE\_\_)\ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00144}00144\ \textcolor{preprocessor}{do\{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00145}00145\ \textcolor{preprocessor}{(\_\_HANDLE\_\_)-\/>\_\_PPP\_DMA\_FIELD\_\_\ =\ (\_\_DMA\_HANDLE\_\_);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00146}00146\ \textcolor{preprocessor}{(\_\_DMA\_HANDLE\_\_)-\/>Parent\ =\ (\_\_HANDLE\_\_);\}\ while(0U)}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00147}00147\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00148}00148\ \ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00149}00149\ \textcolor{comment}{/**\ @endcond\ */}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00150}00150\ \textcolor{comment}{///////////////////////////-\/-\/-\/FUNCTIONS-\/-\/-\////////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00151}00151\ }
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00152}00152\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ \_\_UART\_GENERAL\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00153}00153\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00154}00154\ \textcolor{comment}{/**\ MY\_LIBS\_UART}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00155}00155\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{general__uart_8h_source_l00156}00156\ \textcolor{comment}{\ \ */}}
|
||||
|
||||
\end{DoxyCode}
|
||||
1
Doc/latex/group___m_y___l_i_b_s___s_p_i.md5
Normal file
@ -0,0 +1 @@
|
||||
b9d2d820e20d54c87d46b9628c5b5f42
|
||||
BIN
Doc/latex/group___m_y___l_i_b_s___s_p_i.pdf
Normal file
195
Doc/latex/group___m_y___l_i_b_s___s_p_i.tex
Normal file
@ -0,0 +1,195 @@
|
||||
\doxysubsubsection{SPI Tools }
|
||||
\hypertarget{group___m_y___l_i_b_s___s_p_i}{}\label{group___m_y___l_i_b_s___s_p_i}\index{SPI Tools@{SPI Tools}}
|
||||
|
||||
|
||||
Функции и макросы для удобной работы с SPI.
|
||||
|
||||
|
||||
Collaboration diagram for SPI Tools\+:\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=334pt]{group___m_y___l_i_b_s___s_p_i}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsubsubsection*{Topics}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{group___s_p_i___i_n_i_t}{Init defines}}
|
||||
\begin{DoxyCompactList}\small\item\em Настройка SPI. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsubsubsubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}}
|
||||
\begin{DoxyCompactList}\small\item\em Структура настроек SPI. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsubsubsubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga0e177e3c57a8fcdc73b5602e72ec66ba}{SPI\+\_\+\+Base\+\_\+\+Init}} (\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}sspi)
|
||||
\begin{DoxyCompactList}\small\item\em Инициализация SPI с помощью структуры \doxylink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}. \end{DoxyCompactList}\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga333dd251bc878931086d48aa932b1a5f}{SPI\+\_\+\+Check\+\_\+\+Init\+\_\+\+Struct}} (\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}sspi)
|
||||
\begin{DoxyCompactList}\small\item\em Проверка корректности структуры инициализации SPI. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}} (SPI\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}hspi)
|
||||
\begin{DoxyCompactList}\small\item\em Настройка тактирования и прерываний SPI. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_gac279cc3eaa35541edfe330a1844a85e4}{SPI\+\_\+\+Msp\+De\+Init}} (SPI\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}hspi)
|
||||
\begin{DoxyCompactList}\small\item\em Деинициализация тактирования и прерываний SPI. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsubsubsection{Detailed Description}
|
||||
Функции и макросы для удобной работы с SPI.
|
||||
|
||||
Модуль предоставляет функции для базовой инициализации SPI
|
||||
|
||||
\begin{DoxyParagraph}{Пример использования\+:}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Структура\ настроек\ SPI}}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\_SettingsTypeDef}}\ spi1Settings;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{keywordtype}{void}\ SPI1\_Init(\textcolor{keywordtype}{void})}
|
||||
\DoxyCodeLine{\{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Настройка\ SPI1\ как\ Master,\ 8\ бит,\ полный\ дуплекс}}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Instance\ =\ SPI1;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.Mode\ =\ SPI\_MODE\_MASTER;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.Direction\ =\ SPI\_DIRECTION\_2LINES;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.DataSize\ =\ SPI\_DATASIZE\_8BIT;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.CLKPolarity\ =\ SPI\_POLARITY\_LOW;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.CLKPhase\ =\ SPI\_PHASE\_1EDGE;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.NSS\ =\ SPI\_NSS\_SOFT;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.BaudRatePrescaler\ =\ SPI\_BAUDRATEPRESCALER\_16;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.FirstBit\ =\ SPI\_FIRSTBIT\_MSB;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.TIMode\ =\ SPI\_TIMODE\_DISABLE;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_ad203d8b8d67e4f477d002d15b03ba422}{hspi}}.Init.CRCCalculation\ =\ SPI\_CRCCALCULATION\_DISABLE;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Настройка\ GPIO}}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a6a15d48eccf92959de3a086031fdc979}{CLK\_GPIOx}}\ =\ GPIOA;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3bcb1ed12da3544e02e6d36493669bdc}{CLK\_PIN}}\ =\ GPIO\_PIN\_5;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3f3748103a0b7861f6700042fd691ba1}{CLK\_GPIO\_AlternageFunc}}\ =\ GPIO\_AF5\_SPI1;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0d55a2941854f61934487f3d209cfa95}{MISO\_GPIOx}}\ =\ GPIOA;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a3366c654d7ec6dd41c6a0b504dc8509a}{MISO\_PIN}}\ =\ GPIO\_PIN\_6;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_aecd7a5c6e205335b8ed229d74cd35d14}{MISO\_GPIO\_AlternageFunc}}\ =\ GPIO\_AF5\_SPI1;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a0af3bdb273818ff97eb4ff3cff918820}{MOSI\_GPIOx}}\ =\ GPIOA;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_a961208869faf4a7369aaf4edde75f176}{MOSI\_PIN}}\ =\ GPIO\_PIN\_7;}
|
||||
\DoxyCodeLine{\ \ \ \ spi1Settings.\mbox{\hyperlink{struct_s_p_i___settings_type_def_afbe75a1c36650a4a9b41fa706a4c7eab}{MOSI\_GPIO\_AlternageFunc}}\ =\ GPIO\_AF5\_SPI1;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Инициализация\ SPI}}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{if}(\mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i_ga0e177e3c57a8fcdc73b5602e72ec66ba}{SPI\_Base\_Init}}(\&spi1Settings)\ !=\ HAL\_OK)}
|
||||
\DoxyCodeLine{\ \ \ \ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{comment}{//\ Обработка\ ошибки}}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ Error\_Handler();}
|
||||
\DoxyCodeLine{\ \ \ \ \}}
|
||||
\DoxyCodeLine{\}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
\end{DoxyParagraph}
|
||||
\begin{DoxyNote}{Note}
|
||||
Требуется подключение модуля SPI в библиотеке HAL
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#define\ HAL\_SPI\_MODULE\_ENABLED}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
\label{doc-func-members}
|
||||
\Hypertarget{group___m_y___l_i_b_s___s_p_i_doc-func-members}
|
||||
\doxysubsubsubsection{Function Documentation}
|
||||
\Hypertarget{group___m_y___l_i_b_s___s_p_i_ga0e177e3c57a8fcdc73b5602e72ec66ba}\index{SPI Tools@{SPI Tools}!SPI\_Base\_Init@{SPI\_Base\_Init}}
|
||||
\index{SPI\_Base\_Init@{SPI\_Base\_Init}!SPI Tools@{SPI Tools}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{SPI\_Base\_Init()}{SPI\_Base\_Init()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y___l_i_b_s___s_p_i_ga0e177e3c57a8fcdc73b5602e72ec66ba}
|
||||
HAL\+\_\+\+Status\+Type\+Def SPI\+\_\+\+Base\+\_\+\+Init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{sspi}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Инициализация SPI с помощью структуры \doxylink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em sspi} & Указатель на структуру с настройками SPI. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
HAL status.
|
||||
\end{DoxyReturn}
|
||||
~\newline
|
||||
Инициализирует SPI и его GPIO. Настройка аналогична HAL\+\_\+\+SPI\+\_\+\+Init
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{suart.hspi.Init...}
|
||||
|
||||
\end{DoxyCode}
|
||||
но дополнительно надо прописать пины CLK/\+MISO/\+MOSI \doxylink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__spi_8c_source_l00028}{28}} of file \mbox{\hyperlink{general__spi_8c_source}{general\+\_\+spi.\+c}}.
|
||||
|
||||
\Hypertarget{group___m_y___l_i_b_s___s_p_i_ga333dd251bc878931086d48aa932b1a5f}\index{SPI Tools@{SPI Tools}!SPI\_Check\_Init\_Struct@{SPI\_Check\_Init\_Struct}}
|
||||
\index{SPI\_Check\_Init\_Struct@{SPI\_Check\_Init\_Struct}!SPI Tools@{SPI Tools}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{SPI\_Check\_Init\_Struct()}{SPI\_Check\_Init\_Struct()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y___l_i_b_s___s_p_i_ga333dd251bc878931086d48aa932b1a5f}
|
||||
HAL\+\_\+\+Status\+Type\+Def SPI\+\_\+\+Check\+\_\+\+Init\+\_\+\+Struct (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_s_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{sspi}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Проверка корректности структуры инициализации SPI.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em sspi} & Указатель на структуру с настройками SPI. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
HAL status.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__spi_8c_source_l00246}{246}} of file \mbox{\hyperlink{general__spi_8c_source}{general\+\_\+spi.\+c}}.
|
||||
|
||||
\Hypertarget{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}\index{SPI Tools@{SPI Tools}!SPI\_MspInit@{SPI\_MspInit}}
|
||||
\index{SPI\_MspInit@{SPI\_MspInit}!SPI Tools@{SPI Tools}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{SPI\_MspInit()}{SPI\_MspInit()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}
|
||||
void SPI\+\_\+\+Msp\+Init (\begin{DoxyParamCaption}\item[{SPI\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{hspi}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Настройка тактирования и прерываний SPI.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em hspi} & Указатель на хендл SPI. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyNote}{Note}
|
||||
Чтобы не генерировать функцию с иницилизацией неиспользуемых SPI, дефайнами \doxylink{group___s_p_i___i_n_i_t}{Init defines} в \doxylink{general__spi_8h}{general\+\_\+spi.\+h} определяются используемые SPI.
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__spi_8c_source_l00127}{127}} of file \mbox{\hyperlink{general__spi_8c_source}{general\+\_\+spi.\+c}}.
|
||||
|
||||
\Hypertarget{group___m_y___l_i_b_s___s_p_i_gac279cc3eaa35541edfe330a1844a85e4}\index{SPI Tools@{SPI Tools}!SPI\_MspDeInit@{SPI\_MspDeInit}}
|
||||
\index{SPI\_MspDeInit@{SPI\_MspDeInit}!SPI Tools@{SPI Tools}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{SPI\_MspDeInit()}{SPI\_MspDeInit()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y___l_i_b_s___s_p_i_gac279cc3eaa35541edfe330a1844a85e4}
|
||||
void SPI\+\_\+\+Msp\+De\+Init (\begin{DoxyParamCaption}\item[{SPI\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{hspi}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Деинициализация тактирования и прерываний SPI.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em hspi} & Указатель на хендл SPI. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyNote}{Note}
|
||||
Чтобы не генерировать функцию с иницилизацией неиспользуемых SPI, дефайнами \doxylink{group___s_p_i___i_n_i_t}{Init defines} в \doxylink{general__spi_8h}{general\+\_\+spi.\+h} определяются используемые SPI.
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__spi_8c_source_l00191}{191}} of file \mbox{\hyperlink{general__spi_8c_source}{general\+\_\+spi.\+c}}.
|
||||
|
||||
\input{group___s_p_i___i_n_i_t}
|
||||
1
Doc/latex/group___m_y___l_i_b_s___u_a_r_t.md5
Normal file
@ -0,0 +1 @@
|
||||
5475854d3a1c20af70a164c6fe76463e
|
||||
BIN
Doc/latex/group___m_y___l_i_b_s___u_a_r_t.pdf
Normal file
193
Doc/latex/group___m_y___l_i_b_s___u_a_r_t.tex
Normal file
@ -0,0 +1,193 @@
|
||||
\doxysubsubsection{UART Tools }
|
||||
\hypertarget{group___m_y___l_i_b_s___u_a_r_t}{}\label{group___m_y___l_i_b_s___u_a_r_t}\index{UART Tools@{UART Tools}}
|
||||
|
||||
|
||||
Функции и макросы для удобной работы с UART.
|
||||
|
||||
|
||||
Collaboration diagram for UART Tools\+:\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=344pt]{group___m_y___l_i_b_s___u_a_r_t}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsubsubsection*{Topics}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{group___u_a_r_t___i_n_i_t}{Init defines}}
|
||||
\begin{DoxyCompactList}\small\item\em Настройка UART. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsubsubsubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}}
|
||||
\begin{DoxyCompactList}\small\item\em Структура настроек UART. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsubsubsubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9f07396b778505c934143e89953e154}{UART\+\_\+\+Base\+\_\+\+Init}} (\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}suart)
|
||||
\begin{DoxyCompactList}\small\item\em Инициализация UART с помощью структуры \doxylink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}. \end{DoxyCompactList}\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga2a22e46ecb9e04b2ce197a0e9c09044a}{UART\+\_\+\+Check\+\_\+\+Init\+\_\+\+Struct}} (\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}suart)
|
||||
\begin{DoxyCompactList}\small\item\em Проверка корректности структуры инициализации UART. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\+\_\+\+Msp\+Init}} (UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}huart)
|
||||
\begin{DoxyCompactList}\small\item\em Настройка тактирования и прерываний UART. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_ga93ed6ceef4e3b5e7885786125cce93bc}{UART\+\_\+\+Msp\+De\+Init}} (UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}huart)
|
||||
\begin{DoxyCompactList}\small\item\em Деинициализация тактирования и прерываний UART. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsubsubsection{Detailed Description}
|
||||
Функции и макросы для удобной работы с UART.
|
||||
|
||||
Модуль предоставляет функции для базовой инициализации UART
|
||||
|
||||
\begin{DoxyParagraph}{Пример использования\+:}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Структура\ настроек\ UART}}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\_SettingsTypeDef}}\ uart2Settings;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{keywordtype}{void}\ UART2\_Init(\textcolor{keywordtype}{void})}
|
||||
\DoxyCodeLine{\{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Настройка\ UART2\ с\ 115200\ бод,\ 8\ бит,\ 1\ стоп-\/бит,\ без\ паритета}}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Instance\ =\ USART2;}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Init.BaudRate\ =\ 115200;}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Init.WordLength\ =\ UART\_WORDLENGTH\_8B;}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Init.StopBits\ =\ UART\_STOPBITS\_1;}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Init.Parity\ =\ UART\_PARITY\_NONE;}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Init.Mode\ =\ UART\_MODE\_TX\_RX;}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Init.HwFlowCtl\ =\ UART\_HWCONTROL\_NONE;}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_accf2c9448a3ea8eb3b8c25a569276fea}{huart}}.Init.OverSampling\ =\ UART\_OVERSAMPLING\_16;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Настройка\ GPIO}}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_af6f9910d065bae715cdb4a1024143a8f}{GPIOx}}\ =\ GPIOA;}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a5f1babfcfb436cd77f5614253c0a5bef}{GPIO\_PIN\_TX}}\ =\ GPIO\_PIN\_2;}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a3fba2b52788fe453348b5d92ed52ba49}{GPIO\_PIN\_RX}}\ =\ GPIO\_PIN\_3;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ DMA\ не\ используется\ в\ этом\ примере}}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a1ecc9ac6a1d2747ade56770cbab6a613}{DMAChannel}}\ =\ NULL;}
|
||||
\DoxyCodeLine{\ \ \ \ uart2Settings.\mbox{\hyperlink{struct_u_a_r_t___settings_type_def_a15ce92b03f7f189bfbe1ab88a5f94d19}{DMA\_CHANNEL\_X}}\ =\ 0;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ Инициализация\ UART}}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{if}(\mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t_gab9f07396b778505c934143e89953e154}{UART\_Base\_Init}}(\&uart2Settings)\ !=\ HAL\_OK)}
|
||||
\DoxyCodeLine{\ \ \ \ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{comment}{//\ Обработка\ ошибки}}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ Error\_Handler();}
|
||||
\DoxyCodeLine{\ \ \ \ \}}
|
||||
\DoxyCodeLine{\}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
\end{DoxyParagraph}
|
||||
\begin{DoxyNote}{Note}
|
||||
Требуется подключение модуля UART в библиотеке HAL
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#define\ HAL\_UART\_MODULE\_ENABLED}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
\label{doc-func-members}
|
||||
\Hypertarget{group___m_y___l_i_b_s___u_a_r_t_doc-func-members}
|
||||
\doxysubsubsubsection{Function Documentation}
|
||||
\Hypertarget{group___m_y___l_i_b_s___u_a_r_t_gab9f07396b778505c934143e89953e154}\index{UART Tools@{UART Tools}!UART\_Base\_Init@{UART\_Base\_Init}}
|
||||
\index{UART\_Base\_Init@{UART\_Base\_Init}!UART Tools@{UART Tools}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{UART\_Base\_Init()}{UART\_Base\_Init()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y___l_i_b_s___u_a_r_t_gab9f07396b778505c934143e89953e154}
|
||||
HAL\+\_\+\+Status\+Type\+Def UART\+\_\+\+Base\+\_\+\+Init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{suart}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Инициализация UART с помощью структуры \doxylink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em suart} & Указатель на структуру с настройками UART. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
HAL status.
|
||||
\end{DoxyReturn}
|
||||
~\newline
|
||||
Инициализирует UART и его GPIO и при необходимости DMA. Настройка аналогична HAL\+\_\+\+UART\+\_\+\+Init
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{suart.huart.Init...}
|
||||
|
||||
\end{DoxyCode}
|
||||
но дополнительно надо прописать пины RX/\+TX \doxylink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{suart-\/>GPIOx,\ suart-\/>GPIO\_PIN\_RX,\ suart-\/>GPIO\_PIN\_TX}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__uart_8c_source_l00032}{32}} of file \mbox{\hyperlink{general__uart_8c_source}{general\+\_\+uart.\+c}}.
|
||||
|
||||
\Hypertarget{group___m_y___l_i_b_s___u_a_r_t_ga2a22e46ecb9e04b2ce197a0e9c09044a}\index{UART Tools@{UART Tools}!UART\_Check\_Init\_Struct@{UART\_Check\_Init\_Struct}}
|
||||
\index{UART\_Check\_Init\_Struct@{UART\_Check\_Init\_Struct}!UART Tools@{UART Tools}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{UART\_Check\_Init\_Struct()}{UART\_Check\_Init\_Struct()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y___l_i_b_s___u_a_r_t_ga2a22e46ecb9e04b2ce197a0e9c09044a}
|
||||
HAL\+\_\+\+Status\+Type\+Def UART\+\_\+\+Check\+\_\+\+Init\+\_\+\+Struct (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{suart}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Проверка корректности структуры инициализации UART.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em suart} & Указатель на структуру с настройками UART. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
HAL status.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__uart_8c_source_l00364}{364}} of file \mbox{\hyperlink{general__uart_8c_source}{general\+\_\+uart.\+c}}.
|
||||
|
||||
\Hypertarget{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}\index{UART Tools@{UART Tools}!UART\_MspInit@{UART\_MspInit}}
|
||||
\index{UART\_MspInit@{UART\_MspInit}!UART Tools@{UART Tools}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{UART\_MspInit()}{UART\_MspInit()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y___l_i_b_s___u_a_r_t_gab9313fd2f9fc6873ca6bfbc5b96edbbb}
|
||||
void UART\+\_\+\+Msp\+Init (\begin{DoxyParamCaption}\item[{UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{huart}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Настройка тактирования и прерываний UART.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em huart} & Указатель на хендл UART. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyNote}{Note}
|
||||
Чтобы не генерировать функцию с иницилизацией неиспользуемых UART, дефайнами \doxylink{group___u_a_r_t___i_n_i_t}{Init defines} в \doxylink{general__uart_8h}{general\+\_\+uart.\+h} определяются используемые UART.
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__uart_8c_source_l00146}{146}} of file \mbox{\hyperlink{general__uart_8c_source}{general\+\_\+uart.\+c}}.
|
||||
|
||||
\Hypertarget{group___m_y___l_i_b_s___u_a_r_t_ga93ed6ceef4e3b5e7885786125cce93bc}\index{UART Tools@{UART Tools}!UART\_MspDeInit@{UART\_MspDeInit}}
|
||||
\index{UART\_MspDeInit@{UART\_MspDeInit}!UART Tools@{UART Tools}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{UART\_MspDeInit()}{UART\_MspDeInit()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y___l_i_b_s___u_a_r_t_ga93ed6ceef4e3b5e7885786125cce93bc}
|
||||
void UART\+\_\+\+Msp\+De\+Init (\begin{DoxyParamCaption}\item[{UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{huart}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Деинициализация тактирования и прерываний UART.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em huart} & Указатель на хендл UART. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyNote}{Note}
|
||||
Чтобы не генерировать функцию с деиницилизацией неиспользуемых UART, дефайнами \doxylink{group___u_a_r_t___i_n_i_t}{Init defines} в \doxylink{general__uart_8h}{general\+\_\+uart.\+h} определяются используемые UART.
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__uart_8c_source_l00267}{267}} of file \mbox{\hyperlink{general__uart_8c_source}{general\+\_\+uart.\+c}}.
|
||||
|
||||
\input{group___u_a_r_t___i_n_i_t}
|
||||
@ -0,0 +1 @@
|
||||
e6d1f13a7d892bfe12b1137f7c4b33fa
|
||||
BIN
Doc/latex/group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l.pdf
Normal file
136
Doc/latex/group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l.tex
Normal file
@ -0,0 +1,136 @@
|
||||
\doxysubsubsubsection{General tools }
|
||||
\hypertarget{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l}{}\label{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l}\index{General tools@{General tools}}
|
||||
|
||||
|
||||
Функции для базовой инициализации UART.
|
||||
|
||||
|
||||
Collaboration diagram for General tools\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=350pt]{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsubsubsubsection*{Topics}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{group___u_a_r_t___i_n_i_t}{Init defines}}
|
||||
\begin{DoxyCompactList}\small\item\em Настройка UART. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsubsubsubsubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}}
|
||||
\begin{DoxyCompactList}\small\item\em Структура настроек UART. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsubsubsubsubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_gab9f07396b778505c934143e89953e154}{UART\+\_\+\+Base\+\_\+\+Init}} (\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}suart)
|
||||
\begin{DoxyCompactList}\small\item\em Инициализация UART с помощью структуры \doxylink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}. \end{DoxyCompactList}\item
|
||||
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_gac9c27133622dfaf1f43683f4edf0ff65}{Check\+\_\+\+UART\+\_\+\+Init\+\_\+\+Struct}} (\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}suart)
|
||||
\begin{DoxyCompactList}\small\item\em Проверка корректности структуры инициализации UART. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_gab9313fd2f9fc6873ca6bfbc5b96edbbb}{UART\+\_\+\+Msp\+Init}} (UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}huart)
|
||||
\begin{DoxyCompactList}\small\item\em Настройка тактирования и прерываний UART. \end{DoxyCompactList}\item
|
||||
void \mbox{\hyperlink{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_ga93ed6ceef4e3b5e7885786125cce93bc}{UART\+\_\+\+Msp\+De\+Init}} (UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}huart)
|
||||
\begin{DoxyCompactList}\small\item\em Deinitialize UART \& DMA clock and interrupt. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsubsubsubsection{Detailed Description}
|
||||
Функции для базовой инициализации UART.
|
||||
|
||||
|
||||
|
||||
\label{doc-func-members}
|
||||
\Hypertarget{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_doc-func-members}
|
||||
\doxysubsubsubsubsection{Function Documentation}
|
||||
\Hypertarget{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_gab9f07396b778505c934143e89953e154}\index{General tools@{General tools}!UART\_Base\_Init@{UART\_Base\_Init}}
|
||||
\index{UART\_Base\_Init@{UART\_Base\_Init}!General tools@{General tools}}
|
||||
\doxysubsubsubsubsubsection{\texorpdfstring{UART\_Base\_Init()}{UART\_Base\_Init()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_gab9f07396b778505c934143e89953e154}
|
||||
HAL\+\_\+\+Status\+Type\+Def UART\+\_\+\+Base\+\_\+\+Init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{suart}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Инициализация UART с помощью структуры \doxylink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em suart} & Указатель на структуру с настройками UART. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
HAL status.
|
||||
\end{DoxyReturn}
|
||||
~\newline
|
||||
Инициализирует UART и при необходимости его GPIO и DMA.
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__uart_8c_source_l00024}{24}} of file \mbox{\hyperlink{general__uart_8c_source}{general\+\_\+uart.\+c}}.
|
||||
|
||||
\Hypertarget{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_gac9c27133622dfaf1f43683f4edf0ff65}\index{General tools@{General tools}!Check\_UART\_Init\_Struct@{Check\_UART\_Init\_Struct}}
|
||||
\index{Check\_UART\_Init\_Struct@{Check\_UART\_Init\_Struct}!General tools@{General tools}}
|
||||
\doxysubsubsubsubsubsection{\texorpdfstring{Check\_UART\_Init\_Struct()}{Check\_UART\_Init\_Struct()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_gac9c27133622dfaf1f43683f4edf0ff65}
|
||||
HAL\+\_\+\+Status\+Type\+Def Check\+\_\+\+UART\+\_\+\+Init\+\_\+\+Struct (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{suart}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Проверка корректности структуры инициализации UART.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em suart} & Указатель на структуру с настройками UART. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
HAL status.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__uart_8c_source_l00356}{356}} of file \mbox{\hyperlink{general__uart_8c_source}{general\+\_\+uart.\+c}}.
|
||||
|
||||
\Hypertarget{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_gab9313fd2f9fc6873ca6bfbc5b96edbbb}\index{General tools@{General tools}!UART\_MspInit@{UART\_MspInit}}
|
||||
\index{UART\_MspInit@{UART\_MspInit}!General tools@{General tools}}
|
||||
\doxysubsubsubsubsubsection{\texorpdfstring{UART\_MspInit()}{UART\_MspInit()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_gab9313fd2f9fc6873ca6bfbc5b96edbbb}
|
||||
void UART\+\_\+\+Msp\+Init (\begin{DoxyParamCaption}\item[{UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{huart}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Настройка тактирования и прерываний UART.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em huart} & Указатель на хендл UART. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyNote}{Note}
|
||||
Чтобы не генерировать функцию с иницилизацией неиспользуемых UART, дефайнами \doxylink{group___u_a_r_t___i_n_i_t}{Init defines} в \doxylink{general__uart_8h}{general\+\_\+uart.\+h} определяются используемые UART.
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__uart_8c_source_l00138}{138}} of file \mbox{\hyperlink{general__uart_8c_source}{general\+\_\+uart.\+c}}.
|
||||
|
||||
\Hypertarget{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_ga93ed6ceef4e3b5e7885786125cce93bc}\index{General tools@{General tools}!UART\_MspDeInit@{UART\_MspDeInit}}
|
||||
\index{UART\_MspDeInit@{UART\_MspDeInit}!General tools@{General tools}}
|
||||
\doxysubsubsubsubsubsection{\texorpdfstring{UART\_MspDeInit()}{UART\_MspDeInit()}}
|
||||
{\footnotesize\ttfamily \label{group___m_y_l_i_b_s___u_a_r_t___g_e_n_e_r_a_l_ga93ed6ceef4e3b5e7885786125cce93bc}
|
||||
void UART\+\_\+\+Msp\+De\+Init (\begin{DoxyParamCaption}\item[{UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{huart}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Deinitialize UART \& DMA clock and interrupt.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em huart} & -\/ указатель на хендл UART для деинициализации. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyNote}{Note}
|
||||
Чтобы не генерировать функцию с деиницилизацией неиспользуемых UART, дефайнами \doxylink{group___u_a_r_t___i_n_i_t}{Init defines} в \doxylink{general__uart_8h}{general\+\_\+uart.\+h} определяются используемые UART.
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__uart_8c_source_l00259}{259}} of file \mbox{\hyperlink{general__uart_8c_source}{general\+\_\+uart.\+c}}.
|
||||
|
||||
\input{group___u_a_r_t___i_n_i_t}
|
||||
1
Doc/latex/group___s_p_i___i_n_i_t.md5
Normal file
@ -0,0 +1 @@
|
||||
a5fee9e01f339403bf93347eac092de0
|
||||
BIN
Doc/latex/group___s_p_i___i_n_i_t.pdf
Normal file
91
Doc/latex/group___s_p_i___i_n_i_t.tex
Normal file
@ -0,0 +1,91 @@
|
||||
\doxysubsubsubsection{Init defines }
|
||||
\hypertarget{group___s_p_i___i_n_i_t}{}\label{group___s_p_i___i_n_i_t}\index{Init defines@{Init defines}}
|
||||
|
||||
|
||||
Настройка SPI.
|
||||
|
||||
|
||||
Collaboration diagram for Init defines\+:\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=238pt]{group___s_p_i___i_n_i_t}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsubsubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___s_p_i___i_n_i_t_ga8ad4712bf4add56892d057778e826e0c}{HAL\+\_\+\+SPI\+\_\+\+MODULE\+\_\+\+ENABLED}}
|
||||
\begin{DoxyCompactList}\small\item\em Включение HAL SPI. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___s_p_i___i_n_i_t_ga2fe0c8aeb2c61679f32836fef479eedf}{USE\+\_\+\+SPI1}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить SPI1 в \doxylink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___s_p_i___i_n_i_t_ga53687cddb8e39e76a79b8ffaa152fb2b}{USE\+\_\+\+SPI2}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить SPI2 в \doxylink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___s_p_i___i_n_i_t_ga5fdd6e5934a8005ef05b80f6d95883dc}{USE\+\_\+\+SPI3}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить SPI3 в \doxylink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsubsubsubsection{Detailed Description}
|
||||
Настройка SPI.
|
||||
|
||||
|
||||
|
||||
\label{doc-define-members}
|
||||
\Hypertarget{group___s_p_i___i_n_i_t_doc-define-members}
|
||||
\doxysubsubsubsubsection{Macro Definition Documentation}
|
||||
\Hypertarget{group___s_p_i___i_n_i_t_ga8ad4712bf4add56892d057778e826e0c}\index{Init defines@{Init defines}!HAL\_SPI\_MODULE\_ENABLED@{HAL\_SPI\_MODULE\_ENABLED}}
|
||||
\index{HAL\_SPI\_MODULE\_ENABLED@{HAL\_SPI\_MODULE\_ENABLED}!Init defines@{Init defines}}
|
||||
\doxysubsubsubsubsubsection{\texorpdfstring{HAL\_SPI\_MODULE\_ENABLED}{HAL\_SPI\_MODULE\_ENABLED}}
|
||||
{\footnotesize\ttfamily \label{group___s_p_i___i_n_i_t_ga8ad4712bf4add56892d057778e826e0c}
|
||||
\#define HAL\+\_\+\+SPI\+\_\+\+MODULE\+\_\+\+ENABLED}
|
||||
|
||||
|
||||
|
||||
Включение HAL SPI.
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__spi_8h_source_l00075}{75}} of file \mbox{\hyperlink{general__spi_8h_source}{general\+\_\+spi.\+h}}.
|
||||
|
||||
\Hypertarget{group___s_p_i___i_n_i_t_ga2fe0c8aeb2c61679f32836fef479eedf}\index{Init defines@{Init defines}!USE\_SPI1@{USE\_SPI1}}
|
||||
\index{USE\_SPI1@{USE\_SPI1}!Init defines@{Init defines}}
|
||||
\doxysubsubsubsubsubsection{\texorpdfstring{USE\_SPI1}{USE\_SPI1}}
|
||||
{\footnotesize\ttfamily \label{group___s_p_i___i_n_i_t_ga2fe0c8aeb2c61679f32836fef479eedf}
|
||||
\#define USE\+\_\+\+SPI1}
|
||||
|
||||
|
||||
|
||||
Включить SPI1 в \doxylink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}.
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__spi_8h_source_l00077}{77}} of file \mbox{\hyperlink{general__spi_8h_source}{general\+\_\+spi.\+h}}.
|
||||
|
||||
\Hypertarget{group___s_p_i___i_n_i_t_ga53687cddb8e39e76a79b8ffaa152fb2b}\index{Init defines@{Init defines}!USE\_SPI2@{USE\_SPI2}}
|
||||
\index{USE\_SPI2@{USE\_SPI2}!Init defines@{Init defines}}
|
||||
\doxysubsubsubsubsubsection{\texorpdfstring{USE\_SPI2}{USE\_SPI2}}
|
||||
{\footnotesize\ttfamily \label{group___s_p_i___i_n_i_t_ga53687cddb8e39e76a79b8ffaa152fb2b}
|
||||
\#define USE\+\_\+\+SPI2}
|
||||
|
||||
|
||||
|
||||
Включить SPI2 в \doxylink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}.
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__spi_8h_source_l00078}{78}} of file \mbox{\hyperlink{general__spi_8h_source}{general\+\_\+spi.\+h}}.
|
||||
|
||||
\Hypertarget{group___s_p_i___i_n_i_t_ga5fdd6e5934a8005ef05b80f6d95883dc}\index{Init defines@{Init defines}!USE\_SPI3@{USE\_SPI3}}
|
||||
\index{USE\_SPI3@{USE\_SPI3}!Init defines@{Init defines}}
|
||||
\doxysubsubsubsubsubsection{\texorpdfstring{USE\_SPI3}{USE\_SPI3}}
|
||||
{\footnotesize\ttfamily \label{group___s_p_i___i_n_i_t_ga5fdd6e5934a8005ef05b80f6d95883dc}
|
||||
\#define USE\+\_\+\+SPI3}
|
||||
|
||||
|
||||
|
||||
Включить SPI3 в \doxylink{group___m_y___l_i_b_s___s_p_i_gab9f13318daf02bc5b5f302ae392dccac}{SPI\+\_\+\+Msp\+Init}.
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{general__spi_8h_source_l00079}{79}} of file \mbox{\hyperlink{general__spi_8h_source}{general\+\_\+spi.\+h}}.
|
||||
|
||||