init commit

сделаны базовые хедеры:
- mylibs_config
- mylibs_defs
- mylibs_include
- trace
- trackers
- bit_access

также сделан модуль general_gpio.c/.h

Но надо проверить переструктуризированные модули

Остальные модули  __general_XXX в целом готовы и как-то работают (на МЗКТЭ) но не структуризированы
This commit is contained in:
2025-10-18 18:27:37 +03:00
commit f61aa1ff0f
304 changed files with 57234 additions and 0 deletions

View File

@@ -0,0 +1,306 @@
<!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_flash.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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('____general__flash_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_flash.c</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#include &quot;general_flash.h&quot;</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span>FLASH_EraseInitTypeDef EraseInitStruct;</div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="keyword">extern</span> HAL_StatusTypeDef res_hal;</div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="keywordtype">unsigned</span> CRC_Update;</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">//uint32_t PAGE_OFFSET = ((uint32_t)((4-1) * 0x0400));</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span>uint32_t PAGE_NUMB = 127;</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">/* Записать в память данные, произвольного размера */</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span>HAL_StatusTypeDef FLASH_Write_Data(uint32_t* Address, uint8_t* Data, <span class="keywordtype">int</span> Data_size)</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span>{</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> HAL_StatusTypeDef res_hal;</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="keywordtype">int</span> data_cnt = 0;</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> uint32_t adr;</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> uint32_t word_data;</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> res_hal = HAL_FLASH_Unlock();</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keywordflow">for</span> (adr = *Address; adr &lt; *Address + Data_size; adr = adr + 4)</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> word_data = (</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> Data[data_cnt] |</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> Data[data_cnt + 1] &lt;&lt; 8 |</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> Data[data_cnt + 2] &lt;&lt; 16 |</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> Data[data_cnt + 3] &lt;&lt; 24);</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> res_hal = HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, adr, word_data);</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> data_cnt += 4;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> }</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> *Address += Data_size;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> res_hal = HAL_FLASH_Lock();</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> <span class="keywordflow">return</span> res_hal;</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> </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> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span>HAL_StatusTypeDef FLASH_Enable_DualBankMode(<span class="keywordtype">void</span>)</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> HAL_StatusTypeDef res_hal;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> FLASH_AdvOBProgramInitTypeDef OB_DualBank;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </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> res_hal = HAL_FLASH_Unlock();</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> res_hal = HAL_FLASH_OB_Unlock();</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </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> FLASH-&gt;OPTCR |= FLASH_OPTCR_DB1M;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> res_hal = HAL_FLASH_OB_Launch();</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> res_hal = HAL_FLASH_OB_Lock();</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> res_hal = HAL_FLASH_Lock();</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">return</span> res_hal;</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> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span> res_hal;</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> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment">/* Убрать защиту */</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span>HAL_StatusTypeDef FLASH_WriteProtection(uint32_t BankN, uint32_t WriteProtection)</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> HAL_StatusTypeDef res_hal;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> FLASH_OBProgramInitTypeDef OBInit;</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> FLASH-&gt;SR |= FLASH_FLAG_WRPERR <span class="comment">// Write Protection Error</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> | FLASH_FLAG_PGSERR <span class="comment">// Programming Sequence Error</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> | FLASH_FLAG_PGAERR <span class="comment">// Programming Alignment Error</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> | FLASH_FLAG_OPERR; <span class="comment">// Operation Error</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> res_hal = HAL_FLASH_Unlock();</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">return</span> res_hal;</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"> 98</span> res_hal = HAL_FLASH_OB_Unlock(); <span class="comment">// Разблокировка Option Bytes</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="comment">// Считываем текущую конфигурацию Option Bytes</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> HAL_FLASHEx_OBGetConfig(&amp;OBInit);</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"> 105</span> <span class="comment">// Отключаем защиту на всех секторах второго банка</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> OBInit.OptionType = OPTIONBYTE_WRP;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> OBInit.WRPState = WriteProtection; <span class="comment">// Снять защиту</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> OBInit.WRPSector = OB_WRP_SECTOR_12; <span class="comment">// Снять защиту</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> OBInit.Banks = BankN; <span class="comment">// Указываем второй банк</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> res_hal = HAL_FLASHEx_OBProgram(&amp;OBInit);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">return</span> res_hal;</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">// Записываем изменения и перезагружаем чип</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> res_hal = HAL_FLASH_OB_Launch();</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">return</span> res_hal;</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> <span class="comment">// Считываем текущую конфигурацию Option Bytes</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> HAL_FLASHEx_OBGetConfig(&amp;OBInit);</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><span class="comment">// Блокировка Option Bytes</span></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> res_hal = HAL_FLASH_OB_Lock(); </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) </div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> res_hal;</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> res_hal = HAL_FLASH_Lock();</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) </div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">return</span> res_hal;</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><span class="comment">//-----------------ELEMENTARY FUNCTIONS---------------------</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="comment">/* functions for reading bytes/halswords/words */</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span>uint8_t FLASH_Read_Byte(uint32_t add)</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span>{</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">return</span> (*(__IO uint8_t*)(add));</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span>}</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span>uint16_t FLASH_Read_HalfWord(uint32_t add)</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="keywordflow">return</span> (*(__IO uint16_t*)(add));</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span>}</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span>uint32_t FLASH_Read_Word(uint32_t add)</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="keywordflow">return</span> (*(__IO uint32_t*)(add));</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span>}</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span><span class="comment">/* functions for writing bytes/halswords/words */</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span>HAL_StatusTypeDef FLASH_Write_Byte(uint32_t Address, uint8_t Data)</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span>{ </div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> HAL_StatusTypeDef res_hal;</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> res_hal = HAL_FLASH_Unlock();</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="keywordflow">if</span> (res_hal != HAL_OK) <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> res_hal = HAL_FLASH_Program(FLASH_TYPEPROGRAM_BYTE, Address, (uint8_t)(Data));</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) <span class="keywordflow">return</span> res_hal;</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> res_hal = HAL_FLASH_Lock(); </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span>}</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span>HAL_StatusTypeDef FLASH_Write_HalfWord(uint32_t Address, uint16_t Data)</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span>{</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> HAL_StatusTypeDef res_hal;</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> res_hal = HAL_FLASH_Unlock();</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> </div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> res_hal = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, Address, (uint16_t)(Data));</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> res_hal = HAL_FLASH_Lock(); </div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">return</span> res_hal;</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>HAL_StatusTypeDef FLASH_Write_Word(uint32_t Address, uint32_t Data)</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span>{</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> HAL_StatusTypeDef res_hal;</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> res_hal = HAL_FLASH_Unlock();</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> res_hal = HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, (uint32_t)(Data)); </div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">if</span> (res_hal != HAL_OK) <span class="keywordflow">return</span> res_hal;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> </div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> res_hal = HAL_FLASH_Lock(); </div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">return</span> res_hal;</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="comment">//----------------------------------------------------------</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> </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"><b>__general_flash.c</b></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>

View File

@@ -0,0 +1,177 @@
<!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_flash.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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('____general__flash_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_flash.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*********************************UART**************************************</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">UART.</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">***************************************************************************/</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#ifndef __FLASH_GENERAL_H_</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#define __FLASH_GENERAL_H_</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"></span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">//////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</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">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &quot;<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>&quot;</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> </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">/////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</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">////////////////////////////---DEFINES---////////////////////////////</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"></span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">///////////////////////---STRUCTURES &amp; ENUMS---//////////////////////</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"></span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment">///////////////////////---STRUCTURES &amp; ENUMS---//////////////////////</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"></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">///////////////////////////---FUNCTIONS---///////////////////////////</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span>HAL_StatusTypeDef FLASH_Enable_DualBankMode(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>HAL_StatusTypeDef FLASH_WriteProtection(uint32_t BankN, uint32_t WriteProtection);</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment">/* functions for reading bytes/halswords/words */</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span>uint8_t FLASH_Read_Byte(uint32_t add);</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>uint16_t FLASH_Read_HalfWord(uint32_t add);</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>uint32_t FLASH_Read_Word(uint32_t add);</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment">/* functions for writing bytes/halswords/words */</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span>HAL_StatusTypeDef FLASH_Write_Byte(uint32_t Address, uint8_t Data);</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span>HAL_StatusTypeDef FLASH_Write_HalfWord(uint32_t Address, uint16_t Data);</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>HAL_StatusTypeDef FLASH_Write_Word(uint32_t Address, uint32_t Data);<span class="comment"></span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="comment">///////////////////////////---FUNCTIONS---///////////////////////////</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="preprocessor">#ifndef LED_PWM_TICKS</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor">#define LED_PWM_TICKS 15</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="preprocessor">#ifndef LED_ON</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="preprocessor">#define LED_ON 1</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="preprocessor">#ifndef LED_OFF</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor">#define LED_OFF 0</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor">#ifndef SW_ON</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="preprocessor">#define SW_ON 1</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="preprocessor">#ifndef SW_OFF</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="preprocessor">#define SW_OFF 0</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="preprocessor">#endif</span></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="preprocessor">#endif </span><span class="comment">// __FLASH_GENERAL_H_</span></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><!-- 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"><b>__general_flash.h</b></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>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,218 @@
<!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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('____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">
<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="preprocessor">#ifndef __SPI_GENERAL_H_</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#define __SPI_GENERAL_H_</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">//////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#define HAL_SPI_MODULE_ENABLED </span><span class="comment">// need to uncomment these defines in stm32f4xx_hal_conf.h</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// also need to add hal_spi.c (source code)</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="preprocessor">#define USE_SPI1</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#define USE_SPI2</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#define USE_SPI3</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">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &quot;<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>&quot;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"></span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="comment"></span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"></span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">///////////////////////---STRUCTURES &amp; ENUMS---//////////////////////</span></div>
<div class="foldopen" id="foldopen00033" data-start="{" data-end="};">
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html"> 33</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><span class="comment">// struct with settings for custom function</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> SPI_HandleTypeDef hspi;</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> GPIO_TypeDef *CLK_GPIOx;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> uint32_t CLK_PIN;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> uint32_t CLK_GPIO_AlternageFunc;</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> GPIO_TypeDef *MISO_GPIOx;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> uint32_t MISO_PIN;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> uint32_t MISO_GPIO_AlternageFunc;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> GPIO_TypeDef *MOSI_GPIOx;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> uint32_t MOSI_PIN; </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> uint32_t MOSI_GPIO_AlternageFunc;</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>}<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="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">///////////////////////---STRUCTURES &amp; ENUMS---//////////////////////</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</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="comment">///////////////////////////---FUNCTIONS---///////////////////////////</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"> * @brief Initialize SPI with SPI_SettingsTypeDef structure.</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="comment"> * @param sspi - указатель на структуру с настройками SPI.</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment"> * @return HAL status.</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment"> * @note Данная структура содержит хендл ЮАРТ и настройки перефирии (GPIO)</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment"> */</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span>HAL_StatusTypeDef SPI_Base_Init(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi);<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="comment"> * @brief Initialize GPIO for SPI.</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="comment"> * @param GPIOx - порт для настройки.</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="comment"> * @param GPIO_PIN_RX - пин для настройки на прием.</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment"> * @param GPIO_PIN_TX - пин для настройки на передачу.</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="keywordtype">void</span> SPI_GPIO_Init(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi);<span class="comment"></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"> * @brief Initialize DMA for SPI.</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="comment"> * @param hspi - указатель на хендл SPI для настройки DMA.</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment"> * @param hdma_rx - указатель на хендл DMA для линии приема SPI.</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment"> * @param DMAChannel - указатель на канал DMA/поток DMA в STM32F407.</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> * @param DMA_CHANNEL_X - канал DMA.</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment"> */</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</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);<span class="comment"></span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="comment">/** </span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment"> * @brief Initialize SPI &amp; DMA clock and interrupt.</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment"> * @param hspi - указатель на хендл SPI для инициализации.</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment"> * @note Чтобы не генерировать функцию с иницилизацией неиспользуемых SPI,</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="comment"> дефайнами определяются используемые SPI.</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment"> */</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="keywordtype">void</span> SPI_MspInit(SPI_HandleTypeDef *hspi);<span class="comment"></span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="comment">/** </span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="comment"> * @brief Deinitialize SPI &amp; DMA clock and interrupt.</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="comment"> * @param hspi - указатель на хендл SPI для деинициализации.</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="comment"> * @note Чтобы не генерировать функцию с деиницилизацией неиспользуемых SPI,</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment"> дефайнами в rs_message.h определяются используемые SPI.</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="keywordtype">void</span> SPI_MspDeInit(SPI_HandleTypeDef *hspi);</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">/** </span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment"> * @brief Check that spi init structure have correct values.</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment"> * @param sspi - указатель на структуру с настройками SPI.</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"> * @return HAL status.</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>HAL_StatusTypeDef Check_SPI_Init_Struct(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi);<span class="comment"></span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment">///////////////////////////---FUNCTIONS---///////////////////////////</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"> 100</span><span class="preprocessor">#endif </span><span class="comment">// __SPI_GENERAL_H_</span></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="ttdef"><b>Definition</b> <a href="#l00033">__general_spi.h:34</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"><b>__general_spi.h</b></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>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,251 @@
<!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_tim.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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('____general__tim_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_tim.h</div></div>
</div><!--header-->
<div class="contents">
<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_tim.h</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * @brief Заголовочный файл для базовой работы с таймерами.</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="preprocessor">#ifndef __TIM_GENERAL_H_</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#define __TIM_GENERAL_H_</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#define HAL_TIM_MODULE_ENABLED </span><span class="comment">// need to uncomment this define in stm32f4xx_hal_conf.h</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define USE_TIM1</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#define USE_TIM2</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#define USE_TIM3</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#define USE_TIM4</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#define USE_TIM5</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define USE_TIM6</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#define USE_TIM7</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#define USE_TIM8</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define USE_TIM9</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#define USE_TIM10</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#define USE_TIM11</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#define USE_TIM12</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#define USE_TIM13</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#define USE_TIM14</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">/* note: used uart defines in modbus.h */</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"></span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include &quot;<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>&quot;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"></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">////////////////////////////---DEFINES---////////////////////////////</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#define TIM_IT_CONF_Pos 0</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">//#define TIM_PWM_CONF_Pos 1</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">//#define TIM_CLCK_SRC_CONF_Pos 2</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment">//#define TIM_SLAVE_CONF_Pos 3</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment">//#define TIM_MASTER_CONF_Pos 4</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment">//#define TIM_BDTR_CONF_Pos 5</span></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><span class="preprocessor">#define TIM_IT_CONF (1&lt;&lt;(TIM_IT_CONF_Pos))</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="comment">//#define TIM_PWM_CONF (1&lt;&lt;(TIM_PWM_Pos))</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> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor">#define TIM_Alternate_Mapping(INSTANCE) ((((INSTANCE) == TIM1) || ((INSTANCE) == TIM2))? GPIO_AF1_TIM1: \</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor"> (((INSTANCE) == TIM3) || ((INSTANCE) == TIM4) || ((INSTANCE) == TIM5))? GPIO_AF2_TIM3: \</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="preprocessor"> (((INSTANCE) == TIM8) || ((INSTANCE) == TIM9) || ((INSTANCE) == TIM10) || ((INSTANCE) == TIM11))? GPIO_AF3_TIM8: \</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="preprocessor"> (((INSTANCE) == TIM12) || ((INSTANCE) == TIM13) || ((INSTANCE) == TIM14))? GPIO_AF9_TIM12: \</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="preprocessor"> (0))</span><span class="comment"></span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////]</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </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">///////////////////////---STRUCTURES &amp; ENUMS---//////////////////////</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="keyword">typedef</span> <span class="keyword">enum</span></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> TIM_DEFAULT = 0,</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> TIM_IT_MODE = TIM_IT_CONF,</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment">// TIM_PWM_MODE = TIM_PWM_ENABLE,</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment">// TIM_PWM_IT_MODE = TIM_PWM_ENABLE | TIM_IT_CONF,</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span>}TIM_ITModeTypeDef;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="keyword">typedef</span> <span class="keyword">enum</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"> 67</span> TIM_Base_Disable = 0,</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> TIM_TickBase_1US = 1,</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> TIM_TickBase_10US = 10,</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> TIM_TickBase_100US = 100,</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> TIM_TickBase_1MS = 1000,</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> TIM_TickBase_10MS = 10000,</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> TIM_TickBase_100MS = 100000,</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span>}TIM_MHzTickBaseTypeDef;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="foldopen" id="foldopen00076" data-start="{" data-end="};">
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="struct_t_i_m___settings_type_def.html"> 76</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><span class="comment">// struct with settings for custom function</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span>{</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> TIM_HandleTypeDef htim;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> TIM_ClockConfigTypeDef sClockSourceConfig;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> TIM_SlaveConfigTypeDef sSlaveConfig;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> TIM_MasterConfigTypeDef sMasterConfig;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> TIM_ITModeTypeDef sTimMode;</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> TIM_MHzTickBaseTypeDef sTickBaseUS;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> uint8_t sTickBasePrescaler;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">float</span> sTimAHBFreqMHz;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">float</span> sTimFreqHz;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span>}<a class="code hl_struct" href="struct_t_i_m___settings_type_def.html">TIM_SettingsTypeDef</a>;</div>
</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> </div>
<div class="foldopen" id="foldopen00093" data-start="{" data-end="};">
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="struct_t_i_m___encoder_type_def.html"> 93</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><span class="comment">// struct with variables for encoder</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> int16_t Encoder_Diff;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> TIM_HandleTypeDef *htim;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> TIM_Encoder_InitTypeDef sConfig;</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"> 100</span> GPIO_TypeDef *GPIOx;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> uint32_t GPIO_PIN_TI1;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> uint32_t GPIO_PIN_TI2;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> uint32_t GPIO_PIN_SW;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span>}<a class="code hl_struct" href="struct_t_i_m___encoder_type_def.html">TIM_EncoderTypeDef</a>;<span class="comment"></span></div>
</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment">///////////////////////---STRUCTURES &amp; ENUMS---//////////////////////</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment"></span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment">///////////////////////////---FUNCTIONS---///////////////////////////</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment">/* Initialize TIM with TIM_SettingsTypeDef structure */</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span>HAL_StatusTypeDef TIM_Base_Init(<a class="code hl_struct" href="struct_t_i_m___settings_type_def.html">TIM_SettingsTypeDef</a>* stim);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment">/* Initialize PWM Channel and GPIO for output */</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span>HAL_StatusTypeDef TIM_Output_PWM_Init(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef *sConfigOC, uint32_t TIM_CHANNEL, GPIO_TypeDef *GPIOx, uint32_t PWM_PIN);</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment">/* Initialize TIM Encoder functional */</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span>HAL_StatusTypeDef TIM_Encoder_Init(<a class="code hl_struct" href="struct_t_i_m___encoder_type_def.html">TIM_EncoderTypeDef</a> *henc1, TIM_HandleTypeDef *htim);</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment">/* Initialize OC Comparator */</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span>HAL_StatusTypeDef TIM_OC_Comparator_Init(TIM_HandleTypeDef *htim, uint32_t TIM_CHANNEL);</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment">/* Start delay via TIM */</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span>HAL_StatusTypeDef TIM_Delay_Start(TIM_HandleTypeDef *htim);</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="comment">/* Delay via TIM */</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span>HAL_StatusTypeDef TIM_Delay(TIM_HandleTypeDef *htim, uint16_t delay);</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="comment">/* Wait Delay via TIM without blocking app */</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>HAL_StatusTypeDef TIM_Delay_NonBlocking(TIM_HandleTypeDef *htim, uint16_t delay);</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="comment">/* Initialize TIMs clock and interrupt */</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="keywordtype">void</span> TIM_Base_MspInit(TIM_HandleTypeDef* htim, TIM_ITModeTypeDef it_mode);</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="comment">/* DeInitialize TIMs clock and interrupt */</span></div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="keywordtype">void</span> TIM_Base_MspDeInit(TIM_HandleTypeDef* htim);<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> </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="preprocessor">#endif </span><span class="comment">// __TIM_GENERAL_H_</span></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_t_i_m___encoder_type_def_html"><div class="ttname"><a href="struct_t_i_m___encoder_type_def.html">TIM_EncoderTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00093">__general_tim.h:94</a></div></div>
<div class="ttc" id="astruct_t_i_m___settings_type_def_html"><div class="ttname"><a href="struct_t_i_m___settings_type_def.html">TIM_SettingsTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00076">__general_tim.h:77</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"><b>__general_tim.h</b></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>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,226 @@
<!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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('____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">
<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="preprocessor">#ifndef __UART_GENERAL_H_</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#define __UART_GENERAL_H_</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">//////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#define HAL_UART_MODULE_ENABLED </span><span class="comment">// need to uncomment these defines in stm32f4xx_hal_conf.h</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment">//#define HAL_USART_MODULE_ENABLED // maybe also need to add hal_uart.h/.c (source code)</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">//#define USE_USART1</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">//#define USE_USART2</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">//#define USE_USART3</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">//#define USE_UART4</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">//#define USE_UART5</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">//#define USE_USART6</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">/* note: used uart defines in modbus.h */</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"></span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &quot;interface_config.h&quot;</span> <span class="comment">/* used uart defines in modbus.h */</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"></span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include &quot;<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>&quot;</span><span class="comment"></span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">/** </span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> * @brief Analog for HAL define. Remade with pointer to structure.</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"> * @note @ref __HAL_LINKDMA.</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment"> */</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#define __USER_LINKDMA(__HANDLE__, __PPP_DMA_FIELD__, __DMA_HANDLE__) \</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">do{ \</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">(__HANDLE__)-&gt;__PPP_DMA_FIELD__ = (__DMA_HANDLE__); \</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">(__DMA_HANDLE__)-&gt;Parent = (__HANDLE__);} while(0U)</span></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> <span class="comment"></span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</span></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><span class="comment"></span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment">///////////////////////---STRUCTURES &amp; ENUMS---//////////////////////</span></div>
<div class="foldopen" id="foldopen00045" data-start="{" data-end="};">
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="struct_u_a_r_t___settings_type_def.html"> 45</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><span class="comment">// struct with settings for custom function</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span>{</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> UART_HandleTypeDef huart;</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> GPIO_TypeDef *GPIOx;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> uint16_t GPIO_PIN_RX;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> uint16_t GPIO_PIN_TX;</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> DMA_Stream_TypeDef *DMAChannel; <span class="comment">// DMAChannel = 0 if doesnt need</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> uint32_t DMA_CHANNEL_X; <span class="comment">// DMAChannel = 0 if doesnt need</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span>}<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a>;<span class="comment"></span></div>
</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment">///////////////////////---STRUCTURES &amp; ENUMS---//////////////////////</span></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><span class="comment"></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">///////////////////////////---FUNCTIONS---///////////////////////////</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 Initialize UART with UART_SettingsTypeDef structure.</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="comment"> * @param suart - указатель на структуру с настройками UART.</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment"> * @return HAL status.</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment"> * @note Данная структура содержит хендл ЮАРТ и настройки перефирии (GPIO)</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment"> */</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span>HAL_StatusTypeDef UART_Base_Init(<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart);<span class="comment"></span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment">/** </span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="comment"> * @brief Initialize GPIO for UART.</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment"> * @param GPIOx - порт для настройки.</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment"> * @param GPIO_PIN_RX - пин для настройки на прием.</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> * @param GPIO_PIN_TX - пин для настройки на передачу.</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment"> */</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="keywordtype">void</span> UART_GPIO_Init(GPIO_TypeDef *GPIOx, uint16_t GPIO_PIN_RX, uint16_t GPIO_PIN_TX);<span class="comment"></span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="comment">/** </span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment"> * @brief Initialize DMA for UART.</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment"> * @param huart - указатель на хендл UART для настройки DMA.</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment"> * @param hdma_rx - указатель на хендл DMA для линии приема UART.</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="comment"> * @param DMAChannel - указатель на канал DMA/поток DMA в STM32F407.</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment"> * @param DMA_CHANNEL_X - канал DMA.</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="comment"> */</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="keywordtype">void</span> UART_DMA_Init(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X);<span class="comment"></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"> * @brief Initialize UART &amp; DMA clock and interrupt.</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="comment"> * @param huart - указатель на хендл UART для инициализации.</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment"> * @note Чтобы не генерировать функцию с иницилизацией неиспользуемых UART,</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment"> дефайнами определяются используемые UART.</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="comment"> */</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="keywordtype">void</span> UART_MspInit(UART_HandleTypeDef *huart);<span class="comment"></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"> * @brief Deinitialize UART &amp; DMA clock and interrupt.</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment"> * @param huart - указатель на хендл UART для деинициализации.</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"> * @note Чтобы не генерировать функцию с деиницилизацией неиспользуемых UART,</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="comment"> дефайнами в rs_message.h определяются используемые UART.</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment"> */</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="keywordtype">void</span> UART_MspDeInit(UART_HandleTypeDef *huart);</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="comment"></span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="comment">/** </span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment"> * @brief Check that uart init structure have correct values.</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="comment"> * @param suart - указатель на структуру с настройками UART.</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="comment"> * @return HAL status.</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="comment"> */</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span>HAL_StatusTypeDef Check_UART_Init_Struct(<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart);<span class="comment"></span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment">///////////////////////////---FUNCTIONS---///////////////////////////</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="preprocessor">#endif </span><span class="comment">// __UART_GENERAL_H_</span></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="ttdef"><b>Definition</b> <a href="#l00045">__general_uart.h:46</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"><b>__general_uart.h</b></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>

136
Doc/html/annotated.html Normal file
View File

@@ -0,0 +1,136 @@
<!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: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('annotated.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">Class List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_a_d_c___tracker_type_def.html" target="_self">ADC_TrackerTypeDef</a></td><td class="desc">Struct for trackers for ADC </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_a_d_c_channel___tracker_type_def.html" target="_self">ADCChannel_TrackerTypeDef</a></td><td class="desc">Struct for trackers for ADC Channel </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_g_p_i_o___l_e_d_type_def.html" target="_self">GPIO_LEDTypeDef</a></td><td class="desc">Структура светодиода </td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_g_p_i_o___switch_type_def.html" target="_self">GPIO_SwitchTypeDef</a></td><td class="desc">Структура кнопки </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_h_f___stack_frame__t.html" target="_self">HF_StackFrame_t</a></td><td class="desc">Контекст стек-фрейма процессора при HardFault </td></tr>
<tr id="row_5_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_measure___tracker_type_def.html" target="_self">Measure_TrackerTypeDef</a></td><td class="desc">Struct for trackers for Measure </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_measure_handle___tracker_type_def.html" target="_self">MeasureHandle_TrackerTypeDef</a></td><td class="desc">Struct for trackers for Measure </td></tr>
<tr id="row_7_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_z_k_t___discrete_inputs_type_def.html" target="_self">MZKT_DiscreteInputsTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_z_k_t___l_e_ds_type_def.html" target="_self">MZKT_LEDsTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_9_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_r_s___tracker_type_def.html" target="_self">RS_TrackerTypeDef</a></td><td class="desc">Struct for trackers for RS </td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_r_t_t___flash_header__t.html" target="_self">RTT_FlashHeader_t</a></td><td class="desc">Структура RTT, которая будет положена в Flash </td></tr>
<tr id="row_11_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_s_p_i___settings_type_def.html" target="_self">SPI_SettingsTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_t_i_m___encoder_type_def.html" target="_self">TIM_EncoderTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_13_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_t_i_m___settings_type_def.html" target="_self">TIM_SettingsTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_u_a_r_t___settings_type_def.html" target="_self">UART_SettingsTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_15_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint16___bit_type_def.html" target="_self">uint16_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint32___bit_type_def.html" target="_self">uint32_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_17_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint64___bit_type_def.html" target="_self">uint64_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint8___bit_type_def.html" target="_self">uint8_BitTypeDef</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</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>

22
Doc/html/annotated_dup.js Normal file
View File

@@ -0,0 +1,22 @@
var annotated_dup =
[
[ "ADC_TrackerTypeDef", "struct_a_d_c___tracker_type_def.html", null ],
[ "ADCChannel_TrackerTypeDef", "struct_a_d_c_channel___tracker_type_def.html", null ],
[ "GPIO_LEDTypeDef", "struct_g_p_i_o___l_e_d_type_def.html", "struct_g_p_i_o___l_e_d_type_def" ],
[ "GPIO_SwitchTypeDef", "struct_g_p_i_o___switch_type_def.html", "struct_g_p_i_o___switch_type_def" ],
[ "HF_StackFrame_t", "struct_h_f___stack_frame__t.html", "struct_h_f___stack_frame__t" ],
[ "Measure_TrackerTypeDef", "struct_measure___tracker_type_def.html", null ],
[ "MeasureHandle_TrackerTypeDef", "struct_measure_handle___tracker_type_def.html", null ],
[ "MZKT_DiscreteInputsTypeDef", "struct_m_z_k_t___discrete_inputs_type_def.html", null ],
[ "MZKT_LEDsTypeDef", "struct_m_z_k_t___l_e_ds_type_def.html", null ],
[ "RS_TrackerTypeDef", "struct_r_s___tracker_type_def.html", null ],
[ "RTT_FlashHeader_t", "struct_r_t_t___flash_header__t.html", "struct_r_t_t___flash_header__t" ],
[ "SPI_SettingsTypeDef", "struct_s_p_i___settings_type_def.html", null ],
[ "TIM_EncoderTypeDef", "struct_t_i_m___encoder_type_def.html", null ],
[ "TIM_SettingsTypeDef", "struct_t_i_m___settings_type_def.html", null ],
[ "UART_SettingsTypeDef", "struct_u_a_r_t___settings_type_def.html", null ],
[ "uint16_BitTypeDef", "unionuint16___bit_type_def.html", null ],
[ "uint32_BitTypeDef", "unionuint32___bit_type_def.html", null ],
[ "uint64_BitTypeDef", "unionuint64___bit_type_def.html", null ],
[ "uint8_BitTypeDef", "unionuint8___bit_type_def.html", null ]
];

View 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/bit_access.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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('bit__access_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">bit_access.h</div></div>
</div><!--header-->
<div class="contents">
<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 mylibs_defs.h</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">* @brief Заголочный файл для дефайнов библиотеки MyLibsGeneral.</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 BIT_ACCESS_DEFINES Bit access defines</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">* @ingroup MYLIBS_DEFINES</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">* @brief Макросы и typedef&#39;ы для работы с битами в unsigned типах.</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">* В этом файле определены макросы для получения значения конкретного бита^</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment">* - @ref uint8_bit</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment">* - @ref uint16_bit</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">* - @ref uint32_bit</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">* - @ref uint64_bit</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">* Особенности использования:</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">* Пример верного использования:</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">* @code</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">* uint8_t val = 0x05;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">* uint8_t b2 = uint8_bit(val, 2); // Получить бит 2</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">* uint8_bit(val, 6) = 1; // Записать бит 6</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">* @endcode</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">* - Нельзя использовать переменные в качестве индекса:</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment">* @code</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment">* uint8_t i = 2;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">* uint8_bit(val, i); // Не сработает!</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">* @endcode</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">* - Макросы возвращают 0 или 1.</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">* - Доступ реализован через приведение к `union` с битовыми полями, поэтому это</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">* безопасный способ работы с отдельными битами без ручного сдвига и маскирования.</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">*************************************************************************/</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#ifndef __BIT_ACCESS_H_</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#define __BIT_ACCESS_H_</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#include &quot;<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>&quot;</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="foldopen" id="foldopen00039" data-start="{" data-end="};">
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="unionuint8___bit_type_def.html"> 39</a></span><span class="keyword">typedef</span> <span class="keyword">union</span></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> uint8_t all;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">struct</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="keywordtype">unsigned</span> bit0:1;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">unsigned</span> bit1:1;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">unsigned</span> bit2:1;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">unsigned</span> bit3:1;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">unsigned</span> bit4:1;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">unsigned</span> bit5:1;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">unsigned</span> bit6:1;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">unsigned</span> bit7:1;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> }bit;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span>}<a class="code hl_union" href="unionuint8___bit_type_def.html">uint8_BitTypeDef</a>;</div>
</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="foldopen" id="foldopen00055" data-start="{" data-end="};">
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="unionuint16___bit_type_def.html"> 55</a></span><span class="keyword">typedef</span> <span class="keyword">union</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span>{</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> uint16_t all;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">struct</span></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> <span class="keywordtype">unsigned</span> bit0:1;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">unsigned</span> bit1:1;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">unsigned</span> bit2:1;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">unsigned</span> bit3:1;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">unsigned</span> bit4:1;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">unsigned</span> bit5:1;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">unsigned</span> bit6:1;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">unsigned</span> bit7:1;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">unsigned</span> bit8:1;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">unsigned</span> bit9:1;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">unsigned</span> bit10:1;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">unsigned</span> bit11:1;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">unsigned</span> bit12:1;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">unsigned</span> bit13:1;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">unsigned</span> bit14:1;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">unsigned</span> bit15:1;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> }bit;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span>}<a class="code hl_union" href="unionuint16___bit_type_def.html">uint16_BitTypeDef</a>;</div>
</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="foldopen" id="foldopen00080" data-start="{" data-end="};">
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="unionuint32___bit_type_def.html"> 80</a></span><span class="keyword">typedef</span> <span class="keyword">union</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span>{</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> uint32_t all;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">struct</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="keywordtype">unsigned</span> bit0:1; <span class="keywordtype">unsigned</span> bit1:1; <span class="keywordtype">unsigned</span> bit2:1; <span class="keywordtype">unsigned</span> bit3:1;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">unsigned</span> bit4:1; <span class="keywordtype">unsigned</span> bit5:1; <span class="keywordtype">unsigned</span> bit6:1; <span class="keywordtype">unsigned</span> bit7:1;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">unsigned</span> bit8:1; <span class="keywordtype">unsigned</span> bit9:1; <span class="keywordtype">unsigned</span> bit10:1; <span class="keywordtype">unsigned</span> bit11:1;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">unsigned</span> bit12:1; <span class="keywordtype">unsigned</span> bit13:1; <span class="keywordtype">unsigned</span> bit14:1; <span class="keywordtype">unsigned</span> bit15:1;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">unsigned</span> bit16:1; <span class="keywordtype">unsigned</span> bit17:1; <span class="keywordtype">unsigned</span> bit18:1; <span class="keywordtype">unsigned</span> bit19:1;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">unsigned</span> bit20:1; <span class="keywordtype">unsigned</span> bit21:1; <span class="keywordtype">unsigned</span> bit22:1; <span class="keywordtype">unsigned</span> bit23:1;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">unsigned</span> bit24:1; <span class="keywordtype">unsigned</span> bit25:1; <span class="keywordtype">unsigned</span> bit26:1; <span class="keywordtype">unsigned</span> bit27:1;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">unsigned</span> bit28:1; <span class="keywordtype">unsigned</span> bit29:1; <span class="keywordtype">unsigned</span> bit30:1; <span class="keywordtype">unsigned</span> bit31:1;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> }bit;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span>}<a class="code hl_union" href="unionuint32___bit_type_def.html">uint32_BitTypeDef</a>;</div>
</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="foldopen" id="foldopen00097" data-start="{" data-end="};">
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="unionuint64___bit_type_def.html"> 97</a></span><span class="keyword">typedef</span> <span class="keyword">union</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span>{</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> uint64_t all;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">struct</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> {</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">unsigned</span> bit0:1; <span class="keywordtype">unsigned</span> bit1:1; <span class="keywordtype">unsigned</span> bit2:1; <span class="keywordtype">unsigned</span> bit3:1;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">unsigned</span> bit4:1; <span class="keywordtype">unsigned</span> bit5:1; <span class="keywordtype">unsigned</span> bit6:1; <span class="keywordtype">unsigned</span> bit7:1;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">unsigned</span> bit8:1; <span class="keywordtype">unsigned</span> bit9:1; <span class="keywordtype">unsigned</span> bit10:1; <span class="keywordtype">unsigned</span> bit11:1;</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">unsigned</span> bit12:1; <span class="keywordtype">unsigned</span> bit13:1; <span class="keywordtype">unsigned</span> bit14:1; <span class="keywordtype">unsigned</span> bit15:1;</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">unsigned</span> bit16:1; <span class="keywordtype">unsigned</span> bit17:1; <span class="keywordtype">unsigned</span> bit18:1; <span class="keywordtype">unsigned</span> bit19:1;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">unsigned</span> bit20:1; <span class="keywordtype">unsigned</span> bit21:1; <span class="keywordtype">unsigned</span> bit22:1; <span class="keywordtype">unsigned</span> bit23:1;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">unsigned</span> bit24:1; <span class="keywordtype">unsigned</span> bit25:1; <span class="keywordtype">unsigned</span> bit26:1; <span class="keywordtype">unsigned</span> bit27:1;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">unsigned</span> bit28:1; <span class="keywordtype">unsigned</span> bit29:1; <span class="keywordtype">unsigned</span> bit30:1; <span class="keywordtype">unsigned</span> bit31:1;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">unsigned</span> bit32:1; <span class="keywordtype">unsigned</span> bit33:1; <span class="keywordtype">unsigned</span> bit34:1; <span class="keywordtype">unsigned</span> bit35:1;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">unsigned</span> bit36:1; <span class="keywordtype">unsigned</span> bit37:1; <span class="keywordtype">unsigned</span> bit38:1; <span class="keywordtype">unsigned</span> bit39:1;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">unsigned</span> bit40:1; <span class="keywordtype">unsigned</span> bit41:1; <span class="keywordtype">unsigned</span> bit42:1; <span class="keywordtype">unsigned</span> bit43:1;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">unsigned</span> bit44:1; <span class="keywordtype">unsigned</span> bit45:1; <span class="keywordtype">unsigned</span> bit46:1; <span class="keywordtype">unsigned</span> bit47:1;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">unsigned</span> bit48:1; <span class="keywordtype">unsigned</span> bit49:1; <span class="keywordtype">unsigned</span> bit50:1; <span class="keywordtype">unsigned</span> bit51:1;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">unsigned</span> bit52:1; <span class="keywordtype">unsigned</span> bit53:1; <span class="keywordtype">unsigned</span> bit54:1; <span class="keywordtype">unsigned</span> bit55:1;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">unsigned</span> bit56:1; <span class="keywordtype">unsigned</span> bit57:1; <span class="keywordtype">unsigned</span> bit58:1; <span class="keywordtype">unsigned</span> bit59:1;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">unsigned</span> bit60:1; <span class="keywordtype">unsigned</span> bit61:1; <span class="keywordtype">unsigned</span> bit62:1; <span class="keywordtype">unsigned</span> bit63:1;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> }bit;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span>}<a class="code hl_union" href="unionuint64___bit_type_def.html">uint64_BitTypeDef</a>;</div>
</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"></span> </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="comment">/**</span></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="comment"> * @brief Получить n-й бит из uint8_t</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="comment"> * @param _uint8_ Переменная типа uint8_t</span></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="comment"> * @param _bit_ Константный номер бита (0..7)</span></div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="comment"> * @return Значение выбранного бита (0 или 1)</span></div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="comment"> * @note Индекс бита должен быть известен на этапе компиляции!</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"><a class="line" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga57dc3bb3472a66fc92312f89d42d2396"> 129</a></span><span class="preprocessor">#define uint8_bit(_uint8_, _bit_) (*(uint8_BitTypeDef *)(&amp;(_uint8_))).bit.bit##_bit_</span><span class="comment"></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><span class="comment"> * @brief Получить n-й бит из uint16_t</span></div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="comment"> * @param _uint16_ Переменная типа uint16_t</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="comment"> * @param _bit_ Константный номер бита (0..15)</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="comment"> * @return Значение выбранного бита (0 или 1)</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment"> * @note Индекс бита должен быть известен на этапе компиляции!</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="comment"> */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga6a122b536ad99ae611c8cf01437af086"> 137</a></span><span class="preprocessor">#define uint16_bit(_uint8_, _bit_) (*(uint16_BitTypeDef *)(&amp;(_uint8_))).bit.bit##_bit_</span><span class="comment"></span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="comment">/**</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment"> * @brief Получить n-й бит из uint32_t</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment"> * @param _uint32_ Переменная типа uint32_t</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="comment"> * @param _bit_ Константный номер бита (0..31)</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="comment"> * @return Значение выбранного бита (0 или 1)</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="comment"> * @note Индекс бита должен быть известен на этапе компиляции!</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment"> */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#gafaa2080168b1b6f7281e8bfabab022d1"> 145</a></span><span class="preprocessor">#define uint32_bit(_uint8_, _bit_) (*(uint32_BitTypeDef *)(&amp;(_uint8_))).bit.bit##_bit_</span><span class="comment"></span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="comment">/**</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span><span class="comment"> * @brief Получить n-й бит из uint64_t</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="comment"> * @param _uint64_ Переменная типа uint64_t</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="comment"> * @param _bit_ Константный номер бита (0..63)</span></div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="comment"> * @return Значение выбранного бита (0 или 1)</span></div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="comment"> * @note Индекс бита должен быть известен на этапе компиляции!</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="comment"> */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga47eb69ce9330a1c73fe8031240f02f0a"> 153</a></span><span class="preprocessor">#define uint64_bit(_uint8_, _bit_) (*(uint64_BitTypeDef *)(&amp;(_uint8_))).bit.bit##_bit_</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="preprocessor">#endif </span><span class="comment">//__BIT_ACCESS_H_ </span></div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="comment"></span> </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="comment">/** BIT_ACCESS_DEFINES</span></div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span><span class="comment"> */</span></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="aunionuint16___bit_type_def_html"><div class="ttname"><a href="unionuint16___bit_type_def.html">uint16_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00055">bit_access.h:56</a></div></div>
<div class="ttc" id="aunionuint32___bit_type_def_html"><div class="ttname"><a href="unionuint32___bit_type_def.html">uint32_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00080">bit_access.h:81</a></div></div>
<div class="ttc" id="aunionuint64___bit_type_def_html"><div class="ttname"><a href="unionuint64___bit_type_def.html">uint64_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00097">bit_access.h:98</a></div></div>
<div class="ttc" id="aunionuint8___bit_type_def_html"><div class="ttname"><a href="unionuint8___bit_type_def.html">uint8_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00039">bit_access.h:40</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"><b>bit_access.h</b></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>

140
Doc/html/classes.html Normal file
View File

@@ -0,0 +1,140 @@
<!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: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('classes.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">Class Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_A" name="letter_A">A</a></dt>
<dd><a class="el" href="struct_a_d_c___tracker_type_def.html">ADC_TrackerTypeDef</a></dd><dd><a class="el" href="struct_a_d_c_channel___tracker_type_def.html">ADCChannel_TrackerTypeDef</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_G" name="letter_G">G</a></dt>
<dd><a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a></dd><dd><a class="el" href="struct_g_p_i_o___switch_type_def.html">GPIO_SwitchTypeDef</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_H" name="letter_H">H</a></dt>
<dd><a class="el" href="struct_h_f___stack_frame__t.html">HF_StackFrame_t</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_M" name="letter_M">M</a></dt>
<dd><a class="el" href="struct_measure___tracker_type_def.html">Measure_TrackerTypeDef</a></dd><dd><a class="el" href="struct_measure_handle___tracker_type_def.html">MeasureHandle_TrackerTypeDef</a></dd><dd><a class="el" href="struct_m_z_k_t___discrete_inputs_type_def.html">MZKT_DiscreteInputsTypeDef</a></dd><dd><a class="el" href="struct_m_z_k_t___l_e_ds_type_def.html">MZKT_LEDsTypeDef</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_R" name="letter_R">R</a></dt>
<dd><a class="el" href="struct_r_s___tracker_type_def.html">RS_TrackerTypeDef</a></dd><dd><a class="el" href="struct_r_t_t___flash_header__t.html">RTT_FlashHeader_t</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
<dd><a class="el" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_T" name="letter_T">T</a></dt>
<dd><a class="el" href="struct_t_i_m___encoder_type_def.html">TIM_EncoderTypeDef</a></dd><dd><a class="el" href="struct_t_i_m___settings_type_def.html">TIM_SettingsTypeDef</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_U" name="letter_U">U</a></dt>
<dd><a class="el" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a></dd><dd><a class="el" href="unionuint16___bit_type_def.html">uint16_BitTypeDef</a></dd><dd><a class="el" href="unionuint32___bit_type_def.html">uint32_BitTypeDef</a></dd><dd><a class="el" href="unionuint64___bit_type_def.html">uint64_BitTypeDef</a></dd><dd><a class="el" href="unionuint8___bit_type_def.html">uint8_BitTypeDef</a></dd></dl>
</div>
</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>

61
Doc/html/clipboard.js Normal file
View File

@@ -0,0 +1,61 @@
/**
The code below is based on the Doxygen Awesome project, see
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2021 - 2022 jothepro
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
let clipboard_title = "Copy to clipboard"
let clipboard_icon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="#888" d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>`
let clipboard_successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>`
let clipboard_successDuration = 1000
$(function() {
if(navigator.clipboard) {
const fragments = document.getElementsByClassName("fragment")
for(const fragment of fragments) {
const clipboard_div = document.createElement("div")
clipboard_div.classList.add("clipboard")
clipboard_div.innerHTML = clipboard_icon
clipboard_div.title = clipboard_title
$(clipboard_div).click(function() {
const content = this.parentNode.cloneNode(true)
// filter out line number and folded fragments from file listings
content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() })
let text = content.textContent
// remove trailing newlines and trailing spaces from empty lines
text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'')
navigator.clipboard.writeText(text);
this.classList.add("success")
this.innerHTML = clipboard_successIcon
window.setTimeout(() => { // switch back to normal icon after timeout
this.classList.remove("success")
this.innerHTML = clipboard_icon
}, clipboard_successDuration);
})
fragment.insertBefore(clipboard_div, fragment.firstChild)
}
}
})

58
Doc/html/cookie.js Normal file
View File

@@ -0,0 +1,58 @@
/*!
Cookie helper functions
Copyright (c) 2023 Dimitri van Heesch
Released under MIT license.
*/
let Cookie = {
cookie_namespace: 'doxygen_',
readSetting(cookie,defVal) {
if (window.chrome) {
const val = localStorage.getItem(this.cookie_namespace+cookie) ||
sessionStorage.getItem(this.cookie_namespace+cookie);
if (val) return val;
} else {
let myCookie = this.cookie_namespace+cookie+"=";
if (document.cookie) {
const index = document.cookie.indexOf(myCookie);
if (index != -1) {
const valStart = index + myCookie.length;
let valEnd = document.cookie.indexOf(";", valStart);
if (valEnd == -1) {
valEnd = document.cookie.length;
}
return document.cookie.substring(valStart, valEnd);
}
}
}
return defVal;
},
writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete
if (window.chrome) {
if (days==0) {
sessionStorage.setItem(this.cookie_namespace+cookie,val);
} else {
localStorage.setItem(this.cookie_namespace+cookie,val);
}
} else {
let date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
const expiration = days!=0 ? "expires="+date.toGMTString()+";" : "";
document.cookie = this.cookie_namespace + cookie + "=" +
val + "; SameSite=Lax;" + expiration + "path=/";
}
},
eraseSetting(cookie) {
if (window.chrome) {
if (localStorage.getItem(this.cookie_namespace+cookie)) {
localStorage.removeItem(this.cookie_namespace+cookie);
} else if (sessionStorage.getItem(this.cookie_namespace+cookie)) {
sessionStorage.removeItem(this.cookie_namespace+cookie);
}
} else {
this.writeSetting(cookie,'',-1);
}
},
}

228
Doc/html/darkmode_toggle.js Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,131 @@
<!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 Directory 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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('dir_9c80311a018e1f8cfb6659b73d634be4.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">Src Directory Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-files" class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:_5F_5Fgeneral_5Fflash_2Ec" id="r__5F_5Fgeneral_5Fflash_2Ec"><td class="memItemLeft" align="right" valign="top"><a href="____general__flash_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>__general_flash.c</b></td></tr>
<tr class="memitem:_5F_5Fgeneral_5Fspi_2Ec" id="r__5F_5Fgeneral_5Fspi_2Ec"><td class="memItemLeft" align="right" valign="top"><a href="____general__spi_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>__general_spi.c</b></td></tr>
<tr class="memitem:_5F_5Fgeneral_5Ftim_2Ec" id="r__5F_5Fgeneral_5Ftim_2Ec"><td class="memItemLeft" align="right" valign="top"><a href="____general__tim_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>__general_tim.c</b></td></tr>
<tr class="memitem:_5F_5Fgeneral_5Fuart_2Ec" id="r__5F_5Fgeneral_5Fuart_2Ec"><td class="memItemLeft" align="right" valign="top"><a href="____general__uart_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>__general_uart.c</b></td></tr>
<tr class="memitem:general_5Fgpio_2Ec" id="r_general_5Fgpio_2Ec"><td class="memItemLeft" align="right" valign="top"><a href="general__gpio_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="general__gpio_8c.html">general_gpio.c</a></td></tr>
<tr class="memdesc:general__gpio_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Модуль для инициализации портов. <br /></td></tr>
</table>
</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="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>

View File

@@ -0,0 +1,8 @@
var dir_9c80311a018e1f8cfb6659b73d634be4 =
[
[ "__general_flash.c", "____general__flash_8c_source.html", null ],
[ "__general_spi.c", "____general__spi_8c_source.html", null ],
[ "__general_tim.c", "____general__tim_8c_source.html", null ],
[ "__general_uart.c", "____general__uart_8c_source.html", null ],
[ "general_gpio.c", "general__gpio_8c.html", "general__gpio_8c" ]
];

View File

@@ -0,0 +1,127 @@
<!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 Directory 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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('dir_9e11e9a41112194af3eee6cc728f9515.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">MyLibsGeneral Directory Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-subdirs" class="groupheader"><a id="subdirs" name="subdirs"></a>
Directories</h2></td></tr>
<tr class="memitem:Inc" id="r_Inc"><td class="memItemLeft" align="right" valign="top"><span class="iconfolder"><div class="folder-icon"></div></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</a></td></tr>
<tr class="memitem:Src" id="r_Src"><td class="memItemLeft" align="right" valign="top"><span class="iconfolder"><div class="folder-icon"></div></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></td></tr>
</table>
</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="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>

View File

@@ -0,0 +1,5 @@
var dir_9e11e9a41112194af3eee6cc728f9515 =
[
[ "Inc", "dir_eb423fea8a9c4b9b32b922020ec391e1.html", "dir_eb423fea8a9c4b9b32b922020ec391e1" ],
[ "Src", "dir_9c80311a018e1f8cfb6659b73d634be4.html", "dir_9c80311a018e1f8cfb6659b73d634be4" ]
];

View File

@@ -0,0 +1,142 @@
<!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 Directory 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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('dir_eb423fea8a9c4b9b32b922020ec391e1.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">Inc Directory Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-files" class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:_5F_5Fgeneral_5Fflash_2Eh" id="r__5F_5Fgeneral_5Fflash_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="____general__flash_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>__general_flash.h</b></td></tr>
<tr class="memitem:_5F_5Fgeneral_5Fspi_2Eh" id="r__5F_5Fgeneral_5Fspi_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="____general__spi_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>__general_spi.h</b></td></tr>
<tr class="memitem:_5F_5Fgeneral_5Ftim_2Eh" id="r__5F_5Fgeneral_5Ftim_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="____general__tim_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>__general_tim.h</b></td></tr>
<tr class="memitem:_5F_5Fgeneral_5Fuart_2Eh" id="r__5F_5Fgeneral_5Fuart_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="____general__uart_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>__general_uart.h</b></td></tr>
<tr class="memitem:bit_5Faccess_2Eh" id="r_bit_5Faccess_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="bit__access_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>bit_access.h</b></td></tr>
<tr class="memitem:general_5Fgpio_2Eh" id="r_general_5Fgpio_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="general__gpio_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="general__gpio_8h.html">general_gpio.h</a></td></tr>
<tr class="memdesc:general__gpio_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголовочный файл для модуля инициализации портов. <br /></td></tr>
<tr class="memitem:mylibs_5Fconfig_2Eh" id="r_mylibs_5Fconfig_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="mylibs__config_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mylibs__config_8h.html">mylibs_config.h</a></td></tr>
<tr class="memdesc:mylibs__config_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Конфигурации для библиотек MyLibs. <br /></td></tr>
<tr class="memitem:mylibs_5Fdefs_2Eh" id="r_mylibs_5Fdefs_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="mylibs__defs_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mylibs__defs_8h.html">mylibs_defs.h</a></td></tr>
<tr class="memdesc:mylibs__defs_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголочный файл для дефайнов библиотеки MyLibsGeneral. <br /></td></tr>
<tr class="memitem:mylibs_5Finclude_2Eh" id="r_mylibs_5Finclude_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="mylibs__include_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mylibs__include_8h.html">mylibs_include.h</a></td></tr>
<tr class="memdesc:mylibs__include_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголочный файл для всех библиотек <br /></td></tr>
<tr class="memitem:trace_2Eh" id="r_trace_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="trace_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="trace_8h.html">trace.h</a></td></tr>
<tr class="memdesc:trace_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголочный файл для работы с трассировкой. <br /></td></tr>
<tr class="memitem:trackers_2Eh" id="r_trackers_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="trackers_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="trackers_8h.html">trackers.h</a></td></tr>
<tr class="memdesc:trackers_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголочный файл для работы с трекерами <a class="el" href="group___t_r_a_c_k_e_r_s.html">Trackers defines</a>. <br /></td></tr>
</table>
</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="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>

View File

@@ -0,0 +1,14 @@
var dir_eb423fea8a9c4b9b32b922020ec391e1 =
[
[ "__general_flash.h", "____general__flash_8h_source.html", null ],
[ "__general_spi.h", "____general__spi_8h_source.html", null ],
[ "__general_tim.h", "____general__tim_8h_source.html", null ],
[ "__general_uart.h", "____general__uart_8h_source.html", null ],
[ "bit_access.h", "bit__access_8h_source.html", null ],
[ "general_gpio.h", "general__gpio_8h.html", "general__gpio_8h" ],
[ "mylibs_config.h", "mylibs__config_8h.html", "mylibs__config_8h" ],
[ "mylibs_defs.h", "mylibs__defs_8h.html", "mylibs__defs_8h" ],
[ "mylibs_include.h", "mylibs__include_8h.html", "mylibs__include_8h" ],
[ "trace.h", "trace_8h.html", "trace_8h" ],
[ "trackers.h", "trackers_8h.html", "trackers_8h" ]
];

2459
Doc/html/doxygen.css Normal file
View File

@@ -0,0 +1,2459 @@
/* The standard CSS for doxygen 1.14.0*/
html {
/* page base colors */
--page-background-color: white;
--page-foreground-color: black;
--page-link-color: #3D578C;
--page-visited-link-color: #3D578C;
--page-external-link-color: #334975;
/* index */
--index-odd-item-bg-color: #F8F9FC;
--index-even-item-bg-color: white;
--index-header-color: black;
--index-separator-color: #A0A0A0;
/* header */
--header-background-color: #F9FAFC;
--header-separator-color: #C4CFE5;
--group-header-separator-color: #D9E0EE;
--group-header-color: #354C7B;
--inherit-header-color: gray;
--footer-foreground-color: #2A3D61;
--footer-logo-width: 75px;
--citation-label-color: #334975;
--glow-color: cyan;
--title-background-color: white;
--title-separator-color: #C4CFE5;
--directory-separator-color: #9CAFD4;
--separator-color: #4A6AAA;
--blockquote-background-color: #F7F8FB;
--blockquote-border-color: #9CAFD4;
--scrollbar-thumb-color: #C4CFE5;
--scrollbar-background-color: #F9FAFC;
--icon-background-color: #728DC1;
--icon-foreground-color: white;
/*
--icon-doc-image: url('doc.svg');
--icon-folder-open-image: url('folderopen.svg');
--icon-folder-closed-image: url('folderclosed.svg');*/
--icon-folder-open-fill-color: #C4CFE5;
--icon-folder-fill-color: #D8DFEE;
--icon-folder-border-color: #4665A2;
--icon-doc-fill-color: #D8DFEE;
--icon-doc-border-color: #4665A2;
/* brief member declaration list */
--memdecl-background-color: #F9FAFC;
--memdecl-separator-color: #DEE4F0;
--memdecl-foreground-color: #555;
--memdecl-template-color: #4665A2;
--memdecl-border-color: #D5DDEC;
/* detailed member list */
--memdef-border-color: #A8B8D9;
--memdef-title-background-color: #E2E8F2;
--memdef-proto-background-color: #EEF1F7;
--memdef-proto-text-color: #253555;
--memdef-doc-background-color: white;
--memdef-param-name-color: #602020;
--memdef-template-color: #4665A2;
/* tables */
--table-cell-border-color: #2D4068;
--table-header-background-color: #374F7F;
--table-header-foreground-color: #FFFFFF;
/* labels */
--label-background-color: #728DC1;
--label-left-top-border-color: #5373B4;
--label-right-bottom-border-color: #C4CFE5;
--label-foreground-color: white;
/** navigation bar/tree/menu */
--nav-background-color: #F9FAFC;
--nav-foreground-color: #364D7C;
--nav-border-color: #C4CFE5;
--nav-breadcrumb-separator-color: #C4CFE5;
--nav-breadcrumb-active-bg: #EEF1F7;
--nav-breadcrumb-color: #354C7B;
--nav-breadcrumb-border-color: #E1E7F2;
--nav-splitbar-bg-color: #DCE2EF;
--nav-splitbar-handle-color: #9CAFD4;
--nav-font-size-level1: 13px;
--nav-font-size-level2: 10px;
--nav-font-size-level3: 9px;
--nav-text-normal-color: #283A5D;
--nav-text-hover-color: white;
--nav-text-active-color: white;
--nav-menu-button-color: #364D7C;
--nav-menu-background-color: white;
--nav-menu-foreground-color: #555555;
--nav-menu-active-bg: #DCE2EF;
--nav-menu-active-color: #9CAFD4;
--nav-menu-toggle-color: rgba(255, 255, 255, 0.5);
--nav-arrow-color: #B6C4DF;
--nav-arrow-selected-color: #90A5CE;
/* sync icon */
--sync-icon-border-color: #C4CFE5;
--sync-icon-background-color: #F9FAFC;
--sync-icon-selected-background-color: #EEF1F7;
--sync-icon-color: #C4CFE5;
--sync-icon-selected-color: #6884BD;
/* table of contents */
--toc-background-color: #F4F6FA;
--toc-border-color: #D8DFEE;
--toc-header-color: #4665A2;
--toc-down-arrow-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='10px' width='5px' fill='grey'><text x='0' y='5' font-size='10'>&%238595;</text></svg>");
/** search field */
--search-background-color: white;
--search-foreground-color: #909090;
--search-active-color: black;
--search-filter-background-color: rgba(255,255,255,.7);
--search-filter-backdrop-filter: blur(4px);
--search-filter-foreground-color: black;
--search-filter-border-color: rgba(150,150,150,.4);
--search-filter-highlight-text-color: white;
--search-filter-highlight-bg-color: #3D578C;
--search-results-foreground-color: #425E97;
--search-results-background-color: rgba(255,255,255,.8);
--search-results-backdrop-filter: blur(4px);
--search-results-border-color: rgba(150,150,150,.4);
--search-box-border-color: #B6C4DF;
--search-close-icon-bg-color: #A0A0A0;
--search-close-icon-fg-color: white;
/** code fragments */
--code-keyword-color: #008000;
--code-type-keyword-color: #604020;
--code-flow-keyword-color: #E08000;
--code-comment-color: #800000;
--code-preprocessor-color: #806020;
--code-string-literal-color: #002080;
--code-char-literal-color: #008080;
--code-xml-cdata-color: black;
--code-vhdl-digit-color: #FF00FF;
--code-vhdl-char-color: #000000;
--code-vhdl-keyword-color: #700070;
--code-vhdl-logic-color: #FF0000;
--code-link-color: #4665A2;
--code-external-link-color: #4665A2;
--fragment-foreground-color: black;
--fragment-background-color: #FBFCFD;
--fragment-border-color: #C4CFE5;
--fragment-lineno-border-color: #00FF00;
--fragment-lineno-background-color: #E8E8E8;
--fragment-lineno-foreground-color: black;
--fragment-lineno-link-fg-color: #4665A2;
--fragment-lineno-link-bg-color: #D8D8D8;
--fragment-lineno-link-hover-fg-color: #4665A2;
--fragment-lineno-link-hover-bg-color: #C8C8C8;
--fragment-copy-ok-color: #2EC82E;
--tooltip-foreground-color: black;
--tooltip-background-color: rgba(255,255,255,0.8);
--tooltip-arrow-background-color: white;
--tooltip-border-color: rgba(150,150,150,0.7);
--tooltip-backdrop-filter: blur(3px);
--tooltip-doc-color: grey;
--tooltip-declaration-color: #006318;
--tooltip-link-color: #4665A2;
--tooltip-shadow: 0 4px 8px 0 rgba(0,0,0,.25);
--fold-line-color: #808080;
/** font-family */
--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed;
--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif;
--font-family-search: Arial,Verdana,sans-serif;
--font-family-icon: Arial,Helvetica;
--font-family-tooltip: Roboto,sans-serif;
/** special sections */
--warning-color-bg: #f8d1cc;
--warning-color-hl: #b61825;
--warning-color-text: #75070f;
--note-color-bg: #faf3d8;
--note-color-hl: #f3a600;
--note-color-text: #5f4204;
--todo-color-bg: #e4f3ff;
--todo-color-hl: #1879C4;
--todo-color-text: #274a5c;
--test-color-bg: #e8e8ff;
--test-color-hl: #3939C4;
--test-color-text: #1a1a5c;
--deprecated-color-bg: #ecf0f3;
--deprecated-color-hl: #5b6269;
--deprecated-color-text: #43454a;
--bug-color-bg: #e4dafd;
--bug-color-hl: #5b2bdd;
--bug-color-text: #2a0d72;
--invariant-color-bg: #d8f1e3;
--invariant-color-hl: #44b86f;
--invariant-color-text: #265532;
}
html.dark-mode {
/* page base colors */
--page-background-color: black;
--page-foreground-color: #C9D1D9;
--page-link-color: #90A5CE;
--page-visited-link-color: #90A5CE;
--page-external-link-color: #A3B4D7;
/* index */
--index-odd-item-bg-color: #0B101A;
--index-even-item-bg-color: black;
--index-header-color: #C4CFE5;
--index-separator-color: #334975;
/* header */
--header-background-color: #070B11;
--header-separator-color: #141C2E;
--group-header-separator-color: #1D2A43;
--group-header-color: #90A5CE;
--inherit-header-color: #A0A0A0;
--footer-foreground-color: #5B7AB7;
--footer-logo-width: 60px;
--citation-label-color: #90A5CE;
--glow-color: cyan;
--title-background-color: #090D16;
--title-separator-color: #212F4B;
--directory-separator-color: #283A5D;
--separator-color: #283A5D;
--blockquote-background-color: #101826;
--blockquote-border-color: #283A5D;
--scrollbar-thumb-color: #2C3F65;
--scrollbar-background-color: #070B11;
--icon-background-color: #334975;
--icon-foreground-color: #C4CFE5;
--icon-folder-open-fill-color: #4665A2;
--icon-folder-fill-color: #5373B4;
--icon-folder-border-color: #C4CFE5;
--icon-doc-fill-color: #6884BD;
--icon-doc-border-color: #C4CFE5;
/* brief member declaration list */
--memdecl-background-color: #0B101A;
--memdecl-separator-color: #2C3F65;
--memdecl-foreground-color: #BBB;
--memdecl-template-color: #7C95C6;
--memdecl-border-color: #233250;
/* detailed member list */
--memdef-border-color: #233250;
--memdef-title-background-color: #1B2840;
--memdef-proto-background-color: #19243A;
--memdef-proto-text-color: #9DB0D4;
--memdef-doc-background-color: black;
--memdef-param-name-color: #D28757;
--memdef-template-color: #7C95C6;
/* tables */
--table-cell-border-color: #283A5D;
--table-header-background-color: #283A5D;
--table-header-foreground-color: #C4CFE5;
/* labels */
--label-background-color: #354C7B;
--label-left-top-border-color: #4665A2;
--label-right-bottom-border-color: #283A5D;
--label-foreground-color: #CCCCCC;
/** navigation bar/tree/menu */
--nav-background-color: #101826;
--nav-foreground-color: #364D7C;
--nav-border-color: #212F4B;
--nav-breadcrumb-separator-color: #212F4B;
--nav-breadcrumb-active-bg: #1D2A43;
--nav-breadcrumb-color: #90A5CE;
--nav-breadcrumb-border-color: #2A3D61;
--nav-splitbar-bg-color: #283A5D;
--nav-splitbar-handle-color: #4665A2;
--nav-font-size-level1: 13px;
--nav-font-size-level2: 10px;
--nav-font-size-level3: 9px;
--nav-text-normal-color: #B6C4DF;
--nav-text-hover-color: #DCE2EF;
--nav-text-active-color: #DCE2EF;
--nav-menu-button-color: #B6C4DF;
--nav-menu-background-color: #05070C;
--nav-menu-foreground-color: #BBBBBB;
--nav-menu-active-bg: #1D2A43;
--nav-menu-active-color: #C9D3E7;
--nav-menu-toggle-color: rgba(255, 255, 255, 0.2);
--nav-arrow-color: #4665A2;
--nav-arrow-selected-color: #6884BD;
/* sync icon */
--sync-icon-border-color: #212F4B;
--sync-icon-background-color: #101826;
--sync-icon-selected-background-color: #1D2A43;
--sync-icon-color: #4665A2;
--sync-icon-selected-color: #5373B4;
/* table of contents */
--toc-background-color: #151E30;
--toc-border-color: #202E4A;
--toc-header-color: #A3B4D7;
--toc-down-arrow-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='10px' width='5px'><text x='0' y='5' font-size='10' fill='grey'>&%238595;</text></svg>");
/** search field */
--search-background-color: black;
--search-foreground-color: #C5C5C5;
--search-active-color: #F5F5F5;
--search-filter-background-color: #101826;
--search-filter-foreground-color: #90A5CE;
--search-filter-backdrop-filter: none;
--search-filter-border-color: #7C95C6;
--search-filter-highlight-text-color: #BCC9E2;
--search-filter-highlight-bg-color: #283A5D;
--search-results-background-color: black;
--search-results-foreground-color: #90A5CE;
--search-results-backdrop-filter: none;
--search-results-border-color: #334975;
--search-box-border-color: #334975;
--search-close-icon-bg-color: #909090;
--search-close-icon-fg-color: black;
/** code fragments */
--code-keyword-color: #CC99CD;
--code-type-keyword-color: #AB99CD;
--code-flow-keyword-color: #E08000;
--code-comment-color: #717790;
--code-preprocessor-color: #65CABE;
--code-string-literal-color: #7EC699;
--code-char-literal-color: #00E0F0;
--code-xml-cdata-color: #C9D1D9;
--code-vhdl-digit-color: #FF00FF;
--code-vhdl-char-color: #C0C0C0;
--code-vhdl-keyword-color: #CF53C9;
--code-vhdl-logic-color: #FF0000;
--code-link-color: #79C0FF;
--code-external-link-color: #79C0FF;
--fragment-foreground-color: #C9D1D9;
--fragment-background-color: #090D16;
--fragment-border-color: #30363D;
--fragment-lineno-border-color: #30363D;
--fragment-lineno-background-color: black;
--fragment-lineno-foreground-color: #6E7681;
--fragment-lineno-link-fg-color: #6E7681;
--fragment-lineno-link-bg-color: #303030;
--fragment-lineno-link-hover-fg-color: #8E96A1;
--fragment-lineno-link-hover-bg-color: #505050;
--fragment-copy-ok-color: #0EA80E;
--tooltip-foreground-color: #C9D1D9;
--tooltip-background-color: #202020;
--tooltip-arrow-background-color: #202020;
--tooltip-backdrop-filter: none;
--tooltip-border-color: #C9D1D9;
--tooltip-doc-color: #D9E1E9;
--tooltip-declaration-color: #20C348;
--tooltip-link-color: #79C0FF;
--tooltip-shadow: none;
--fold-line-color: #808080;
/** font-family */
--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed;
--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif;
--font-family-search: Arial,Verdana,sans-serif;
--font-family-icon: Arial,Helvetica;
--font-family-tooltip: Roboto,sans-serif;
/** special sections */
--warning-color-bg: #2e1917;
--warning-color-hl: #ad2617;
--warning-color-text: #f5b1aa;
--note-color-bg: #3b2e04;
--note-color-hl: #f1b602;
--note-color-text: #ceb670;
--todo-color-bg: #163750;
--todo-color-hl: #1982D2;
--todo-color-text: #dcf0fa;
--test-color-bg: #121258;
--test-color-hl: #4242cf;
--test-color-text: #c0c0da;
--deprecated-color-bg: #2e323b;
--deprecated-color-hl: #738396;
--deprecated-color-text: #abb0bd;
--bug-color-bg: #2a2536;
--bug-color-hl: #7661b3;
--bug-color-text: #ae9ed6;
--invariant-color-bg: #303a35;
--invariant-color-hl: #76ce96;
--invariant-color-text: #cceed5;
}
body {
background-color: var(--page-background-color);
color: var(--page-foreground-color);
}
body, table, div, p, dl {
font-weight: 400;
font-size: 14px;
font-family: var(--font-family-normal);
line-height: 22px;
}
body.resizing {
user-select: none;
-webkit-user-select: none;
}
#doc-content {
scrollbar-width: thin;
}
/* @group Heading Levels */
.title {
font-family: var(--font-family-normal);
line-height: 28px;
font-size: 160%;
font-weight: 400;
margin: 10px 2px;
}
h1.groupheader {
font-size: 150%;
}
h2.groupheader {
box-shadow: 12px 0 var(--page-background-color),
-12px 0 var(--page-background-color),
12px 1px var(--group-header-separator-color),
-12px 1px var(--group-header-separator-color);
color: var(--group-header-color);
font-size: 150%;
font-weight: normal;
margin-top: 1.75em;
padding-top: 8px;
padding-bottom: 4px;
width: 100%;
}
td h2.groupheader {
box-shadow: 13px 0 var(--page-background-color),
-13px 0 var(--page-background-color),
13px 1px var(--group-header-separator-color),
-13px 1px var(--group-header-separator-color);
}
h3.groupheader {
font-size: 100%;
}
h1, h2, h3, h4, h5, h6 {
-webkit-transition: text-shadow 0.5s linear;
-moz-transition: text-shadow 0.5s linear;
-ms-transition: text-shadow 0.5s linear;
-o-transition: text-shadow 0.5s linear;
transition: text-shadow 0.5s linear;
margin-right: 15px;
}
h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
text-shadow: 0 0 15px var(--glow-color);
}
dt {
font-weight: bold;
}
p.startli, p.startdd {
margin-top: 2px;
}
th p.starttd, th p.intertd, th p.endtd {
font-size: 100%;
font-weight: 700;
}
p.starttd {
margin-top: 0px;
}
p.endli {
margin-bottom: 0px;
}
p.enddd {
margin-bottom: 4px;
}
p.endtd {
margin-bottom: 2px;
}
p.interli {
}
p.interdd {
}
p.intertd {
}
/* @end */
caption {
font-weight: bold;
}
span.legend {
font-size: 70%;
text-align: center;
}
h3.version {
font-size: 90%;
text-align: center;
}
div.navtab {
margin-right: 6px;
padding-right: 6px;
text-align: right;
line-height: 110%;
background-color: var(--nav-background-color);
}
div.navtab table {
border-spacing: 0;
}
td.navtab {
padding-right: 6px;
padding-left: 6px;
}
td.navtabHL {
padding-right: 6px;
padding-left: 6px;
border-radius: 0 6px 6px 0;
background-color: var(--nav-menu-active-bg);
}
div.qindex{
text-align: center;
width: 100%;
line-height: 140%;
font-size: 130%;
color: var(--index-separator-color);
}
#main-menu a:focus {
outline: auto;
z-index: 10;
position: relative;
}
dt.alphachar{
font-size: 180%;
font-weight: bold;
}
.alphachar a{
color: var(--index-header-color);
}
.alphachar a:hover, .alphachar a:visited{
text-decoration: none;
}
.classindex dl {
padding: 25px;
column-count:1
}
.classindex dd {
display:inline-block;
margin-left: 50px;
width: 90%;
line-height: 1.15em;
}
.classindex dl.even {
background-color: var(--index-even-item-bg-color);
}
.classindex dl.odd {
background-color: var(--index-odd-item-bg-color);
}
@media(min-width: 1120px) {
.classindex dl {
column-count:2
}
}
@media(min-width: 1320px) {
.classindex dl {
column-count:3
}
}
/* @group Link Styling */
a {
color: var(--page-link-color);
font-weight: normal;
text-decoration: none;
}
.contents a:visited {
color: var(--page-visited-link-color);
}
span.label a:hover {
text-decoration: none;
background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%);
}
a.el {
font-weight: bold;
}
a.elRef {
}
a.el, a.el:visited, a.code, a.code:visited, a.line, a.line:visited {
color: var(--page-link-color);
}
a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
color: var(--page-external-link-color);
}
a.code.hl_class { /* style for links to class names in code snippets */ }
a.code.hl_struct { /* style for links to struct names in code snippets */ }
a.code.hl_union { /* style for links to union names in code snippets */ }
a.code.hl_interface { /* style for links to interface names in code snippets */ }
a.code.hl_protocol { /* style for links to protocol names in code snippets */ }
a.code.hl_category { /* style for links to category names in code snippets */ }
a.code.hl_exception { /* style for links to exception names in code snippets */ }
a.code.hl_service { /* style for links to service names in code snippets */ }
a.code.hl_singleton { /* style for links to singleton names in code snippets */ }
a.code.hl_concept { /* style for links to concept names in code snippets */ }
a.code.hl_namespace { /* style for links to namespace names in code snippets */ }
a.code.hl_package { /* style for links to package names in code snippets */ }
a.code.hl_define { /* style for links to macro names in code snippets */ }
a.code.hl_function { /* style for links to function names in code snippets */ }
a.code.hl_variable { /* style for links to variable names in code snippets */ }
a.code.hl_typedef { /* style for links to typedef names in code snippets */ }
a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ }
a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ }
a.code.hl_signal { /* style for links to Qt signal names in code snippets */ }
a.code.hl_slot { /* style for links to Qt slot names in code snippets */ }
a.code.hl_friend { /* style for links to friend names in code snippets */ }
a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ }
a.code.hl_property { /* style for links to property names in code snippets */ }
a.code.hl_event { /* style for links to event names in code snippets */ }
a.code.hl_sequence { /* style for links to sequence names in code snippets */ }
a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ }
/* @end */
dl.el {
margin-left: -1cm;
}
ul.check {
list-style:none;
text-indent: -16px;
padding-left: 38px;
}
li.unchecked:before {
content: "\2610\A0";
}
li.checked:before {
content: "\2611\A0";
}
ol {
text-indent: 0px;
}
ul {
text-indent: 0px;
overflow: visible;
}
ul.multicol {
-moz-column-gap: 1em;
-webkit-column-gap: 1em;
column-gap: 1em;
-moz-column-count: 3;
-webkit-column-count: 3;
column-count: 3;
list-style-type: none;
}
#side-nav ul {
overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
}
#main-nav ul {
overflow: visible; /* reset ul rule for the navigation bar drop down lists */
}
.fragment {
text-align: left;
direction: ltr;
overflow-x: auto;
overflow-y: hidden;
position: relative;
min-height: 12px;
margin: 10px 0px;
padding: 10px 10px;
border: 1px solid var(--fragment-border-color);
border-radius: 4px;
background-color: var(--fragment-background-color);
color: var(--fragment-foreground-color);
}
pre.fragment {
word-wrap: break-word;
font-size: 10pt;
line-height: 125%;
font-family: var(--font-family-monospace);
}
span.tt {
white-space: pre;
font-family: var(--font-family-monospace);
}
.clipboard {
width: 24px;
height: 24px;
right: 5px;
top: 5px;
opacity: 0;
position: absolute;
display: inline;
overflow: hidden;
justify-content: center;
align-items: center;
cursor: pointer;
}
.clipboard.success {
border: 1px solid var(--fragment-foreground-color);
border-radius: 4px;
}
.fragment:hover .clipboard, .clipboard.success {
opacity: .4;
}
.clipboard:hover, .clipboard.success {
opacity: 1 !important;
}
.clipboard:active:not([class~=success]) svg {
transform: scale(.91);
}
.clipboard.success svg {
fill: var(--fragment-copy-ok-color);
}
.clipboard.success {
border-color: var(--fragment-copy-ok-color);
}
div.line {
font-family: var(--font-family-monospace);
font-size: 13px;
min-height: 13px;
line-height: 1.2;
text-wrap: wrap;
word-break: break-all;
white-space: -moz-pre-wrap; /* Moz */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: pre-wrap; /* CSS3 */
word-wrap: break-word; /* IE 5.5+ */
text-indent: -62px;
padding-left: 62px;
padding-bottom: 0px;
margin: 0px;
-webkit-transition-property: background-color, box-shadow;
-webkit-transition-duration: 0.5s;
-moz-transition-property: background-color, box-shadow;
-moz-transition-duration: 0.5s;
-ms-transition-property: background-color, box-shadow;
-ms-transition-duration: 0.5s;
-o-transition-property: background-color, box-shadow;
-o-transition-duration: 0.5s;
transition-property: background-color, box-shadow;
transition-duration: 0.5s;
}
div.line:after {
content:"\000A";
white-space: pre;
}
div.line.glow {
background-color: var(--glow-color);
box-shadow: 0 0 10px var(--glow-color);
}
span.fold {
display: inline-block;
width: 12px;
height: 12px;
margin-left: 4px;
margin-right: 1px;
}
span.foldnone {
display: inline-block;
position: relative;
cursor: pointer;
user-select: none;
}
span.fold.plus, span.fold.minus {
width: 10px;
height: 10px;
background-color: var(--fragment-background-color);
position: relative;
border: 1px solid var(--fold-line-color);
margin-right: 1px;
}
span.fold.plus::before, span.fold.minus::before {
content: '';
position: absolute;
background-color: var(--fold-line-color);
}
span.fold.plus::before {
width: 2px;
height: 6px;
top: 2px;
left: 4px;
}
span.fold.plus::after {
content: '';
position: absolute;
width: 6px;
height: 2px;
top: 4px;
left: 2px;
background-color: var(--fold-line-color);
}
span.fold.minus::before {
width: 6px;
height: 2px;
top: 4px;
left: 2px;
}
span.lineno {
padding-right: 4px;
margin-right: 9px;
text-align: right;
border-right: 2px solid var(--fragment-lineno-border-color);
color: var(--fragment-lineno-foreground-color);
background-color: var(--fragment-lineno-background-color);
white-space: pre;
}
span.lineno a, span.lineno a:visited {
color: var(--fragment-lineno-link-fg-color);
background-color: var(--fragment-lineno-link-bg-color);
}
span.lineno a:hover {
color: var(--fragment-lineno-link-hover-fg-color);
background-color: var(--fragment-lineno-link-hover-bg-color);
}
.lineno {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
div.classindex ul {
list-style: none;
padding-left: 0;
}
div.classindex span.ai {
display: inline-block;
}
div.groupHeader {
box-shadow: 13px 0 var(--page-background-color),
-13px 0 var(--page-background-color),
13px 1px var(--group-header-separator-color),
-13px 1px var(--group-header-separator-color);
color: var(--group-header-color);
font-size: 110%;
font-weight: 500;
margin-left: 0px;
margin-top: 0em;
margin-bottom: 6px;
padding-top: 8px;
padding-bottom: 4px;
}
div.groupText {
margin-left: 16px;
font-style: italic;
}
body {
color: var(--page-foreground-color);
margin: 0;
}
div.contents {
margin-top: 10px;
margin-left: 12px;
margin-right: 12px;
}
p.formulaDsp {
text-align: center;
}
img.dark-mode-visible {
display: none;
}
img.light-mode-visible {
display: none;
}
img.formulaInl, img.inline {
vertical-align: middle;
}
div.center {
text-align: center;
margin-top: 0px;
margin-bottom: 0px;
padding: 0px;
}
div.center img {
border: 0px;
}
address.footer {
text-align: right;
padding-right: 12px;
}
img.footer {
border: 0px;
vertical-align: middle;
width: var(--footer-logo-width);
}
.compoundTemplParams {
color: var(--memdecl-template-color);
font-size: 80%;
line-height: 120%;
}
/* @group Code Colorization */
span.keyword {
color: var(--code-keyword-color);
}
span.keywordtype {
color: var(--code-type-keyword-color);
}
span.keywordflow {
color: var(--code-flow-keyword-color);
}
span.comment {
color: var(--code-comment-color);
}
span.preprocessor {
color: var(--code-preprocessor-color);
}
span.stringliteral {
color: var(--code-string-literal-color);
}
span.charliteral {
color: var(--code-char-literal-color);
}
span.xmlcdata {
color: var(--code-xml-cdata-color);
}
span.vhdldigit {
color: var(--code-vhdl-digit-color);
}
span.vhdlchar {
color: var(--code-vhdl-char-color);
}
span.vhdlkeyword {
color: var(--code-vhdl-keyword-color);
}
span.vhdllogic {
color: var(--code-vhdl-logic-color);
}
blockquote {
background-color: var(--blockquote-background-color);
border-left: 2px solid var(--blockquote-border-color);
margin: 0 24px 0 4px;
padding: 0 12px 0 16px;
}
/* @end */
td.tiny {
font-size: 75%;
}
.dirtab {
padding: 4px;
border-collapse: collapse;
border: 1px solid var(--table-cell-border-color);
}
th.dirtab {
background-color: var(--table-header-background-color);
color: var(--table-header-foreground-color);
font-weight: bold;
}
hr {
border: none;
margin-top: 16px;
margin-bottom: 16px;
height: 1px;
box-shadow: 13px 0 var(--page-background-color),
-13px 0 var(--page-background-color),
13px 1px var(--group-header-separator-color),
-13px 1px var(--group-header-separator-color);
}
hr.footer {
height: 1px;
}
/* @group Member Descriptions */
table.memberdecls {
border-spacing: 0px;
padding: 0px;
}
.memberdecls td, .fieldtable tr {
transition-property: background-color, box-shadow;
transition-duration: 0.5s;
}
.memberdecls td.glow, .fieldtable tr.glow {
background-color: var(--glow-color);
box-shadow: 0 0 15px var(--glow-color);
}
.memberdecls tr[class^='memitem'] {
font-family: var(--font-family-monospace);
}
.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight {
padding-top: 2px;
padding-bottom: 2px;
}
.memTemplParams {
padding-left: 10px;
padding-top: 5px;
}
.memItemLeft, .memItemRight, .memTemplParams {
background-color: var(--memdecl-background-color);
}
.mdescLeft, .mdescRight {
padding: 0px 8px 4px 8px;
color: var(--memdecl-foreground-color);
}
tr[class^='memdesc'] {
box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,.075);
}
.mdescLeft {
border-left: 1px solid var(--memdecl-border-color);
border-bottom: 1px solid var(--memdecl-border-color);
}
.mdescRight {
border-right: 1px solid var(--memdecl-border-color);
border-bottom: 1px solid var(--memdecl-border-color);
}
.memTemplParams {
color: var(--memdecl-template-color);
white-space: nowrap;
font-size: 80%;
border-left: 1px solid var(--memdecl-border-color);
border-right: 1px solid var(--memdecl-border-color);
}
td.ititle {
border: 1px solid var(--memdecl-border-color);
border-top-left-radius: 4px;
border-top-right-radius: 4px;
padding-left: 10px;
}
tr:not(:first-child) > td.ititle {
border-top: 0;
border-radius: 0;
}
.memItemLeft {
white-space: nowrap;
border-left: 1px solid var(--memdecl-border-color);
border-bottom: 1px solid var(--memdecl-border-color);
padding-left: 10px;
transition: none;
}
.memItemRight {
width: 100%;
border-right: 1px solid var(--memdecl-border-color);
border-bottom: 1px solid var(--memdecl-border-color);
padding-right: 10px;
transition: none;
}
tr.heading + tr[class^='memitem'] td.memItemLeft,
tr.groupHeader + tr[class^='memitem'] td.memItemLeft,
tr.inherit_header + tr[class^='memitem'] td.memItemLeft {
border-top: 1px solid var(--memdecl-border-color);
border-top-left-radius: 4px;
}
tr.heading + tr[class^='memitem'] td.memItemRight,
tr.groupHeader + tr[class^='memitem'] td.memItemRight,
tr.inherit_header + tr[class^='memitem'] td.memItemRight {
border-top: 1px solid var(--memdecl-border-color);
border-top-right-radius: 4px;
}
tr.heading + tr[class^='memitem'] td.memTemplParams,
tr.heading + tr td.ititle,
tr.groupHeader + tr[class^='memitem'] td.memTemplParams,
tr.groupHeader + tr td.ititle,
tr.inherit_header + tr[class^='memitem'] td.memTemplParams {
border-top: 1px solid var(--memdecl-border-color);
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
table.memberdecls tr:last-child td.memItemLeft,
table.memberdecls tr:last-child td.mdescLeft,
table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft,
table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft,
table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft,
table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft {
border-bottom-left-radius: 4px;
}
table.memberdecls tr:last-child td.memItemRight,
table.memberdecls tr:last-child td.mdescRight,
table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight,
table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight,
table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight,
table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight {
border-bottom-right-radius: 4px;
}
tr.template .memItemLeft, tr.template .memItemRight {
border-top: none;
padding-top: 0;
}
/* @end */
/* @group Member Details */
/* Styles for detailed member documentation */
.memtitle {
padding: 8px;
border-top: 1px solid var(--memdef-border-color);
border-left: 1px solid var(--memdef-border-color);
border-right: 1px solid var(--memdef-border-color);
border-top-right-radius: 4px;
border-top-left-radius: 4px;
margin-bottom: -1px;
background-color: var(--memdef-proto-background-color);
line-height: 1.25;
font-family: var(--font-family-monospace);
font-weight: 500;
font-size: 16px;
float:left;
box-shadow: 0 10px 0 -1px var(--memdef-proto-background-color),
0 2px 8px 0 rgba(0,0,0,.075);
position: relative;
}
.memtitle:after {
content: '';
display: block;
background: var(--memdef-proto-background-color);
height: 10px;
bottom: -10px;
left: 0px;
right: -14px;
position: absolute;
border-top-right-radius: 6px;
}
.permalink
{
font-family: var(--font-family-monospace);
font-weight: 500;
line-height: 1.25;
font-size: 16px;
display: inline-block;
vertical-align: middle;
}
.memtemplate {
font-size: 80%;
color: var(--memdef-template-color);
font-family: var(--font-family-monospace);
font-weight: normal;
margin-left: 9px;
}
.mempage {
width: 100%;
}
.memitem {
padding: 0;
margin-bottom: 10px;
margin-right: 5px;
display: table !important;
width: 100%;
box-shadow: 0 2px 8px 0 rgba(0,0,0,.075);
border-radius: 4px;
}
.memitem.glow {
box-shadow: 0 0 15px var(--glow-color);
}
.memname {
font-family: var(--font-family-monospace);
font-size: 13px;
font-weight: 400;
margin-left: 6px;
}
.memname td {
vertical-align: bottom;
}
.memproto, dl.reflist dt {
border-top: 1px solid var(--memdef-border-color);
border-left: 1px solid var(--memdef-border-color);
border-right: 1px solid var(--memdef-border-color);
padding: 6px 0px 6px 0px;
color: var(--memdef-proto-text-color);
font-weight: bold;
background-color: var(--memdef-proto-background-color);
border-top-right-radius: 4px;
border-bottom: 1px solid var(--memdef-border-color);
}
.overload {
font-family: var(--font-family-monospace);
font-size: 65%;
}
.memdoc, dl.reflist dd {
border-bottom: 1px solid var(--memdef-border-color);
border-left: 1px solid var(--memdef-border-color);
border-right: 1px solid var(--memdef-border-color);
padding: 6px 10px 2px 10px;
border-top-width: 0;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
}
dl.reflist dt {
padding: 5px;
}
dl.reflist dd {
margin: 0px 0px 10px 0px;
padding: 5px;
}
.paramkey {
text-align: right;
}
.paramtype {
white-space: nowrap;
padding: 0px;
padding-bottom: 1px;
}
.paramname {
white-space: nowrap;
padding: 0px;
padding-bottom: 1px;
margin-left: 2px;
}
.paramname em {
color: var(--memdef-param-name-color);
font-style: normal;
margin-right: 1px;
}
.paramname .paramdefval {
font-family: var(--font-family-monospace);
}
.params, .retval, .exception, .tparams {
margin-left: 0px;
padding-left: 0px;
}
.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
font-weight: bold;
vertical-align: top;
}
.params .paramtype, .tparams .paramtype {
font-style: italic;
vertical-align: top;
}
.params .paramdir, .tparams .paramdir {
font-family: var(--font-family-monospace);
vertical-align: top;
}
table.mlabels {
border-spacing: 0px;
}
td.mlabels-left {
width: 100%;
padding: 0px;
}
td.mlabels-right {
vertical-align: bottom;
padding: 0px;
white-space: nowrap;
}
span.mlabels {
margin-left: 8px;
}
span.mlabel {
background-color: var(--label-background-color);
border-top:1px solid var(--label-left-top-border-color);
border-left:1px solid var(--label-left-top-border-color);
border-right:1px solid var(--label-right-bottom-border-color);
border-bottom:1px solid var(--label-right-bottom-border-color);
text-shadow: none;
color: var(--label-foreground-color);
margin-right: 4px;
padding: 2px 3px;
border-radius: 3px;
font-size: 7pt;
white-space: nowrap;
vertical-align: middle;
}
/* @end */
/* these are for tree view inside a (index) page */
div.directory {
margin: 10px 0px;
width: 100%;
}
.directory table {
border-collapse:collapse;
}
.directory td {
margin: 0px;
padding: 0px;
vertical-align: top;
}
.directory td.entry {
white-space: nowrap;
padding-right: 6px;
padding-top: 3px;
}
.directory td.entry a {
outline:none;
}
.directory td.entry a img {
border: none;
}
.directory td.desc {
width: 100%;
padding-left: 6px;
padding-right: 6px;
padding-top: 3px;
border-left: 1px solid rgba(0,0,0,0.05);
}
.directory tr.odd {
padding-left: 6px;
background-color: var(--index-odd-item-bg-color);
}
.directory tr.even {
padding-left: 6px;
background-color: var(--index-even-item-bg-color);
}
.directory img {
vertical-align: -30%;
}
.directory .levels {
white-space: nowrap;
width: 100%;
text-align: right;
font-size: 9pt;
}
.directory .levels span {
cursor: pointer;
padding-left: 2px;
padding-right: 2px;
color: var(--page-link-color);
}
.arrow {
color: var(--nav-background-color);
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: pointer;
font-size: 80%;
display: inline-block;
width: 16px;
height: 14px;
transition: opacity 0.3s ease;
}
span.arrowhead {
position: relative;
padding: 0;
margin: 0 0 0 2px;
display: inline-block;
width: 5px;
height: 5px;
border-right: 2px solid var(--nav-arrow-color);
border-bottom: 2px solid var(--nav-arrow-color);
transform: rotate(-45deg);
transition: transform 0.3s ease;
}
span.arrowhead.opened {
transform: rotate(45deg);
}
.selected span.arrowhead {
border-right: 2px solid var(--nav-arrow-selected-color);
border-bottom: 2px solid var(--nav-arrow-selected-color);
}
.icon {
font-family: var(--font-family-icon);
line-height: normal;
font-weight: bold;
font-size: 12px;
height: 14px;
width: 16px;
display: inline-block;
background-color: var(--icon-background-color);
color: var(--icon-foreground-color);
text-align: center;
border-radius: 4px;
margin-left: 2px;
margin-right: 2px;
}
.icona {
width: 24px;
height: 22px;
display: inline-block;
}
.iconfolder {
width: 24px;
height: 18px;
margin-top: 6px;
vertical-align:top;
display: inline-block;
position: relative;
}
.icondoc {
width: 24px;
height: 18px;
margin-top: 3px;
vertical-align:top;
display: inline-block;
position: relative;
}
.folder-icon {
width: 16px;
height: 11px;
background-color: var(--icon-folder-fill-color);
border: 1px solid var(--icon-folder-border-color);
border-radius: 0 2px 2px 2px;
position: relative;
box-sizing: content-box;
}
.folder-icon::after {
content: '';
position: absolute;
top: 2px;
left: -1px;
width: 16px;
height: 7px;
background-color: var(--icon-folder-open-fill-color);
border: 1px solid var(--icon-folder-border-color);
border-radius: 7px 7px 2px 2px;
transform-origin: top left;
opacity: 0;
transition: all 0.3s linear;
}
.folder-icon::before {
content: '';
position: absolute;
top: -3px;
left: -1px;
width: 6px;
height: 2px;
background-color: var(--icon-folder-fill-color);
border-top: 1px solid var(--icon-folder-border-color);
border-left: 1px solid var(--icon-folder-border-color);
border-right: 1px solid var(--icon-folder-border-color);
border-radius: 2px 2px 0 0;
}
.folder-icon.open::after {
top: 3px;
opacity: 1;
}
.doc-icon {
left: 6px;
width: 12px;
height: 16px;
background-color: var(--icon-doc-border-color);
clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%);
position: relative;
display: inline-block;
}
.doc-icon::before {
content: "";
left: 1px;
top: 1px;
width: 10px;
height: 14px;
background-color: var(--icon-doc-fill-color);
clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%);
position: absolute;
box-sizing: border-box;
}
.doc-icon::after {
content: "";
left: 7px;
top: 0px;
width: 3px;
height: 3px;
background-color: transparent;
position: absolute;
border: 1px solid var(--icon-doc-border-color);
}
/* @end */
div.dynheader {
margin-top: 8px;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
span.dynarrow {
position: relative;
display: inline-block;
width: 12px;
bottom: 1px;
}
address {
font-style: normal;
color: var(--footer-foreground-color);
}
table.doxtable caption {
caption-side: top;
}
table.doxtable {
border-collapse:collapse;
margin-top: 4px;
margin-bottom: 4px;
}
table.doxtable td, table.doxtable th {
border: 1px solid var(--table-cell-border-color);
padding: 3px 7px 2px;
}
table.doxtable th {
background-color: var(--table-header-background-color);
color: var(--table-header-foreground-color);
font-size: 110%;
padding-bottom: 4px;
padding-top: 5px;
}
table.fieldtable {
margin-bottom: 10px;
border: 1px solid var(--memdef-border-color);
border-spacing: 0px;
border-radius: 4px;
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
}
.fieldtable td, .fieldtable th {
padding: 3px 7px 2px;
}
.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit {
white-space: nowrap;
border-right: 1px solid var(--memdef-border-color);
border-bottom: 1px solid var(--memdef-border-color);
vertical-align: top;
}
.fieldtable td.fieldname {
padding-top: 3px;
}
.fieldtable td.fieldinit {
padding-top: 3px;
text-align: right;
}
.fieldtable td.fielddoc {
border-bottom: 1px solid var(--memdef-border-color);
}
.fieldtable td.fielddoc p:first-child {
margin-top: 0px;
}
.fieldtable td.fielddoc p:last-child {
margin-bottom: 2px;
}
.fieldtable tr:last-child td {
border-bottom: none;
}
.fieldtable th {
background-color: var(--memdef-title-background-color);
font-size: 90%;
color: var(--memdef-proto-text-color);
padding-bottom: 4px;
padding-top: 5px;
text-align:left;
font-weight: 400;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom: 1px solid var(--memdef-border-color);
}
/* ----------- navigation breadcrumb styling ----------- */
#nav-path ul {
height: 30px;
line-height: 30px;
color: var(--nav-text-normal-color);
overflow: hidden;
margin: 0px;
padding-left: 4px;
background-image: none;
background: var(--page-background-color);
border-bottom: 1px solid var(--nav-breadcrumb-separator-color);
font-size: var(--nav-font-size-level1);
font-family: var(--font-family-nav);
position: relative;
z-index: 100;
}
#main-nav {
border-bottom: 1px solid var(--nav-border-color);
}
.navpath li {
list-style-type:none;
float:left;
color: var(--nav-foreground-color);
}
.navpath li.footer {
list-style-type:none;
float:right;
padding-left:10px;
padding-right:15px;
background-image:none;
background-repeat:no-repeat;
background-position:right;
font-size: 8pt;
color: var(--footer-foreground-color);
}
#nav-path li.navelem {
background-image: none;
display: flex;
align-items: center;
padding-left: 15px;
}
.navpath li.navelem a {
text-shadow: none;
display: inline-block;
color: var(--nav-breadcrumb-color);
position: relative;
top: 0px;
height: 30px;
margin-right: -20px;
}
#nav-path li.navelem:after {
content: '';
display: inline-block;
position: relative;
top: 0;
right: -15px;
width: 30px;
height: 30px;
transform: scaleX(0.5) scale(0.707) rotate(45deg);
z-index: 10;
background: var(--page-background-color);
box-shadow: 2px -2px 0 2px var(--nav-breadcrumb-separator-color);
border-radius: 0 5px 0 50px;
}
#nav-path li.navelem:first-child {
margin-left: -6px;
}
#nav-path li.navelem:hover,
#nav-path li.navelem:hover:after {
background-color: var(--nav-breadcrumb-active-bg);
}
/* ---------------------- */
div.summary
{
float: right;
font-size: 8pt;
padding-right: 5px;
width: 50%;
text-align: right;
}
div.summary a
{
white-space: nowrap;
}
table.classindex
{
margin: 10px;
white-space: nowrap;
margin-left: 3%;
margin-right: 3%;
width: 94%;
border: 0;
border-spacing: 0;
padding: 0;
}
div.ingroups
{
font-size: 8pt;
width: 50%;
text-align: left;
}
div.ingroups a
{
white-space: nowrap;
}
div.header
{
margin: 0px;
background-color: var(--header-background-color);
border-bottom: 1px solid var(--header-separator-color);
}
div.headertitle
{
padding: 5px 5px 5px 10px;
}
dl {
padding: 0 0 0 0;
}
dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a {
font-weight: bold !important;
}
dl.warning, dl.attention, dl.important, dl.note, dl.deprecated, dl.bug,
dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark {
padding: 10px;
margin: 10px 0px;
overflow: hidden;
margin-left: 0;
border-radius: 4px;
}
dl.section dd {
margin-bottom: 2px;
}
dl.warning, dl.attention, dl.important {
background: var(--warning-color-bg);
border-left: 8px solid var(--warning-color-hl);
color: var(--warning-color-text);
}
dl.warning dt, dl.attention dt, dl.important dt {
color: var(--warning-color-hl);
}
dl.note, dl.remark {
background: var(--note-color-bg);
border-left: 8px solid var(--note-color-hl);
color: var(--note-color-text);
}
dl.note dt, dl.remark dt {
color: var(--note-color-hl);
}
dl.todo {
background: var(--todo-color-bg);
border-left: 8px solid var(--todo-color-hl);
color: var(--todo-color-text);
}
dl.todo dt {
color: var(--todo-color-hl);
}
dl.test {
background: var(--test-color-bg);
border-left: 8px solid var(--test-color-hl);
color: var(--test-color-text);
}
dl.test dt {
color: var(--test-color-hl);
}
dl.bug dt a {
color: var(--bug-color-hl) !important;
}
dl.bug {
background: var(--bug-color-bg);
border-left: 8px solid var(--bug-color-hl);
color: var(--bug-color-text);
}
dl.bug dt a {
color: var(--bug-color-hl) !important;
}
dl.deprecated {
background: var(--deprecated-color-bg);
border-left: 8px solid var(--deprecated-color-hl);
color: var(--deprecated-color-text);
}
dl.deprecated dt a {
color: var(--deprecated-color-hl) !important;
}
dl.note dd, dl.warning dd, dl.pre dd, dl.post dd,
dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd,
dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd {
margin-inline-start: 0px;
}
dl.invariant, dl.pre, dl.post {
background: var(--invariant-color-bg);
border-left: 8px solid var(--invariant-color-hl);
color: var(--invariant-color-text);
}
dl.invariant dt, dl.pre dt, dl.post dt {
color: var(--invariant-color-hl);
}
#projectrow
{
height: 56px;
}
#projectlogo
{
text-align: center;
vertical-align: bottom;
border-collapse: separate;
}
#projectlogo img
{
border: 0px none;
}
#projectalign
{
vertical-align: middle;
padding-left: 0.5em;
}
#projectname
{
font-size: 200%;
font-family: var(--font-family-title);
margin: 0;
padding: 0;
}
#side-nav #projectname
{
font-size: 130%;
}
#projectbrief
{
font-size: 90%;
font-family: var(--font-family-title);
margin: 0px;
padding: 0px;
}
#projectnumber
{
font-size: 50%;
font-family: var(--font-family-title);
margin: 0px;
padding: 0px;
}
#titlearea
{
padding: 0 0 0 5px;
margin: 0px;
border-bottom: 1px solid var(--title-separator-color);
background-color: var(--title-background-color);
}
.image
{
text-align: center;
}
.dotgraph
{
text-align: center;
}
.mscgraph
{
text-align: center;
}
.plantumlgraph
{
text-align: center;
}
.diagraph
{
text-align: center;
}
.caption
{
font-weight: bold;
}
dl.citelist {
margin-bottom:50px;
}
dl.citelist dt {
color:var(--citation-label-color);
float:left;
font-weight:bold;
margin-right:10px;
padding:5px;
text-align:right;
width:52px;
}
dl.citelist dd {
margin:2px 0 2px 72px;
padding:5px 0;
}
div.toc {
padding: 14px 25px;
background-color: var(--toc-background-color);
border: 1px solid var(--toc-border-color);
border-radius: 7px 7px 7px 7px;
float: right;
height: auto;
margin: 0 8px 10px 10px;
width: 200px;
}
div.toc li {
background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent;
font: 10px/1.2 var(--font-family-toc);
margin-top: 5px;
padding-left: 10px;
padding-top: 2px;
}
div.toc h3 {
font: bold 12px/1.2 var(--font-family-toc);
color: var(--toc-header-color);
border-bottom: 0 none;
margin: 0;
}
div.toc ul {
list-style: none outside none;
border: medium none;
padding: 0px;
}
div.toc li[class^='level'] {
margin-left: 15px;
}
div.toc li.level1 {
margin-left: 0px;
}
div.toc li.empty {
background-image: none;
margin-top: 0px;
}
span.emoji {
/* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html
* font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
*/
}
span.obfuscator {
display: none;
}
.inherit_header {
font-weight: 400;
cursor: pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.inherit_header td {
padding: 6px 0 2px 0;
}
.inherit {
display: none;
}
tr.heading h2 {
margin-top: 12px;
margin-bottom: 12px;
}
/* tooltip related style info */
.ttc {
position: absolute;
display: none;
}
#powerTip {
cursor: default;
color: var(--tooltip-foreground-color);
background-color: var(--tooltip-background-color);
backdrop-filter: var(--tooltip-backdrop-filter);
-webkit-backdrop-filter: var(--tooltip-backdrop-filter);
border: 1px solid var(--tooltip-border-color);
border-radius: 4px;
box-shadow: var(--tooltip-shadow);
display: none;
font-size: smaller;
max-width: 80%;
padding: 1ex 1em 1em;
position: absolute;
z-index: 2147483647;
}
#powerTip div.ttdoc {
color: var(--tooltip-doc-color);
font-style: italic;
}
#powerTip div.ttname a {
font-weight: bold;
}
#powerTip a {
color: var(--tooltip-link-color);
}
#powerTip div.ttname {
font-weight: bold;
}
#powerTip div.ttdeci {
color: var(--tooltip-declaration-color);
}
#powerTip div {
margin: 0px;
padding: 0px;
font-size: 12px;
font-family: var(--font-family-tooltip);
line-height: 16px;
}
#powerTip:before, #powerTip:after {
content: "";
position: absolute;
margin: 0px;
}
#powerTip.n:after, #powerTip.n:before,
#powerTip.s:after, #powerTip.s:before,
#powerTip.w:after, #powerTip.w:before,
#powerTip.e:after, #powerTip.e:before,
#powerTip.ne:after, #powerTip.ne:before,
#powerTip.se:after, #powerTip.se:before,
#powerTip.nw:after, #powerTip.nw:before,
#powerTip.sw:after, #powerTip.sw:before {
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
}
#powerTip.n:after, #powerTip.s:after,
#powerTip.w:after, #powerTip.e:after,
#powerTip.nw:after, #powerTip.ne:after,
#powerTip.sw:after, #powerTip.se:after {
border-color: rgba(255, 255, 255, 0);
}
#powerTip.n:before, #powerTip.s:before,
#powerTip.w:before, #powerTip.e:before,
#powerTip.nw:before, #powerTip.ne:before,
#powerTip.sw:before, #powerTip.se:before {
border-color: rgba(128, 128, 128, 0);
}
#powerTip.n:after, #powerTip.n:before,
#powerTip.ne:after, #powerTip.ne:before,
#powerTip.nw:after, #powerTip.nw:before {
top: 100%;
}
#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
border-top-color: var(--tooltip-arrow-background-color);
border-width: 10px;
margin: 0px -10px;
}
#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before {
border-top-color: var(--tooltip-border-color);
border-width: 11px;
margin: 0px -11px;
}
#powerTip.n:after, #powerTip.n:before {
left: 50%;
}
#powerTip.nw:after, #powerTip.nw:before {
right: 14px;
}
#powerTip.ne:after, #powerTip.ne:before {
left: 14px;
}
#powerTip.s:after, #powerTip.s:before,
#powerTip.se:after, #powerTip.se:before,
#powerTip.sw:after, #powerTip.sw:before {
bottom: 100%;
}
#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
border-bottom-color: var(--tooltip-arrow-background-color);
border-width: 10px;
margin: 0px -10px;
}
#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
border-bottom-color: var(--tooltip-border-color);
border-width: 11px;
margin: 0px -11px;
}
#powerTip.s:after, #powerTip.s:before {
left: 50%;
}
#powerTip.sw:after, #powerTip.sw:before {
right: 14px;
}
#powerTip.se:after, #powerTip.se:before {
left: 14px;
}
#powerTip.e:after, #powerTip.e:before {
left: 100%;
}
#powerTip.e:after {
border-left-color: var(--tooltip-border-color);
border-width: 10px;
top: 50%;
margin-top: -10px;
}
#powerTip.e:before {
border-left-color: var(--tooltip-border-color);
border-width: 11px;
top: 50%;
margin-top: -11px;
}
#powerTip.w:after, #powerTip.w:before {
right: 100%;
}
#powerTip.w:after {
border-right-color: var(--tooltip-border-color);
border-width: 10px;
top: 50%;
margin-top: -10px;
}
#powerTip.w:before {
border-right-color: var(--tooltip-border-color);
border-width: 11px;
top: 50%;
margin-top: -11px;
}
@media print
{
#top { display: none; }
#side-nav { display: none; }
#nav-path { display: none; }
body { overflow:visible; }
h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
.summary { display: none; }
.memitem { page-break-inside: avoid; }
#doc-content
{
margin-left:0 !important;
height:auto !important;
width:auto !important;
overflow:inherit;
display:inline;
}
}
/* @group Markdown */
table.markdownTable {
border-collapse:collapse;
margin-top: 4px;
margin-bottom: 4px;
}
table.markdownTable td, table.markdownTable th {
border: 1px solid var(--table-cell-border-color);
padding: 3px 7px 2px;
}
table.markdownTable tr {
}
th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
background-color: var(--table-header-background-color);
color: var(--table-header-foreground-color);
font-size: 110%;
padding-bottom: 4px;
padding-top: 5px;
}
th.markdownTableHeadLeft, td.markdownTableBodyLeft {
text-align: left
}
th.markdownTableHeadRight, td.markdownTableBodyRight {
text-align: right
}
th.markdownTableHeadCenter, td.markdownTableBodyCenter {
text-align: center
}
tt, code, kbd
{
display: inline-block;
}
tt, code, kbd
{
vertical-align: top;
}
/* @end */
u {
text-decoration: underline;
}
details>summary {
list-style-type: none;
}
details > summary::-webkit-details-marker {
display: none;
}
details>summary::before {
content: "\25ba";
padding-right:4px;
font-size: 80%;
}
details[open]>summary::before {
content: "\25bc";
padding-right:4px;
font-size: 80%;
}
:root {
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color);
}
::-webkit-scrollbar {
background-color: var(--scrollbar-background-color);
height: 12px;
width: 12px;
}
::-webkit-scrollbar-thumb {
border-radius: 6px;
box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color);
border: solid 2px transparent;
}
::-webkit-scrollbar-corner {
background-color: var(--scrollbar-background-color);
}

28
Doc/html/doxygen.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

222
Doc/html/doxygen_crawl.html Normal file
View File

@@ -0,0 +1,222 @@
<!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>
<title>Validator / crawler helper</title>
<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"/>
</head>
<body>
<a href="____general__flash_8c_source.html"/>
<a href="____general__flash_8h_source.html"/>
<a href="____general__spi_8c_source.html"/>
<a href="____general__spi_8h_source.html"/>
<a href="____general__tim_8c_source.html"/>
<a href="____general__tim_8h_source.html"/>
<a href="____general__uart_8c_source.html"/>
<a href="____general__uart_8h_source.html"/>
<a href="annotated.html"/>
<a href="bit__access_8h_source.html"/>
<a href="classes.html"/>
<a href="dir_9c80311a018e1f8cfb6659b73d634be4.html"/>
<a href="dir_9e11e9a41112194af3eee6cc728f9515.html"/>
<a href="dir_eb423fea8a9c4b9b32b922020ec391e1.html"/>
<a href="doxygen_crawl.html"/>
<a href="files.html"/>
<a href="functions.html"/>
<a href="functions_vars.html"/>
<a href="general__gpio_8c.html"/>
<a href="general__gpio_8c_source.html"/>
<a href="general__gpio_8h.html"/>
<a href="general__gpio_8h_source.html"/>
<a href="globals.html"/>
<a href="globals_defs.html"/>
<a href="globals_enum.html"/>
<a href="globals_eval.html"/>
<a href="globals_func.html"/>
<a href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html"/>
<a href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga47eb69ce9330a1c73fe8031240f02f0a"/>
<a href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga57dc3bb3472a66fc92312f89d42d2396"/>
<a href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga6a122b536ad99ae611c8cf01437af086"/>
<a href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#gafaa2080168b1b6f7281e8bfabab022d1"/>
<a href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html"/>
<a href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga0b97e172659a59ee4fa56f851643ae85"/>
<a href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga8a5051b1292d1019fe8dd3fc5521ab25"/>
<a href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gabeb97579daeb622c6651ed03c4a27479"/>
<a href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gaed082c07b9fc4d1894330d885b9b5518"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga002f4a5f5d8bb37d88f607386bc6ba2e"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga0b75f0bcf066acdf797b8e6730c52f86"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga944edcd2c65519578d36730b94701f64"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gade91c09d89a5f69003dcfe506ed0327f"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae7d1cbb9075ee4b830342fd564d96be0"/>
<a href="group___g_p_i_o___g_e_n_e_r_a_l.html"/>
<a href="group___g_p_i_o___g_e_n_e_r_a_l.html#ga34242874b455a72aa6e25841678ed105"/>
<a href="group___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6"/>
<a href="group___g_p_i_o___i_n_i_t.html"/>
<a href="group___g_p_i_o___i_n_i_t.html#ga19d9e3aced311179a2914e0c9b13d0f9"/>
<a href="group___g_p_i_o___i_n_i_t.html#ga1d42e219765ec526d99e306638ac0023"/>
<a href="group___g_p_i_o___i_n_i_t.html#ga80700bb63bd56ebabbb4728aa433fd29"/>
<a href="group___g_p_i_o___i_n_i_t.html#gacd8900c9ec0efde1da3253b718574067"/>
<a href="group___g_p_i_o___i_n_i_t.html#gaf2e697ac60e05813d45ea2c9c9e79c25"/>
<a href="group___g_p_i_o___l_e_d_s.html"/>
<a href="group___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c"/>
<a href="group___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a"/>
<a href="group___g_p_i_o___l_e_d_s.html#gaac2b90d8b8c9579b6aa5d3bbda9b1ff1"/>
<a href="group___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357"/>
<a href="group___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084"/>
<a href="group___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2"/>
<a href="group___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2"/>
<a href="group___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9"/>
<a href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a2445895bed5dcbedc82ea3ef02bec6fb"/>
<a href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a74276cd2464314e422e8a144483f74ae"/>
<a href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1aa610f6df44c939aa7d45e318036fa03b"/>
<a href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1af6abfb9c5b95abbdb239590f2cd245ea"/>
<a href="group___g_p_i_o___s_w_i_t_c_h.html"/>
<a href="group___g_p_i_o___s_w_i_t_c_h.html#ga4b6b8be19a9265bfee6b2bb8a68e988f"/>
<a href="group___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#ga181a46326e46b60afb160190832c7281"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be"/>
<a href="group___m_y___l_i_b_s___g_p_i_o.html"/>
<a href="group___m_y_l_i_b_s___a_l_l.html"/>
<a href="group___m_y_l_i_b_s___c_o_n_f_i_g.html"/>
<a href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html"/>
<a href="group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html"/>
<a href="group___t_r_a_c_e.html"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga00ff2175bdc1fb11c8ec970ea3010dd8"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0b87e0d3bf5853bcbb0b66a7c48fdc05"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0c602733a4a359bf8c095d71cd4d0f63"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga3bc1b76864e1d32cbdd174d4caae7724"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga4222e0e400ad81737cefcabeb03fd23b"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga47f454f804b4dbc26cae079e8d8641e6"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga501312b24e322de4dd6755ad442f0ba3"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga76936505ca200d2e61226b7ba68f27c6"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga8e56f75d3ab8a89ddde1404ae23c3297"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga92d0d14732edb7dfa21d483304bdb051"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gaa31234688b333a505aaa57b8ecdedf5b"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gab8db9704b5d11858aa879689b9d36336"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gac9eaedc31ab023ce7d6403999216e496"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gadc960255719c7eff4bdfaa850be9b313"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafcc7ea03d4df8f1909e580b519a7f3ca"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafeca0be3688dea07ff443f894668003d"/>
<a href="group___t_r_a_c_e___g_p_i_o.html"/>
<a href="group___t_r_a_c_e___g_p_i_o.html#ga02a6a7b273766121db8ad4a1371373eb"/>
<a href="group___t_r_a_c_e___g_p_i_o.html#ga69741d88c991112e99fe7a62e025108a"/>
<a href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html"/>
<a href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html#ga03f8b6f3b537ee1c8e91065c60db504f"/>
<a href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html#gadd8e10e7ec3b0204f7f92062ecd452f7"/>
<a href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html"/>
<a href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga21353cb4f5af666237739e62ce019cd6"/>
<a href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga734b2ebbf0c77699b739013878cfd146"/>
<a href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga79f222c8ab644de4d47f07528d1edd63"/>
<a href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga8d8c6850e32b42871faefce3352012d1"/>
<a href="group___t_r_a_c_e___s_e_r_i_a_l.html"/>
<a href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga730fb7b8d0bbb348dca73c15bd0e0b26"/>
<a href="group___t_r_a_c_e___s_e_r_i_a_l.html#gae9b9b8a611e291a2f2aa5abf99f3ebaa"/>
<a href="group___t_r_a_c_k_e_r_s.html"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga063dab1067005e1600ea32531fdf3f8d"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga1b7549afc4a1760b54a9b93b0f6d105e"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga23de0006aa08984cfeddb6aa5e512fa1"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga365a8c60bd13b75154feda649dd21ead"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga39b6ffbc561f8caac276415e1ad32c30"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga47ac59a406ee74d4cd9fe0fbaf63a758"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga49af29ab3927cad105c1d2b018a767e9"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga4b08632669043dfdbd219dda03502bdb"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga50ccb119acf302969b7fdcb58f2130e4"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga5dd8bac8c7ab5832019d55d7a68371b9"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga704f7b9f8c65c9bcec48ce7cb77a2d3b"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga72be24629fedb8bf70e830373d151fbc"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga8017fb05a56a1b667244f1f786fa9c57"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga9dc91e6b798a081f95f2ccef2c288e5e"/>
<a href="group___t_r_a_c_k_e_r_s.html#gaaec7ec19977bb26fa1919dfe920b82d5"/>
<a href="group___t_r_a_c_k_e_r_s.html#gab880911066605602a966641682090169"/>
<a href="group___t_r_a_c_k_e_r_s.html#gad2f4062a9ac8c2ab062a364f640ebc51"/>
<a href="group___t_r_a_c_k_e_r_s.html#gad91d8ca89074270fc040c0449e57cf07"/>
<a href="group___t_r_a_c_k_e_r_s.html#gadd7fd2c6e3a4800f1d5ddab35fd4b43e"/>
<a href="group___t_r_a_c_k_e_r_s.html#gae860b6947c6e317e14d40bd7b4b8eb74"/>
<a href="group___u_t_i_l_s___d_e_f_i_n_e_s.html"/>
<a href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga0f22e895ac7781c3d1b68fee182c4291"/>
<a href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga996f7be338ccb40d1a2a5abc1ad61759"/>
<a href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gabf45f2b60eedf80cf9d1dbe4302a741e"/>
<a href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gaf5e598848326d48e86167e5099a029be"/>
<a href="index.html"/>
<a href="mylibs__config_8h.html"/>
<a href="mylibs__config_8h_source.html"/>
<a href="mylibs__defs_8h.html"/>
<a href="mylibs__defs_8h_source.html"/>
<a href="mylibs__include_8h.html"/>
<a href="mylibs__include_8h_source.html"/>
<a href="struct_a_d_c___tracker_type_def-members.html"/>
<a href="struct_a_d_c___tracker_type_def.html"/>
<a href="struct_a_d_c_channel___tracker_type_def-members.html"/>
<a href="struct_a_d_c_channel___tracker_type_def.html"/>
<a href="struct_g_p_i_o___l_e_d_type_def-members.html"/>
<a href="struct_g_p_i_o___l_e_d_type_def.html"/>
<a href="struct_g_p_i_o___l_e_d_type_def.html#a684ff60e4c94daf2221524cdc6fcc978"/>
<a href="struct_g_p_i_o___l_e_d_type_def.html#a6cc026931a4681732f9a329ae03098ec"/>
<a href="struct_g_p_i_o___l_e_d_type_def.html#a831923d4d157267ecc2f1add1c49adcf"/>
<a href="struct_g_p_i_o___l_e_d_type_def.html#a8c43c12787f4a89f4a785f91a979ba68"/>
<a href="struct_g_p_i_o___l_e_d_type_def.html#abe9aadc0b28d042267f7155e187a1816"/>
<a href="struct_g_p_i_o___l_e_d_type_def.html#ad28d93023a00e3c5669bd3deda122435"/>
<a href="struct_g_p_i_o___switch_type_def-members.html"/>
<a href="struct_g_p_i_o___switch_type_def.html"/>
<a href="struct_g_p_i_o___switch_type_def.html#a13f97b867ff1a77ef182c9b13d964ca6"/>
<a href="struct_g_p_i_o___switch_type_def.html#a245f1dc811279ce5d4598582db979a89"/>
<a href="struct_g_p_i_o___switch_type_def.html#a2600e599a961af2e280c721894df4c06"/>
<a href="struct_g_p_i_o___switch_type_def.html#a4fadf5ead3ebccad521a52c064eeb405"/>
<a href="struct_g_p_i_o___switch_type_def.html#a63d58d9cba49a5823175585ef2996032"/>
<a href="struct_g_p_i_o___switch_type_def.html#afb369df75a6065fd89ac4ba97d98ab1a"/>
<a href="struct_h_f___stack_frame__t-members.html"/>
<a href="struct_h_f___stack_frame__t.html"/>
<a href="struct_h_f___stack_frame__t.html#a16563896004751c90e41c81ae4570732"/>
<a href="struct_h_f___stack_frame__t.html#a286104d19185714940645a9df814ddea"/>
<a href="struct_h_f___stack_frame__t.html#a4146ed28926b5f234132b7112119a413"/>
<a href="struct_h_f___stack_frame__t.html#a453c7af42b6928a693af422e17c981d3"/>
<a href="struct_h_f___stack_frame__t.html#a5a52e5006dabcf68c0fa4cfb0e03335b"/>
<a href="struct_h_f___stack_frame__t.html#a6e51904297f7725e96d5b5fb291ef577"/>
<a href="struct_h_f___stack_frame__t.html#a819ee3bc518c460ece1b7c4079f8f80b"/>
<a href="struct_h_f___stack_frame__t.html#ae47cb051ee3c94471bfd4fe7e49c55f9"/>
<a href="struct_m_z_k_t___discrete_inputs_type_def-members.html"/>
<a href="struct_m_z_k_t___discrete_inputs_type_def.html"/>
<a href="struct_m_z_k_t___l_e_ds_type_def-members.html"/>
<a href="struct_m_z_k_t___l_e_ds_type_def.html"/>
<a href="struct_measure___tracker_type_def-members.html"/>
<a href="struct_measure___tracker_type_def.html"/>
<a href="struct_measure_handle___tracker_type_def-members.html"/>
<a href="struct_measure_handle___tracker_type_def.html"/>
<a href="struct_r_s___tracker_type_def-members.html"/>
<a href="struct_r_s___tracker_type_def.html"/>
<a href="struct_r_t_t___flash_header__t-members.html"/>
<a href="struct_r_t_t___flash_header__t.html"/>
<a href="struct_r_t_t___flash_header__t.html#a844ee5470a323a749856cbb7a682dc57"/>
<a href="struct_r_t_t___flash_header__t.html#ae7276198385c8d6f6508f433d042d52a"/>
<a href="struct_r_t_t___flash_header__t.html#afd1a5c51af6f97d170c2ccbbe3e34699"/>
<a href="struct_s_p_i___settings_type_def-members.html"/>
<a href="struct_s_p_i___settings_type_def.html"/>
<a href="struct_t_i_m___encoder_type_def-members.html"/>
<a href="struct_t_i_m___encoder_type_def.html"/>
<a href="struct_t_i_m___settings_type_def-members.html"/>
<a href="struct_t_i_m___settings_type_def.html"/>
<a href="struct_u_a_r_t___settings_type_def-members.html"/>
<a href="struct_u_a_r_t___settings_type_def.html"/>
<a href="topics.html"/>
<a href="trace_8h.html"/>
<a href="trace_8h_source.html"/>
<a href="trackers_8h.html"/>
<a href="trackers_8h_source.html"/>
<a href="unionuint16___bit_type_def-members.html"/>
<a href="unionuint16___bit_type_def.html"/>
<a href="unionuint32___bit_type_def-members.html"/>
<a href="unionuint32___bit_type_def.html"/>
<a href="unionuint64___bit_type_def-members.html"/>
<a href="unionuint64___bit_type_def.html"/>
<a href="unionuint8___bit_type_def-members.html"/>
<a href="unionuint8___bit_type_def.html"/>
</body>
</html>

198
Doc/html/dynsections.js Normal file
View File

@@ -0,0 +1,198 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function toggleVisibility(linkObj) {
return dynsection.toggleVisibility(linkObj);
}
let dynsection = {
// helper function
updateStripes : function() {
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
$('table.directory tr').
removeClass('odd').filter(':visible:odd').addClass('odd');
},
toggleVisibility : function(linkObj) {
const base = $(linkObj).attr('id');
const summary = $('#'+base+'-summary');
const content = $('#'+base+'-content');
const trigger = $('#'+base+'-trigger');
const src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.slideUp('fast');
summary.show();
$(linkObj).find('.arrowhead').addClass('closed').removeClass('opened');
} else {
content.slideDown('fast');
summary.hide();
$(linkObj).find('.arrowhead').removeClass('closed').addClass('opened');
}
return false;
},
toggleLevel : function(level) {
$('table.directory tr').each(function() {
const l = this.id.split('_').length-1;
const i = $('#img'+this.id.substring(3));
const a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.find('.folder-icon').addClass('open');
a.find('.arrowhead').removeClass('closed').addClass('opened');
$(this).show();
} else if (l==level+1) {
a.find('.arrowhead').removeClass('opened').addClass('closed');
i.find('.folder-icon').removeClass('open');
$(this).show();
} else {
$(this).hide();
}
});
this.updateStripes();
},
toggleFolder : function(id) {
// the clicked row
const currentRow = $('#row_'+id);
// all rows after the clicked row
const rows = currentRow.nextAll("tr");
const re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
const childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
const currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfolder").find('.folder-icon').removeClass("open");
currentRowSpans.filter(".opened").removeClass("opened").addClass("closed");
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
const currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfolder").find('.folder-icon').addClass("open");
currentRowSpans.filter(".closed").removeClass("closed").addClass("opened");
// replace down arrows by right arrows for child rows
const childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfolder").find('.folder-icon').removeClass("open");
childRowsSpans.filter(".opened").removeClass("opened").addClass("closed");
childRows.show(); //show all children
}
this.updateStripes();
},
toggleInherit : function(id) {
let rows = $('tr.inherit.'+id);
let header = $('tr.inherit_header.'+id);
if (rows.filter(':first').is(':visible')===true) {
rows.hide();
$(header).find('.arrowhead').addClass('closed').removeClass('opened');
} else {
rows.show();
$(header).find('.arrowhead').removeClass('closed').addClass('opened');
}
},
};
let codefold = {
opened : true,
// toggle all folding blocks
toggle_all : function() {
if (this.opened) {
$('#fold_all').addClass('plus').removeClass('minus');
$('div[id^=foldopen]').hide();
$('div[id^=foldclosed]').show();
$('div[id^=foldclosed] span.fold').removeClass('minus').addClass('plus');
} else {
$('#fold_all').addClass('minus').removeClass('plus');
$('div[id^=foldopen]').show();
$('div[id^=foldclosed]').hide();
}
this.opened=!this.opened;
},
// toggle single folding block
toggle : function(id) {
$('#foldopen'+id).toggle();
$('#foldclosed'+id).toggle();
$('#foldopen'+id).next().find('span.fold').addClass('plus').removeClass('minus');
},
init : function() {
$('span[class=lineno]').css({
'padding-right':'4px',
'margin-right':'2px',
'display':'inline-block',
'width':'54px',
'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%'
});
// add global toggle to first line
$('span[class=lineno]:first').append('<span class="fold minus" id="fold_all" '+
'onclick="javascript:codefold.toggle_all();"></span>');
// add vertical lines to other rows
$('span[class=lineno]').not(':eq(0)').append('<span class="fold"></span>');
// add toggle controls to lines with fold divs
$('div[class=foldopen]').each(function() {
// extract specific id to use
const id = $(this).attr('id').replace('foldopen','');
// extract start and end foldable fragment attributes
const start = $(this).attr('data-start');
const end = $(this).attr('data-end');
// replace normal fold span with controls for the first line of a foldable fragment
$(this).find('span[class=fold]:first').replaceWith('<span class="fold minus" '+
'onclick="javascript:codefold.toggle(\''+id+'\');"></span>');
// append div for folded (closed) representation
$(this).after('<div id="foldclosed'+id+'" class="foldclosed" style="display:none;"></div>');
// extract the first line from the "open" section to represent closed content
const line = $(this).children().first().clone();
// remove any glow that might still be active on the original line
$(line).removeClass('glow');
if (start) {
// if line already ends with a start marker (e.g. trailing {), remove it
$(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),''));
}
// replace minus with plus symbol
$(line).find('span[class=fold]').addClass('plus').removeClass('minus');
// append ellipsis
$(line).append(' '+start+'<a href="javascript:codefold.toggle(\''+id+'\')">&#8230;</a>'+end);
// insert constructed line into closed div
$('#foldclosed'+id).html(line);
});
},
};
/* @license-end */
$(function() {
$('.code,.codeRef').each(function() {
$(this).data('powertip',$('#a'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());
$.fn.powerTip.smartPlacementLists.s = [ 's', 'n', 'ne', 'se' ];
$(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true });
});
});

136
Doc/html/files.html Normal file
View File

@@ -0,0 +1,136 @@
<!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: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('files.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">File List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:dynsection.toggleLevel(1);">1</span><span onclick="javascript:dynsection.toggleLevel(2);">2</span><span onclick="javascript:dynsection.toggleLevel(3);">3</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')"><span class="arrowhead opened"></span></span><span id="img_0_" class="iconfolder" onclick="dynsection.toggleFolder('0_')"><div class="folder-icon open"></div></span><a class="el" href="dir_9e11e9a41112194af3eee6cc728f9515.html" target="_self">MyLibsGeneral</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="dynsection.toggleFolder('0_0_')"><span class="arrowhead opened"></span></span><span id="img_0_0_" class="iconfolder" onclick="dynsection.toggleFolder('0_0_')"><div class="folder-icon open"></div></span><a class="el" href="dir_eb423fea8a9c4b9b32b922020ec391e1.html" target="_self">Inc</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__flash_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_flash.h</b></td><td class="desc"></td></tr>
<tr id="row_0_0_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__spi_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_spi.h</b></td><td class="desc"></td></tr>
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__tim_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_tim.h</b></td><td class="desc"></td></tr>
<tr id="row_0_0_3_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__uart_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_uart.h</b></td><td class="desc"></td></tr>
<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="bit__access_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>bit_access.h</b></td><td class="desc"></td></tr>
<tr id="row_0_0_5_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__gpio_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__gpio_8h.html" target="_self">general_gpio.h</a></td><td class="desc">Заголовочный файл для модуля инициализации портов </td></tr>
<tr id="row_0_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="mylibs__config_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="mylibs__config_8h.html" target="_self">mylibs_config.h</a></td><td class="desc">Конфигурации для библиотек MyLibs </td></tr>
<tr id="row_0_0_7_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="mylibs__defs_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="mylibs__defs_8h.html" target="_self">mylibs_defs.h</a></td><td class="desc">Заголочный файл для дефайнов библиотеки MyLibsGeneral </td></tr>
<tr id="row_0_0_8_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="mylibs__include_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="mylibs__include_8h.html" target="_self">mylibs_include.h</a></td><td class="desc">Заголочный файл для всех библиотек </td></tr>
<tr id="row_0_0_9_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="trace_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="trace_8h.html" target="_self">trace.h</a></td><td class="desc">Заголочный файл для работы с трассировкой </td></tr>
<tr id="row_0_0_10_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="trackers_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="trackers_8h.html" target="_self">trackers.h</a></td><td class="desc">Заголочный файл для работы с трекерами <a class="el" href="group___t_r_a_c_k_e_r_s.html">Trackers defines</a> </td></tr>
<tr id="row_0_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="dynsection.toggleFolder('0_1_')"><span class="arrowhead opened"></span></span><span id="img_0_1_" class="iconfolder" onclick="dynsection.toggleFolder('0_1_')"><div class="folder-icon open"></div></span><a class="el" href="dir_9c80311a018e1f8cfb6659b73d634be4.html" target="_self">Src</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__flash_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_flash.c</b></td><td class="desc"></td></tr>
<tr id="row_0_1_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__spi_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_spi.c</b></td><td class="desc"></td></tr>
<tr id="row_0_1_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__tim_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_tim.c</b></td><td class="desc"></td></tr>
<tr id="row_0_1_3_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__uart_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_uart.c</b></td><td class="desc"></td></tr>
<tr id="row_0_1_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__gpio_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__gpio_8c.html" target="_self">general_gpio.c</a></td><td class="desc">Модуль для инициализации портов </td></tr>
</table>
</div><!-- directory -->
</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/files_dup.js Normal file
View File

@@ -0,0 +1,4 @@
var files_dup =
[
[ "MyLibsGeneral", "dir_9e11e9a41112194af3eee6cc728f9515.html", "dir_9e11e9a41112194af3eee6cc728f9515" ]
];

134
Doc/html/functions.html Normal file
View File

@@ -0,0 +1,134 @@
<!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: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('functions.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="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
<li>data&#160;:&#160;<a class="el" href="struct_r_t_t___flash_header__t.html#ae7276198385c8d6f6508f433d042d52a">RTT_FlashHeader_t</a></li>
<li>LED_ActiveLvl&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#abe9aadc0b28d042267f7155e187a1816">GPIO_LEDTypeDef</a></li>
<li>LED_Period&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a6cc026931a4681732f9a329ae03098ec">GPIO_LEDTypeDef</a></li>
<li>LED_Pin&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a684ff60e4c94daf2221524cdc6fcc978">GPIO_LEDTypeDef</a></li>
<li>LED_Port&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a831923d4d157267ecc2f1add1c49adcf">GPIO_LEDTypeDef</a></li>
<li>lr&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a6e51904297f7725e96d5b5fb291ef577">HF_StackFrame_t</a></li>
<li>pc&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a16563896004751c90e41c81ae4570732">HF_StackFrame_t</a></li>
<li>psr&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#ae47cb051ee3c94471bfd4fe7e49c55f9">HF_StackFrame_t</a></li>
<li>r0&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a4146ed28926b5f234132b7112119a413">HF_StackFrame_t</a></li>
<li>r1&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a286104d19185714940645a9df814ddea">HF_StackFrame_t</a></li>
<li>r12&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a819ee3bc518c460ece1b7c4079f8f80b">HF_StackFrame_t</a></li>
<li>r2&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a5a52e5006dabcf68c0fa4cfb0e03335b">HF_StackFrame_t</a></li>
<li>r3&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a453c7af42b6928a693af422e17c981d3">HF_StackFrame_t</a></li>
<li>size&#160;:&#160;<a class="el" href="struct_r_t_t___flash_header__t.html#afd1a5c51af6f97d170c2ccbbe3e34699">RTT_FlashHeader_t</a></li>
<li>state&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#ad28d93023a00e3c5669bd3deda122435">GPIO_LEDTypeDef</a></li>
<li>Sw_ActiveLvl&#160;:&#160;<a class="el" href="struct_g_p_i_o___switch_type_def.html#a4fadf5ead3ebccad521a52c064eeb405">GPIO_SwitchTypeDef</a></li>
<li>Sw_FilterDelay&#160;:&#160;<a class="el" href="struct_g_p_i_o___switch_type_def.html#a2600e599a961af2e280c721894df4c06">GPIO_SwitchTypeDef</a></li>
<li>Sw_Pin&#160;:&#160;<a class="el" href="struct_g_p_i_o___switch_type_def.html#a63d58d9cba49a5823175585ef2996032">GPIO_SwitchTypeDef</a></li>
<li>Sw_Port&#160;:&#160;<a class="el" href="struct_g_p_i_o___switch_type_def.html#afb369df75a6065fd89ac4ba97d98ab1a">GPIO_SwitchTypeDef</a></li>
<li>Sw_PrevState&#160;:&#160;<a class="el" href="struct_g_p_i_o___switch_type_def.html#a245f1dc811279ce5d4598582db979a89">GPIO_SwitchTypeDef</a></li>
<li>tag&#160;:&#160;<a class="el" href="struct_r_t_t___flash_header__t.html#a844ee5470a323a749856cbb7a682dc57">RTT_FlashHeader_t</a></li>
<li>tickprev&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a8c43c12787f4a89f4a785f91a979ba68">GPIO_LEDTypeDef</a>, <a class="el" href="struct_g_p_i_o___switch_type_def.html#a13f97b867ff1a77ef182c9b13d964ca6">GPIO_SwitchTypeDef</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>

View File

@@ -0,0 +1,134 @@
<!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: Class Members - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('functions_vars.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="contents">
<div class="textblock">Here is a list of all documented variables with links to the class documentation for each member:</div><ul>
<li>data&#160;:&#160;<a class="el" href="struct_r_t_t___flash_header__t.html#ae7276198385c8d6f6508f433d042d52a">RTT_FlashHeader_t</a></li>
<li>LED_ActiveLvl&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#abe9aadc0b28d042267f7155e187a1816">GPIO_LEDTypeDef</a></li>
<li>LED_Period&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a6cc026931a4681732f9a329ae03098ec">GPIO_LEDTypeDef</a></li>
<li>LED_Pin&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a684ff60e4c94daf2221524cdc6fcc978">GPIO_LEDTypeDef</a></li>
<li>LED_Port&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a831923d4d157267ecc2f1add1c49adcf">GPIO_LEDTypeDef</a></li>
<li>lr&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a6e51904297f7725e96d5b5fb291ef577">HF_StackFrame_t</a></li>
<li>pc&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a16563896004751c90e41c81ae4570732">HF_StackFrame_t</a></li>
<li>psr&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#ae47cb051ee3c94471bfd4fe7e49c55f9">HF_StackFrame_t</a></li>
<li>r0&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a4146ed28926b5f234132b7112119a413">HF_StackFrame_t</a></li>
<li>r1&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a286104d19185714940645a9df814ddea">HF_StackFrame_t</a></li>
<li>r12&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a819ee3bc518c460ece1b7c4079f8f80b">HF_StackFrame_t</a></li>
<li>r2&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a5a52e5006dabcf68c0fa4cfb0e03335b">HF_StackFrame_t</a></li>
<li>r3&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a453c7af42b6928a693af422e17c981d3">HF_StackFrame_t</a></li>
<li>size&#160;:&#160;<a class="el" href="struct_r_t_t___flash_header__t.html#afd1a5c51af6f97d170c2ccbbe3e34699">RTT_FlashHeader_t</a></li>
<li>state&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#ad28d93023a00e3c5669bd3deda122435">GPIO_LEDTypeDef</a></li>
<li>Sw_ActiveLvl&#160;:&#160;<a class="el" href="struct_g_p_i_o___switch_type_def.html#a4fadf5ead3ebccad521a52c064eeb405">GPIO_SwitchTypeDef</a></li>
<li>Sw_FilterDelay&#160;:&#160;<a class="el" href="struct_g_p_i_o___switch_type_def.html#a2600e599a961af2e280c721894df4c06">GPIO_SwitchTypeDef</a></li>
<li>Sw_Pin&#160;:&#160;<a class="el" href="struct_g_p_i_o___switch_type_def.html#a63d58d9cba49a5823175585ef2996032">GPIO_SwitchTypeDef</a></li>
<li>Sw_Port&#160;:&#160;<a class="el" href="struct_g_p_i_o___switch_type_def.html#afb369df75a6065fd89ac4ba97d98ab1a">GPIO_SwitchTypeDef</a></li>
<li>Sw_PrevState&#160;:&#160;<a class="el" href="struct_g_p_i_o___switch_type_def.html#a245f1dc811279ce5d4598582db979a89">GPIO_SwitchTypeDef</a></li>
<li>tag&#160;:&#160;<a class="el" href="struct_r_t_t___flash_header__t.html#a844ee5470a323a749856cbb7a682dc57">RTT_FlashHeader_t</a></li>
<li>tickprev&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a8c43c12787f4a89f4a785f91a979ba68">GPIO_LEDTypeDef</a>, <a class="el" href="struct_g_p_i_o___switch_type_def.html#a13f97b867ff1a77ef182c9b13d964ca6">GPIO_SwitchTypeDef</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>

View File

@@ -0,0 +1,161 @@
<!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_gpio.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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('general__gpio_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_gpio.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Модуль для инициализации портов.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="general__gpio_8h_source.html">general_gpio.h</a>&quot;</code><br />
</div>
<p><a href="general__gpio_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:ga962f010f783b81fcdd27eb6b53db28e6" id="r_ga962f010f783b81fcdd27eb6b53db28e6"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">GPIO_Clock_Enable</a> (GPIO_TypeDef *GPIOx)</td></tr>
<tr class="memdesc:ga962f010f783b81fcdd27eb6b53db28e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить тактирование порта GPIO. <br /></td></tr>
<tr class="memitem:gac936453c7a0841c0b17bcfdae4958084" id="r_gac936453c7a0841c0b17bcfdae4958084"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084">GPIO_LED_Init</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, uint8_t LED_ActiveLevel)</td></tr>
<tr class="memdesc:gac936453c7a0841c0b17bcfdae4958084"><td class="mdescLeft">&#160;</td><td class="mdescRight">Инициализировать светодиод (структуру светодиода) <br /></td></tr>
<tr class="memitem:ga4b9572949326b050694cd55d0a7e5f6c" id="r_ga4b9572949326b050694cd55d0a7e5f6c"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c">GPIO_LED_On</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led)</td></tr>
<tr class="memdesc:ga4b9572949326b050694cd55d0a7e5f6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить светодиод <br /></td></tr>
<tr class="memitem:gaadda2d4f021390a4e392210a5ace5357" id="r_gaadda2d4f021390a4e392210a5ace5357"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357">GPIO_LED_Off</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led)</td></tr>
<tr class="memdesc:gaadda2d4f021390a4e392210a5ace5357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Выключить светодиод <br /></td></tr>
<tr class="memitem:gae78b570447d55a462a679a89dbaa8ea2" id="r_gae78b570447d55a462a679a89dbaa8ea2"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2">GPIO_LED_Set</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led, uint8_t led_state)</td></tr>
<tr class="memdesc:gae78b570447d55a462a679a89dbaa8ea2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Выставить светодиод по переменной <br /></td></tr>
<tr class="memitem:gaf22f44ecaf6a1932b47edc5a845b03a9" id="r_gaf22f44ecaf6a1932b47edc5a845b03a9"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">GPIO_LED_Blink_Start</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led, uint32_t period)</td></tr>
<tr class="memdesc:gaf22f44ecaf6a1932b47edc5a845b03a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Активировать моргание светодиодом <br /></td></tr>
<tr class="memitem:gaa00f20021781464af3dfe74aa3e59a0a" id="r_gaa00f20021781464af3dfe74aa3e59a0a"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a">GPIO_LED_Fading_Start</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led, uint32_t period)</td></tr>
<tr class="memdesc:gaa00f20021781464af3dfe74aa3e59a0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Активировать моргание светодиодом <br /></td></tr>
<tr class="memitem:gad6e6189824406c4d472b6340c7f19bb2" id="r_gad6e6189824406c4d472b6340c7f19bb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">GPIO_LED_Dynamic_Handle</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led)</td></tr>
<tr class="memdesc:gad6e6189824406c4d472b6340c7f19bb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Управление динамическими режимами свечения светодиода <br /></td></tr>
<tr class="memitem:gacafee0e68877f2b25df843356871d1f7" id="r_gacafee0e68877f2b25df843356871d1f7"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7">GPIO_Switch_Init</a> (<a class="el" href="struct_g_p_i_o___switch_type_def.html">GPIO_SwitchTypeDef</a> *sw, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, uint8_t SW_ActiveLevel)</td></tr>
<tr class="memdesc:gacafee0e68877f2b25df843356871d1f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Инициализировать кнопку (структуру кнопки) <br /></td></tr>
<tr class="memitem:ga4b6b8be19a9265bfee6b2bb8a68e988f" id="r_ga4b6b8be19a9265bfee6b2bb8a68e988f"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#ga4b6b8be19a9265bfee6b2bb8a68e988f">GPIO_Read_Switch</a> (<a class="el" href="struct_g_p_i_o___switch_type_def.html">GPIO_SwitchTypeDef</a> *sw)</td></tr>
<tr class="memdesc:ga4b6b8be19a9265bfee6b2bb8a68e988f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Считать состоянии кнопки <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Модуль для инициализации портов. </p>
<p>Реализация функций для работы с GPIO:</p><ul>
<li>Включение тактирования портов</li>
<li>Инициализация светодиодов и кнопок</li>
<li>Управление светодиодами: включение, выключение, моргание, плавное затухание</li>
<li>Чтение состояния кнопок с фильтром от дребезга </li>
</ul>
<p class="definition">Definition in file <a class="el" href="general__gpio_8c_source.html">general_gpio.c</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_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li><li class="navelem"><a href="general__gpio_8c.html">general_gpio.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>

View File

@@ -0,0 +1,13 @@
var general__gpio_8c =
[
[ "GPIO_Clock_Enable", "group___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6", null ],
[ "GPIO_LED_Init", "group___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084", null ],
[ "GPIO_LED_On", "group___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c", null ],
[ "GPIO_LED_Off", "group___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357", null ],
[ "GPIO_LED_Set", "group___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2", null ],
[ "GPIO_LED_Blink_Start", "group___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9", null ],
[ "GPIO_LED_Fading_Start", "group___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a", null ],
[ "GPIO_LED_Dynamic_Handle", "group___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2", null ],
[ "GPIO_Switch_Init", "group___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7", null ],
[ "GPIO_Read_Switch", "group___g_p_i_o___s_w_i_t_c_h.html#ga4b6b8be19a9265bfee6b2bb8a68e988f", null ]
];

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,186 @@
<!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_gpio.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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('general__gpio_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_gpio.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Заголовочный файл для модуля инициализации портов.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>&quot;</code><br />
</div>
<p><a href="general__gpio_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:GPIO_5FLEDTypeDef" id="r_GPIO_5FLEDTypeDef"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Структура светодиода <a href="struct_g_p_i_o___l_e_d_type_def.html#details">More...</a><br /></td></tr>
<tr class="memitem:GPIO_5FSwitchTypeDef" id="r_GPIO_5FSwitchTypeDef"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_g_p_i_o___switch_type_def.html">GPIO_SwitchTypeDef</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Структура кнопки <a href="struct_g_p_i_o___switch_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:ga1d42e219765ec526d99e306638ac0023" id="r_ga1d42e219765ec526d99e306638ac0023"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___i_n_i_t.html#ga1d42e219765ec526d99e306638ac0023">LED_PWM_TICKS</a>&#160;&#160;&#160;15</td></tr>
<tr class="memdesc:ga1d42e219765ec526d99e306638ac0023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Количество тиков в периоде ШИМ <br /></td></tr>
<tr class="memitem:gaf2e697ac60e05813d45ea2c9c9e79c25" id="r_gaf2e697ac60e05813d45ea2c9c9e79c25"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___i_n_i_t.html#gaf2e697ac60e05813d45ea2c9c9e79c25">LED_ON</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gaf2e697ac60e05813d45ea2c9c9e79c25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Состояние пина для включения светодиода <br /></td></tr>
<tr class="memitem:ga80700bb63bd56ebabbb4728aa433fd29" id="r_ga80700bb63bd56ebabbb4728aa433fd29"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___i_n_i_t.html#ga80700bb63bd56ebabbb4728aa433fd29">LED_OFF</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga80700bb63bd56ebabbb4728aa433fd29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Состояние пина для выключения светодиода <br /></td></tr>
<tr class="memitem:ga19d9e3aced311179a2914e0c9b13d0f9" id="r_ga19d9e3aced311179a2914e0c9b13d0f9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___i_n_i_t.html#ga19d9e3aced311179a2914e0c9b13d0f9">SW_ON</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga19d9e3aced311179a2914e0c9b13d0f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Состояние пина при нажатой кнопке <br /></td></tr>
<tr class="memitem:gacd8900c9ec0efde1da3253b718574067" id="r_gacd8900c9ec0efde1da3253b718574067"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___i_n_i_t.html#gacd8900c9ec0efde1da3253b718574067">SW_OFF</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gacd8900c9ec0efde1da3253b718574067"><td class="mdescLeft">&#160;</td><td class="mdescRight">Состояние пина при отжатой кнопке <br /></td></tr>
<tr class="memitem:ga34242874b455a72aa6e25841678ed105" id="r_ga34242874b455a72aa6e25841678ed105"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___g_e_n_e_r_a_l.html#ga34242874b455a72aa6e25841678ed105">TIM_Alternate_Mapping</a>(INSTANCE)</td></tr>
<tr class="memdesc:ga34242874b455a72aa6e25841678ed105"><td class="mdescLeft">&#160;</td><td class="mdescRight">Маппинг альтернативной функции SPI между GPIO. <br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-enum-members" class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gaac2b90d8b8c9579b6aa5d3bbda9b1ff1" id="r_gaac2b90d8b8c9579b6aa5d3bbda9b1ff1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gaac2b90d8b8c9579b6aa5d3bbda9b1ff1">GPIO_LEDStateTypeDef</a> { <a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a74276cd2464314e422e8a144483f74ae">LED_IS_OFF</a> = 0
, <a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1af6abfb9c5b95abbdb239590f2cd245ea">LED_IS_ON</a> = 1
, <a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a2445895bed5dcbedc82ea3ef02bec6fb">LED_IS_BLINKING</a> = 2
, <a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1aa610f6df44c939aa7d45e318036fa03b">LED_IS_FADING</a> = 3
}</td></tr>
<tr class="memdesc:gaac2b90d8b8c9579b6aa5d3bbda9b1ff1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Режимы работы светодиода <a href="group___g_p_i_o___l_e_d_s.html#gaac2b90d8b8c9579b6aa5d3bbda9b1ff1">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:ga962f010f783b81fcdd27eb6b53db28e6" id="r_ga962f010f783b81fcdd27eb6b53db28e6"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">GPIO_Clock_Enable</a> (GPIO_TypeDef *GPIOx)</td></tr>
<tr class="memdesc:ga962f010f783b81fcdd27eb6b53db28e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить тактирование порта GPIO. <br /></td></tr>
<tr class="memitem:gacafee0e68877f2b25df843356871d1f7" id="r_gacafee0e68877f2b25df843356871d1f7"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7">GPIO_Switch_Init</a> (<a class="el" href="struct_g_p_i_o___switch_type_def.html">GPIO_SwitchTypeDef</a> *sw, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, uint8_t SW_On_State)</td></tr>
<tr class="memdesc:gacafee0e68877f2b25df843356871d1f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Инициализировать кнопку (структуру кнопки) <br /></td></tr>
<tr class="memitem:ga4b6b8be19a9265bfee6b2bb8a68e988f" id="r_ga4b6b8be19a9265bfee6b2bb8a68e988f"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#ga4b6b8be19a9265bfee6b2bb8a68e988f">GPIO_Read_Switch</a> (<a class="el" href="struct_g_p_i_o___switch_type_def.html">GPIO_SwitchTypeDef</a> *swstart)</td></tr>
<tr class="memdesc:ga4b6b8be19a9265bfee6b2bb8a68e988f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Считать состоянии кнопки <br /></td></tr>
<tr class="memitem:gac936453c7a0841c0b17bcfdae4958084" id="r_gac936453c7a0841c0b17bcfdae4958084"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084">GPIO_LED_Init</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, uint8_t LED_On_State)</td></tr>
<tr class="memdesc:gac936453c7a0841c0b17bcfdae4958084"><td class="mdescLeft">&#160;</td><td class="mdescRight">Инициализировать светодиод (структуру светодиода) <br /></td></tr>
<tr class="memitem:ga4b9572949326b050694cd55d0a7e5f6c" id="r_ga4b9572949326b050694cd55d0a7e5f6c"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c">GPIO_LED_On</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led)</td></tr>
<tr class="memdesc:ga4b9572949326b050694cd55d0a7e5f6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить светодиод <br /></td></tr>
<tr class="memitem:gaadda2d4f021390a4e392210a5ace5357" id="r_gaadda2d4f021390a4e392210a5ace5357"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357">GPIO_LED_Off</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led)</td></tr>
<tr class="memdesc:gaadda2d4f021390a4e392210a5ace5357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Выключить светодиод <br /></td></tr>
<tr class="memitem:gae78b570447d55a462a679a89dbaa8ea2" id="r_gae78b570447d55a462a679a89dbaa8ea2"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2">GPIO_LED_Set</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led, uint8_t led_state)</td></tr>
<tr class="memdesc:gae78b570447d55a462a679a89dbaa8ea2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Выставить светодиод по переменной <br /></td></tr>
<tr class="memitem:gaf22f44ecaf6a1932b47edc5a845b03a9" id="r_gaf22f44ecaf6a1932b47edc5a845b03a9"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">GPIO_LED_Blink_Start</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led, uint32_t period)</td></tr>
<tr class="memdesc:gaf22f44ecaf6a1932b47edc5a845b03a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Активировать моргание светодиодом <br /></td></tr>
<tr class="memitem:gaa00f20021781464af3dfe74aa3e59a0a" id="r_gaa00f20021781464af3dfe74aa3e59a0a"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a">GPIO_LED_Fading_Start</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led, uint32_t period)</td></tr>
<tr class="memdesc:gaa00f20021781464af3dfe74aa3e59a0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Активировать моргание светодиодом <br /></td></tr>
<tr class="memitem:gad6e6189824406c4d472b6340c7f19bb2" id="r_gad6e6189824406c4d472b6340c7f19bb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">GPIO_LED_Dynamic_Handle</a> (<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a> *led)</td></tr>
<tr class="memdesc:gad6e6189824406c4d472b6340c7f19bb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Управление динамическими режимами свечения светодиода <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Заголовочный файл для модуля инициализации портов. </p>
<p class="definition">Definition in file <a class="el" href="general__gpio_8h_source.html">general_gpio.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__gpio_8h.html">general_gpio.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>

View File

@@ -0,0 +1,25 @@
var general__gpio_8h =
[
[ "LED_PWM_TICKS", "group___g_p_i_o___i_n_i_t.html#ga1d42e219765ec526d99e306638ac0023", null ],
[ "LED_ON", "group___g_p_i_o___i_n_i_t.html#gaf2e697ac60e05813d45ea2c9c9e79c25", null ],
[ "LED_OFF", "group___g_p_i_o___i_n_i_t.html#ga80700bb63bd56ebabbb4728aa433fd29", null ],
[ "SW_ON", "group___g_p_i_o___i_n_i_t.html#ga19d9e3aced311179a2914e0c9b13d0f9", null ],
[ "SW_OFF", "group___g_p_i_o___i_n_i_t.html#gacd8900c9ec0efde1da3253b718574067", null ],
[ "TIM_Alternate_Mapping", "group___g_p_i_o___g_e_n_e_r_a_l.html#ga34242874b455a72aa6e25841678ed105", null ],
[ "GPIO_LEDStateTypeDef", "group___g_p_i_o___l_e_d_s.html#gaac2b90d8b8c9579b6aa5d3bbda9b1ff1", [
[ "LED_IS_OFF", "group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a74276cd2464314e422e8a144483f74ae", null ],
[ "LED_IS_ON", "group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1af6abfb9c5b95abbdb239590f2cd245ea", null ],
[ "LED_IS_BLINKING", "group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a2445895bed5dcbedc82ea3ef02bec6fb", null ],
[ "LED_IS_FADING", "group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1aa610f6df44c939aa7d45e318036fa03b", null ]
] ],
[ "GPIO_Clock_Enable", "group___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6", null ],
[ "GPIO_Switch_Init", "group___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7", null ],
[ "GPIO_Read_Switch", "group___g_p_i_o___s_w_i_t_c_h.html#ga4b6b8be19a9265bfee6b2bb8a68e988f", null ],
[ "GPIO_LED_Init", "group___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084", null ],
[ "GPIO_LED_On", "group___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c", null ],
[ "GPIO_LED_Off", "group___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357", null ],
[ "GPIO_LED_Set", "group___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2", null ],
[ "GPIO_LED_Blink_Start", "group___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9", null ],
[ "GPIO_LED_Fading_Start", "group___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a", null ],
[ "GPIO_LED_Dynamic_Handle", "group___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2", null ]
];

File diff suppressed because one or more lines are too long

247
Doc/html/globals.html Normal file
View File

@@ -0,0 +1,247 @@
<!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: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals.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="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>ABS&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga996f7be338ccb40d1a2a5abc1ad61759">mylibs_defs.h</a></li>
<li>assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gadd7fd2c6e3a4800f1d5ddab35fd4b43e">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>ByteSwap16&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga0f22e895ac7781c3d1b68fee182c4291">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>check_null_ptr_1&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga0b75f0bcf066acdf797b8e6730c52f86">mylibs_defs.h</a></li>
<li>check_null_ptr_2&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae7d1cbb9075ee4b830342fd564d96be0">mylibs_defs.h</a></li>
<li>check_null_ptr_3&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga002f4a5f5d8bb37d88f607386bc6ba2e">mylibs_defs.h</a></li>
<li>check_null_ptr_4&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gade91c09d89a5f69003dcfe506ed0327f">mylibs_defs.h</a></li>
<li>check_null_ptr_5&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga944edcd2c65519578d36730b94701f64">mylibs_defs.h</a></li>
<li>ClearStruct&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gaf5e598848326d48e86167e5099a029be">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>Divide_Up&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gabf45f2b60eedf80cf9d1dbe4302a741e">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GPIO_Clock_Enable()&#160;:&#160;<a class="el" href="group___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">general_gpio.c</a></li>
<li>GPIO_LED_Blink_Start()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">general_gpio.c</a></li>
<li>GPIO_LED_Dynamic_Handle()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">general_gpio.c</a></li>
<li>GPIO_LED_Fading_Start()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a">general_gpio.c</a></li>
<li>GPIO_LED_Init()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084">general_gpio.c</a></li>
<li>GPIO_LED_Off()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357">general_gpio.c</a></li>
<li>GPIO_LED_On()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c">general_gpio.c</a></li>
<li>GPIO_LED_Set()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2">general_gpio.c</a></li>
<li>GPIO_LEDStateTypeDef&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gaac2b90d8b8c9579b6aa5d3bbda9b1ff1">general_gpio.h</a></li>
<li>GPIO_Read_Switch()&#160;:&#160;<a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#ga4b6b8be19a9265bfee6b2bb8a68e988f">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#ga4b6b8be19a9265bfee6b2bb8a68e988f">general_gpio.c</a></li>
<li>GPIO_Switch_Init()&#160;:&#160;<a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7">general_gpio.c</a></li>
<li>GPIO_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga4222e0e400ad81737cefcabeb03fd23b">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>HARDFAULT_SERIAL_TRACE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga47f454f804b4dbc26cae079e8d8641e6">mylibs_config.h</a></li>
<li>HF_CheckRecovered()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html#ga03f8b6f3b537ee1c8e91065c60db504f">trace.h</a></li>
<li>HF_FLASH_ADDR&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0c602733a4a359bf8c095d71cd4d0f63">mylibs_config.h</a></li>
<li>HF_HandleFault()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html#gadd8e10e7ec3b0204f7f92062ecd452f7">trace.h</a></li>
<li>HF_RAM_END&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga92d0d14732edb7dfa21d483304bdb051">mylibs_config.h</a></li>
<li>HF_RTT_TAG_BASE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gadc960255719c7eff4bdfaa850be9b313">mylibs_config.h</a></li>
<li>HF_RTT_TAIL_SIZE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafcc7ea03d4df8f1909e580b519a7f3ca">mylibs_config.h</a></li>
<li>HF_STACK_DUMP_WORDS&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gaa31234688b333a505aaa57b8ecdedf5b">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>if_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad91d8ca89074270fc040c0449e57cf07">trackers.h</a></li>
<li>INCLUDE_BIT_ACCESS_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be">mylibs_config.h</a></li>
<li>INCLUDE_GENERAL_PERIPH_LIBS&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga181a46326e46b60afb160190832c7281">mylibs_config.h</a></li>
<li>INCLUDE_TRACE_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7">mylibs_config.h</a></li>
<li>INCLUDE_TRACKERS_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>LED_IS_BLINKING&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a2445895bed5dcbedc82ea3ef02bec6fb">general_gpio.h</a></li>
<li>LED_IS_FADING&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1aa610f6df44c939aa7d45e318036fa03b">general_gpio.h</a></li>
<li>LED_IS_OFF&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a74276cd2464314e422e8a144483f74ae">general_gpio.h</a></li>
<li>LED_IS_ON&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1af6abfb9c5b95abbdb239590f2cd245ea">general_gpio.h</a></li>
<li>LED_OFF&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga80700bb63bd56ebabbb4728aa433fd29">general_gpio.h</a></li>
<li>LED_ON&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#gaf2e697ac60e05813d45ea2c9c9e79c25">general_gpio.h</a></li>
<li>LED_PWM_TICKS&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga1d42e219765ec526d99e306638ac0023">general_gpio.h</a></li>
<li>LOG_LEVEL&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0b87e0d3bf5853bcbb0b66a7c48fdc05">mylibs_config.h</a></li>
<li>log_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga730fb7b8d0bbb348dca73c15bd0e0b26">trace.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>msDelay&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gabeb97579daeb622c6651ed03c4a27479">mylibs_defs.h</a></li>
<li>msDelayStart&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga8a5051b1292d1019fe8dd3fc5521ab25">mylibs_defs.h</a></li>
<li>msDelayWaitDone&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gaed082c07b9fc4d1894330d885b9b5518">mylibs_defs.h</a></li>
<li>msDelayWhileActive&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga0b97e172659a59ee4fa56f851643ae85">mylibs_defs.h</a></li>
<li>my_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#gae9b9b8a611e291a2f2aa5abf99f3ebaa">trace.h</a></li>
<li>MyLibs_Error_Handler&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>num_of_usercnts&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga72be24629fedb8bf70e830373d151fbc">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>RTT_EraseFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga8d8c6850e32b42871faefce3352012d1">trace.h</a></li>
<li>RTT_FLASH_BUFFER_SIZE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga501312b24e322de4dd6755ad442f0ba3">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga3bc1b76864e1d32cbdd174d4caae7724">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR_END&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafeca0be3688dea07ff443f894668003d">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR_START&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga8e56f75d3ab8a89ddde1404ae23c3297">mylibs_config.h</a></li>
<li>RTT_FlashPrepare()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga21353cb4f5af666237739e62ce019cd6">trace.h</a></li>
<li>RTT_ReadFromFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga734b2ebbf0c77699b739013878cfd146">trace.h</a></li>
<li>RTT_SaveToFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga79f222c8ab644de4d47f07528d1edd63">trace.h</a></li>
<li>RTT_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga00ff2175bdc1fb11c8ec970ea3010dd8">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>SERIAL_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga76936505ca200d2e61226b7ba68f27c6">mylibs_config.h</a></li>
<li>SW_OFF&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#gacd8900c9ec0efde1da3253b718574067">general_gpio.h</a></li>
<li>SW_ON&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga19d9e3aced311179a2914e0c9b13d0f9">general_gpio.h</a></li>
<li>SWO_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gab8db9704b5d11858aa879689b9d36336">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>tern_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga39b6ffbc561f8caac276415e1ad32c30">trackers.h</a></li>
<li>TIM_Alternate_Mapping&#160;:&#160;<a class="el" href="group___g_p_i_o___g_e_n_e_r_a_l.html#ga34242874b455a72aa6e25841678ed105">general_gpio.h</a></li>
<li>TRACE_GPIO_RESET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga69741d88c991112e99fe7a62e025108a">trace.h</a></li>
<li>TRACE_GPIO_SET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga02a6a7b273766121db8ad4a1371373eb">trace.h</a></li>
<li>TrackerClear_All&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga704f7b9f8c65c9bcec48ce7cb77a2d3b">trackers.h</a></li>
<li>TrackerClear_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gae860b6947c6e317e14d40bd7b4b8eb74">trackers.h</a></li>
<li>TrackerClear_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga5dd8bac8c7ab5832019d55d7a68371b9">trackers.h</a></li>
<li>TrackerClear_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga063dab1067005e1600ea32531fdf3f8d">trackers.h</a></li>
<li>TrackerClear_UserAll&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gaaec7ec19977bb26fa1919dfe920b82d5">trackers.h</a></li>
<li>TrackerClear_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga365a8c60bd13b75154feda649dd21ead">trackers.h</a></li>
<li>TrackerCnt_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga49af29ab3927cad105c1d2b018a767e9">trackers.h</a></li>
<li>TrackerCnt_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga23de0006aa08984cfeddb6aa5e512fa1">trackers.h</a></li>
<li>TrackerCnt_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga1b7549afc4a1760b54a9b93b0f6d105e">trackers.h</a></li>
<li>TrackerCnt_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga8017fb05a56a1b667244f1f786fa9c57">trackers.h</a></li>
<li>TrackerGet_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga9dc91e6b798a081f95f2ccef2c288e5e">trackers.h</a></li>
<li>TrackerGet_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gab880911066605602a966641682090169">trackers.h</a></li>
<li>TrackerGet_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga4b08632669043dfdbd219dda03502bdb">trackers.h</a></li>
<li>TrackerGet_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga47ac59a406ee74d4cd9fe0fbaf63a758">trackers.h</a></li>
<li>TRACKERS_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gac9eaedc31ab023ce7d6403999216e496">mylibs_config.h</a></li>
<li>TrackerTypeDef&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga50ccb119acf302969b7fdcb58f2130e4">trackers.h</a></li>
<li>TrackerWrite_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad2f4062a9ac8c2ab062a364f640ebc51">trackers.h</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>

226
Doc/html/globals_defs.html Normal file
View File

@@ -0,0 +1,226 @@
<!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: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_defs.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="contents">
<div class="textblock">Here is a list of all documented macros with links to the documentation:</div>
<h3 class="doxsection"><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>ABS&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga996f7be338ccb40d1a2a5abc1ad61759">mylibs_defs.h</a></li>
<li>assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gadd7fd2c6e3a4800f1d5ddab35fd4b43e">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>ByteSwap16&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga0f22e895ac7781c3d1b68fee182c4291">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>check_null_ptr_1&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga0b75f0bcf066acdf797b8e6730c52f86">mylibs_defs.h</a></li>
<li>check_null_ptr_2&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae7d1cbb9075ee4b830342fd564d96be0">mylibs_defs.h</a></li>
<li>check_null_ptr_3&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga002f4a5f5d8bb37d88f607386bc6ba2e">mylibs_defs.h</a></li>
<li>check_null_ptr_4&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gade91c09d89a5f69003dcfe506ed0327f">mylibs_defs.h</a></li>
<li>check_null_ptr_5&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga944edcd2c65519578d36730b94701f64">mylibs_defs.h</a></li>
<li>ClearStruct&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gaf5e598848326d48e86167e5099a029be">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>Divide_Up&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gabf45f2b60eedf80cf9d1dbe4302a741e">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GPIO_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga4222e0e400ad81737cefcabeb03fd23b">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>HARDFAULT_SERIAL_TRACE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga47f454f804b4dbc26cae079e8d8641e6">mylibs_config.h</a></li>
<li>HF_FLASH_ADDR&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0c602733a4a359bf8c095d71cd4d0f63">mylibs_config.h</a></li>
<li>HF_RAM_END&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga92d0d14732edb7dfa21d483304bdb051">mylibs_config.h</a></li>
<li>HF_RTT_TAG_BASE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gadc960255719c7eff4bdfaa850be9b313">mylibs_config.h</a></li>
<li>HF_RTT_TAIL_SIZE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafcc7ea03d4df8f1909e580b519a7f3ca">mylibs_config.h</a></li>
<li>HF_STACK_DUMP_WORDS&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gaa31234688b333a505aaa57b8ecdedf5b">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>if_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad91d8ca89074270fc040c0449e57cf07">trackers.h</a></li>
<li>INCLUDE_BIT_ACCESS_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be">mylibs_config.h</a></li>
<li>INCLUDE_GENERAL_PERIPH_LIBS&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga181a46326e46b60afb160190832c7281">mylibs_config.h</a></li>
<li>INCLUDE_TRACE_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7">mylibs_config.h</a></li>
<li>INCLUDE_TRACKERS_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>LED_OFF&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga80700bb63bd56ebabbb4728aa433fd29">general_gpio.h</a></li>
<li>LED_ON&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#gaf2e697ac60e05813d45ea2c9c9e79c25">general_gpio.h</a></li>
<li>LED_PWM_TICKS&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga1d42e219765ec526d99e306638ac0023">general_gpio.h</a></li>
<li>LOG_LEVEL&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0b87e0d3bf5853bcbb0b66a7c48fdc05">mylibs_config.h</a></li>
<li>log_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga730fb7b8d0bbb348dca73c15bd0e0b26">trace.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>msDelay&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gabeb97579daeb622c6651ed03c4a27479">mylibs_defs.h</a></li>
<li>msDelayStart&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga8a5051b1292d1019fe8dd3fc5521ab25">mylibs_defs.h</a></li>
<li>msDelayWaitDone&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gaed082c07b9fc4d1894330d885b9b5518">mylibs_defs.h</a></li>
<li>msDelayWhileActive&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga0b97e172659a59ee4fa56f851643ae85">mylibs_defs.h</a></li>
<li>my_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#gae9b9b8a611e291a2f2aa5abf99f3ebaa">trace.h</a></li>
<li>MyLibs_Error_Handler&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>num_of_usercnts&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga72be24629fedb8bf70e830373d151fbc">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>RTT_FLASH_BUFFER_SIZE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga501312b24e322de4dd6755ad442f0ba3">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga3bc1b76864e1d32cbdd174d4caae7724">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR_END&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafeca0be3688dea07ff443f894668003d">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR_START&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga8e56f75d3ab8a89ddde1404ae23c3297">mylibs_config.h</a></li>
<li>RTT_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga00ff2175bdc1fb11c8ec970ea3010dd8">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>SERIAL_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga76936505ca200d2e61226b7ba68f27c6">mylibs_config.h</a></li>
<li>SW_OFF&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#gacd8900c9ec0efde1da3253b718574067">general_gpio.h</a></li>
<li>SW_ON&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga19d9e3aced311179a2914e0c9b13d0f9">general_gpio.h</a></li>
<li>SWO_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gab8db9704b5d11858aa879689b9d36336">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>tern_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga39b6ffbc561f8caac276415e1ad32c30">trackers.h</a></li>
<li>TIM_Alternate_Mapping&#160;:&#160;<a class="el" href="group___g_p_i_o___g_e_n_e_r_a_l.html#ga34242874b455a72aa6e25841678ed105">general_gpio.h</a></li>
<li>TRACE_GPIO_RESET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga69741d88c991112e99fe7a62e025108a">trace.h</a></li>
<li>TRACE_GPIO_SET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga02a6a7b273766121db8ad4a1371373eb">trace.h</a></li>
<li>TrackerClear_All&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga704f7b9f8c65c9bcec48ce7cb77a2d3b">trackers.h</a></li>
<li>TrackerClear_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gae860b6947c6e317e14d40bd7b4b8eb74">trackers.h</a></li>
<li>TrackerClear_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga5dd8bac8c7ab5832019d55d7a68371b9">trackers.h</a></li>
<li>TrackerClear_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga063dab1067005e1600ea32531fdf3f8d">trackers.h</a></li>
<li>TrackerClear_UserAll&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gaaec7ec19977bb26fa1919dfe920b82d5">trackers.h</a></li>
<li>TrackerClear_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga365a8c60bd13b75154feda649dd21ead">trackers.h</a></li>
<li>TrackerCnt_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga49af29ab3927cad105c1d2b018a767e9">trackers.h</a></li>
<li>TrackerCnt_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga23de0006aa08984cfeddb6aa5e512fa1">trackers.h</a></li>
<li>TrackerCnt_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga1b7549afc4a1760b54a9b93b0f6d105e">trackers.h</a></li>
<li>TrackerCnt_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga8017fb05a56a1b667244f1f786fa9c57">trackers.h</a></li>
<li>TrackerGet_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga9dc91e6b798a081f95f2ccef2c288e5e">trackers.h</a></li>
<li>TrackerGet_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gab880911066605602a966641682090169">trackers.h</a></li>
<li>TrackerGet_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga4b08632669043dfdbd219dda03502bdb">trackers.h</a></li>
<li>TrackerGet_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga47ac59a406ee74d4cd9fe0fbaf63a758">trackers.h</a></li>
<li>TRACKERS_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gac9eaedc31ab023ce7d6403999216e496">mylibs_config.h</a></li>
<li>TrackerTypeDef&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga50ccb119acf302969b7fdcb58f2130e4">trackers.h</a></li>
<li>TrackerWrite_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad2f4062a9ac8c2ab062a364f640ebc51">trackers.h</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>

113
Doc/html/globals_enum.html Normal file
View File

@@ -0,0 +1,113 @@
<!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: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_enum.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="contents">
<div class="textblock">Here is a list of all documented enums with links to the documentation:</div><ul>
<li>GPIO_LEDStateTypeDef&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gaac2b90d8b8c9579b6aa5d3bbda9b1ff1">general_gpio.h</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>

116
Doc/html/globals_eval.html Normal file
View 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: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_eval.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="contents">
<div class="textblock">Here is a list of all documented enum values with links to the documentation:</div><ul>
<li>LED_IS_BLINKING&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a2445895bed5dcbedc82ea3ef02bec6fb">general_gpio.h</a></li>
<li>LED_IS_FADING&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1aa610f6df44c939aa7d45e318036fa03b">general_gpio.h</a></li>
<li>LED_IS_OFF&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a74276cd2464314e422e8a144483f74ae">general_gpio.h</a></li>
<li>LED_IS_ON&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1af6abfb9c5b95abbdb239590f2cd245ea">general_gpio.h</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>

128
Doc/html/globals_func.html Normal file
View File

@@ -0,0 +1,128 @@
<!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: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_func.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="contents">
<div class="textblock">Here is a list of all documented functions with links to the documentation:</div><ul>
<li>GPIO_Clock_Enable()&#160;:&#160;<a class="el" href="group___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">general_gpio.c</a></li>
<li>GPIO_LED_Blink_Start()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">general_gpio.c</a></li>
<li>GPIO_LED_Dynamic_Handle()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">general_gpio.c</a></li>
<li>GPIO_LED_Fading_Start()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a">general_gpio.c</a></li>
<li>GPIO_LED_Init()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084">general_gpio.c</a></li>
<li>GPIO_LED_Off()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357">general_gpio.c</a></li>
<li>GPIO_LED_On()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c">general_gpio.c</a></li>
<li>GPIO_LED_Set()&#160;:&#160;<a class="el" href="group___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2">general_gpio.c</a></li>
<li>GPIO_Read_Switch()&#160;:&#160;<a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#ga4b6b8be19a9265bfee6b2bb8a68e988f">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#ga4b6b8be19a9265bfee6b2bb8a68e988f">general_gpio.c</a></li>
<li>GPIO_Switch_Init()&#160;:&#160;<a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7">general_gpio.h</a>, <a class="el" href="group___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7">general_gpio.c</a></li>
<li>HF_CheckRecovered()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html#ga03f8b6f3b537ee1c8e91065c60db504f">trace.h</a></li>
<li>HF_HandleFault()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html#gadd8e10e7ec3b0204f7f92062ecd452f7">trace.h</a></li>
<li>RTT_EraseFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga8d8c6850e32b42871faefce3352012d1">trace.h</a></li>
<li>RTT_FlashPrepare()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga21353cb4f5af666237739e62ce019cd6">trace.h</a></li>
<li>RTT_ReadFromFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga734b2ebbf0c77699b739013878cfd146">trace.h</a></li>
<li>RTT_SaveToFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga79f222c8ab644de4d47f07528d1edd63">trace.h</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>

View File

@@ -0,0 +1,307 @@
<!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: Bit access 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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.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">Bit access defines <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> &raquo; <a class="el" href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html">General Defines</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Макросы и typedef'ы для работы с битами в unsigned типах.
<a href="#details">More...</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:uint8_5FBitTypeDef" id="r_uint8_5FBitTypeDef"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionuint8___bit_type_def.html">uint8_BitTypeDef</a></td></tr>
<tr class="memitem:uint16_5FBitTypeDef" id="r_uint16_5FBitTypeDef"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionuint16___bit_type_def.html">uint16_BitTypeDef</a></td></tr>
<tr class="memitem:uint32_5FBitTypeDef" id="r_uint32_5FBitTypeDef"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionuint32___bit_type_def.html">uint32_BitTypeDef</a></td></tr>
<tr class="memitem:uint64_5FBitTypeDef" id="r_uint64_5FBitTypeDef"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionuint64___bit_type_def.html">uint64_BitTypeDef</a></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:ga57dc3bb3472a66fc92312f89d42d2396" id="r_ga57dc3bb3472a66fc92312f89d42d2396"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga57dc3bb3472a66fc92312f89d42d2396">uint8_bit</a>(_uint8_, _bit_)</td></tr>
<tr class="memdesc:ga57dc3bb3472a66fc92312f89d42d2396"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получить n-й бит из uint8_t. <br /></td></tr>
<tr class="memitem:ga6a122b536ad99ae611c8cf01437af086" id="r_ga6a122b536ad99ae611c8cf01437af086"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga6a122b536ad99ae611c8cf01437af086">uint16_bit</a>(_uint8_, _bit_)</td></tr>
<tr class="memdesc:ga6a122b536ad99ae611c8cf01437af086"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получить n-й бит из uint16_t. <br /></td></tr>
<tr class="memitem:gafaa2080168b1b6f7281e8bfabab022d1" id="r_gafaa2080168b1b6f7281e8bfabab022d1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gafaa2080168b1b6f7281e8bfabab022d1">uint32_bit</a>(_uint8_, _bit_)</td></tr>
<tr class="memdesc:gafaa2080168b1b6f7281e8bfabab022d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получить n-й бит из uint32_t. <br /></td></tr>
<tr class="memitem:ga47eb69ce9330a1c73fe8031240f02f0a" id="r_ga47eb69ce9330a1c73fe8031240f02f0a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga47eb69ce9330a1c73fe8031240f02f0a">uint64_bit</a>(_uint8_, _bit_)</td></tr>
<tr class="memdesc:ga47eb69ce9330a1c73fe8031240f02f0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получить n-й бит из uint64_t. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<p>Макросы и typedef'ы для работы с битами в unsigned типах. </p>
<p>В этом файле определены макросы для получения значения конкретного бита^</p><ul>
<li><a class="el" href="#ga57dc3bb3472a66fc92312f89d42d2396">uint8_bit</a></li>
<li><a class="el" href="#ga6a122b536ad99ae611c8cf01437af086">uint16_bit</a></li>
<li><a class="el" href="#gafaa2080168b1b6f7281e8bfabab022d1">uint32_bit</a></li>
<li><a class="el" href="#ga47eb69ce9330a1c73fe8031240f02f0a">uint64_bit</a></li>
</ul>
<p>Особенности использования:</p><ul>
<li>Индекс бита должен быть <b>константой на этапе компиляции</b>. Пример верного использования: <div class="fragment"><div class="line">uint8_t val = 0x05;</div>
<div class="line">uint8_t b2 = <a class="code hl_define" href="#ga57dc3bb3472a66fc92312f89d42d2396">uint8_bit</a>(val, 2); <span class="comment">// Получить бит 2</span></div>
<div class="line"><a class="code hl_define" href="#ga57dc3bb3472a66fc92312f89d42d2396">uint8_bit</a>(val, 6) = 1; <span class="comment">// Записать бит 6</span></div>
<div class="ttc" id="agroup___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_html_ga57dc3bb3472a66fc92312f89d42d2396"><div class="ttname"><a href="#ga57dc3bb3472a66fc92312f89d42d2396">uint8_bit</a></div><div class="ttdeci">#define uint8_bit(_uint8_, _bit_)</div><div class="ttdoc">Получить n-й бит из uint8_t.</div><div class="ttdef"><b>Definition</b> <a href="bit__access_8h_source.html#l00129">bit_access.h:129</a></div></div>
</div><!-- fragment --></li>
<li>Нельзя использовать переменные в качестве индекса: <div class="fragment"><div class="line">uint8_t i = 2;</div>
<div class="line"><a class="code hl_define" href="#ga57dc3bb3472a66fc92312f89d42d2396">uint8_bit</a>(val, i); <span class="comment">// Не сработает!</span></div>
</div><!-- fragment --></li>
<li>Макросы возвращают 0 или 1.</li>
<li>Доступ реализован через приведение к <span class="tt">union</span> с битовыми полями, поэтому это безопасный способ работы с отдельными битами без ручного сдвига и маскирования. </li>
</ul>
<a name="doc-define-members" id="doc-define-members"></a><h2 id="header-doc-define-members" class="groupheader">Macro Definition Documentation</h2>
<a id="ga57dc3bb3472a66fc92312f89d42d2396" name="ga57dc3bb3472a66fc92312f89d42d2396"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga57dc3bb3472a66fc92312f89d42d2396">&#9670;&#160;</a></span>uint8_bit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define uint8_bit</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_uint8_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_bit_</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(*(<a class="code hl_union" href="unionuint8___bit_type_def.html">uint8_BitTypeDef</a> *)(&amp;(_uint8_))).bit.bit##_bit_</div>
<div class="ttc" id="aunionuint8___bit_type_def_html"><div class="ttname"><a href="unionuint8___bit_type_def.html">uint8_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="bit__access_8h_source.html#l00039">bit_access.h:40</a></div></div>
</div><!-- fragment -->
<p>Получить n-й бит из uint8_t. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">_uint8_</td><td>Переменная типа uint8_t </td></tr>
<tr><td class="paramname">_bit_</td><td>Константный номер бита (0..7) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Значение выбранного бита (0 или 1) </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Индекс бита должен быть известен на этапе компиляции! </dd></dl>
<p class="definition">Definition at line <a class="el" href="bit__access_8h_source.html#l00129">129</a> of file <a class="el" href="bit__access_8h_source.html">bit_access.h</a>.</p>
</div>
</div>
<a id="ga6a122b536ad99ae611c8cf01437af086" name="ga6a122b536ad99ae611c8cf01437af086"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6a122b536ad99ae611c8cf01437af086">&#9670;&#160;</a></span>uint16_bit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define uint16_bit</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_uint8_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_bit_</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(*(<a class="code hl_union" href="unionuint16___bit_type_def.html">uint16_BitTypeDef</a> *)(&amp;(_uint8_))).bit.bit##_bit_</div>
<div class="ttc" id="aunionuint16___bit_type_def_html"><div class="ttname"><a href="unionuint16___bit_type_def.html">uint16_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="bit__access_8h_source.html#l00055">bit_access.h:56</a></div></div>
</div><!-- fragment -->
<p>Получить n-й бит из uint16_t. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">_uint16_</td><td>Переменная типа uint16_t </td></tr>
<tr><td class="paramname">_bit_</td><td>Константный номер бита (0..15) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Значение выбранного бита (0 или 1) </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Индекс бита должен быть известен на этапе компиляции! </dd></dl>
<p class="definition">Definition at line <a class="el" href="bit__access_8h_source.html#l00137">137</a> of file <a class="el" href="bit__access_8h_source.html">bit_access.h</a>.</p>
</div>
</div>
<a id="gafaa2080168b1b6f7281e8bfabab022d1" name="gafaa2080168b1b6f7281e8bfabab022d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafaa2080168b1b6f7281e8bfabab022d1">&#9670;&#160;</a></span>uint32_bit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define uint32_bit</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_uint8_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_bit_</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(*(<a class="code hl_union" href="unionuint32___bit_type_def.html">uint32_BitTypeDef</a> *)(&amp;(_uint8_))).bit.bit##_bit_</div>
<div class="ttc" id="aunionuint32___bit_type_def_html"><div class="ttname"><a href="unionuint32___bit_type_def.html">uint32_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="bit__access_8h_source.html#l00080">bit_access.h:81</a></div></div>
</div><!-- fragment -->
<p>Получить n-й бит из uint32_t. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">_uint32_</td><td>Переменная типа uint32_t </td></tr>
<tr><td class="paramname">_bit_</td><td>Константный номер бита (0..31) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Значение выбранного бита (0 или 1) </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Индекс бита должен быть известен на этапе компиляции! </dd></dl>
<p class="definition">Definition at line <a class="el" href="bit__access_8h_source.html#l00145">145</a> of file <a class="el" href="bit__access_8h_source.html">bit_access.h</a>.</p>
</div>
</div>
<a id="ga47eb69ce9330a1c73fe8031240f02f0a" name="ga47eb69ce9330a1c73fe8031240f02f0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga47eb69ce9330a1c73fe8031240f02f0a">&#9670;&#160;</a></span>uint64_bit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define uint64_bit</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_uint8_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_bit_</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(*(<a class="code hl_union" href="unionuint64___bit_type_def.html">uint64_BitTypeDef</a> *)(&amp;(_uint8_))).bit.bit##_bit_</div>
<div class="ttc" id="aunionuint64___bit_type_def_html"><div class="ttname"><a href="unionuint64___bit_type_def.html">uint64_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="bit__access_8h_source.html#l00097">bit_access.h:98</a></div></div>
</div><!-- fragment -->
<p>Получить n-й бит из uint64_t. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">_uint64_</td><td>Переменная типа uint64_t </td></tr>
<tr><td class="paramname">_bit_</td><td>Константный номер бита (0..63) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Значение выбранного бита (0 или 1) </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Индекс бита должен быть известен на этапе компиляции! </dd></dl>
<p class="definition">Definition at line <a class="el" href="bit__access_8h_source.html#l00153">153</a> of file <a class="el" href="bit__access_8h_source.html">bit_access.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>

View File

@@ -0,0 +1,11 @@
var group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s =
[
[ "uint8_BitTypeDef", "unionuint8___bit_type_def.html", null ],
[ "uint16_BitTypeDef", "unionuint16___bit_type_def.html", null ],
[ "uint32_BitTypeDef", "unionuint32___bit_type_def.html", null ],
[ "uint64_BitTypeDef", "unionuint64___bit_type_def.html", null ],
[ "uint8_bit", "group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga57dc3bb3472a66fc92312f89d42d2396", null ],
[ "uint16_bit", "group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga6a122b536ad99ae611c8cf01437af086", null ],
[ "uint32_bit", "group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#gafaa2080168b1b6f7281e8bfabab022d1", null ],
[ "uint64_bit", "group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga47eb69ce9330a1c73fe8031240f02f0a", null ]
];

View File

@@ -0,0 +1,291 @@
<!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: Delays 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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('group___d_e_l_a_y_s___d_e_f_i_n_e_s.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">Delays defines <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> &raquo; <a class="el" href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html">General Defines</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Макросы и определения для работы с задержками в миллисекундах.
<a href="#details">More...</a></p>
<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:gabeb97579daeb622c6651ed03c4a27479" id="r_gabeb97579daeb622c6651ed03c4a27479"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gabeb97579daeb622c6651ed03c4a27479">msDelay</a>(_ms_)</td></tr>
<tr class="memdesc:gabeb97579daeb622c6651ed03c4a27479"><td class="mdescLeft">&#160;</td><td class="mdescRight">Задержка на указанное количество миллисекунд. <br /></td></tr>
<tr class="memitem:ga8a5051b1292d1019fe8dd3fc5521ab25" id="r_ga8a5051b1292d1019fe8dd3fc5521ab25"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga8a5051b1292d1019fe8dd3fc5521ab25">msDelayStart</a>(_pvar_)</td></tr>
<tr class="memdesc:ga8a5051b1292d1019fe8dd3fc5521ab25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Начать отсчет задержки. <br /></td></tr>
<tr class="memitem:ga0b97e172659a59ee4fa56f851643ae85" id="r_ga0b97e172659a59ee4fa56f851643ae85"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0b97e172659a59ee4fa56f851643ae85">msDelayWhileActive</a>(_ms_, _pvar_)</td></tr>
<tr class="memdesc:ga0b97e172659a59ee4fa56f851643ae85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Проверяет, активна ли задержка. <br /></td></tr>
<tr class="memitem:gaed082c07b9fc4d1894330d885b9b5518" id="r_gaed082c07b9fc4d1894330d885b9b5518"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaed082c07b9fc4d1894330d885b9b5518">msDelayWaitDone</a>(_ms_, _pvar_)</td></tr>
<tr class="memdesc:gaed082c07b9fc4d1894330d885b9b5518"><td class="mdescLeft">&#160;</td><td class="mdescRight">Проверяет, завершилась ли задержка. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<p>Макросы и определения для работы с задержками в миллисекундах. </p>
<p>Этот блок содержит макросы для реализации задержек с использованием HAL или FreeRTOS:</p><ul>
<li><a class="el" href="#gabeb97579daeb622c6651ed03c4a27479">msDelay</a> — простая задержка заданной длительности;</li>
<li><a class="el" href="#ga8a5051b1292d1019fe8dd3fc5521ab25">msDelayStart</a> — сохранение текущего времени начала задержки;</li>
<li><a class="el" href="#ga0b97e172659a59ee4fa56f851643ae85">msDelayWhileActive</a> — проверка, активна ли задержка;</li>
<li><a class="el" href="#gaed082c07b9fc4d1894330d885b9b5518">msDelayWaitDone</a> — проверка, завершена ли задержка. Эти макросы удобны для реализации неблокирующих задержек. </li>
</ul>
<a name="doc-define-members" id="doc-define-members"></a><h2 id="header-doc-define-members" class="groupheader">Macro Definition Documentation</h2>
<a id="gabeb97579daeb622c6651ed03c4a27479" name="gabeb97579daeb622c6651ed03c4a27479"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabeb97579daeb622c6651ed03c4a27479">&#9670;&#160;</a></span>msDelay</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define msDelay</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_ms_</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">HAL_Delay(_ms_)</div>
</div><!-- fragment -->
<p>Задержка на указанное количество миллисекунд. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">_ms_</td><td>Время задержки в миллисекундах. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Использует HAL_Delay или osDelay в зависимости от FREERTOS_DELAY. </dd></dl>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00082">82</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>
<a id="ga8a5051b1292d1019fe8dd3fc5521ab25" name="ga8a5051b1292d1019fe8dd3fc5521ab25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8a5051b1292d1019fe8dd3fc5521ab25">&#9670;&#160;</a></span>msDelayStart</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define msDelayStart</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_pvar_</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">*(_pvar_) = HAL_GetTick()</div>
</div><!-- fragment -->
<p>Начать отсчет задержки. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">_pvar_</td><td>Указатель на переменную типа uint32_t для хранения времени старта.</td></tr>
</table>
</dd>
</dl>
<p>После вызова этого макроса переменная <em>pvar</em> содержит текущее количество миллисекунд с момента запуска системы (HAL_GetTick).</p>
<p>Используется для реализации неблокирующих задержек. </p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00094">94</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>
<a id="ga0b97e172659a59ee4fa56f851643ae85" name="ga0b97e172659a59ee4fa56f851643ae85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0b97e172659a59ee4fa56f851643ae85">&#9670;&#160;</a></span>msDelayWhileActive</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define msDelayWhileActive</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_ms_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_pvar_</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(HAL_GetTick() - *(_pvar_) &lt; _ms_)</div>
</div><!-- fragment -->
<p>Проверяет, активна ли задержка. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">_ms_</td><td>Длительность задержки в миллисекундах. </td></tr>
<tr><td class="paramname">_pvar_</td><td>Указатель на переменную, в которой сохранено время начала (<a class="el" href="#ga8a5051b1292d1019fe8dd3fc5521ab25">msDelayStart</a>). </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">1</td><td>Задержка еще активна. </td></tr>
<tr><td class="paramname">0</td><td>Задержка завершена.</td></tr>
</table>
</dd>
</dl>
<p>Возвращает true, пока время задержки не истекло. Используется в проверках, когда нужно <b>действовать, пока задержка выполняется</b>. Пример: </p><div class="fragment"><div class="line"><span class="keywordflow">while</span>(<a class="code hl_define" href="#ga0b97e172659a59ee4fa56f851643ae85">msDelayWhileActive</a>(1000, &amp;tick)) {</div>
<div class="line"> <span class="comment">// выполняем другие задачи, задержка не блокирует поток</span></div>
<div class="line">}</div>
<div class="ttc" id="agroup___d_e_l_a_y_s___d_e_f_i_n_e_s_html_ga0b97e172659a59ee4fa56f851643ae85"><div class="ttname"><a href="#ga0b97e172659a59ee4fa56f851643ae85">msDelayWhileActive</a></div><div class="ttdeci">#define msDelayWhileActive(_ms_, _pvar_)</div><div class="ttdoc">Проверяет, активна ли задержка.</div><div class="ttdef"><b>Definition</b> <a href="mylibs__defs_8h_source.html#l00111">mylibs_defs.h:111</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00111">111</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>
<a id="gaed082c07b9fc4d1894330d885b9b5518" name="gaed082c07b9fc4d1894330d885b9b5518"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaed082c07b9fc4d1894330d885b9b5518">&#9670;&#160;</a></span>msDelayWaitDone</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define msDelayWaitDone</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_ms_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_pvar_</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(HAL_GetTick() - *(_pvar_) &gt;= _ms_)</div>
</div><!-- fragment -->
<p>Проверяет, завершилась ли задержка. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">_ms_</td><td>Длительность задержки в миллисекундах. </td></tr>
<tr><td class="paramname">_pvar_</td><td>Указатель на переменную, в которой сохранено время начала (msDelayStart). </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">1</td><td>Задержка завершена. </td></tr>
<tr><td class="paramname">0</td><td>Задержка еще активна.</td></tr>
</table>
</dd>
</dl>
<p>Возвращает true, когда задержка уже завершена. Используется в проверках, когда нужно <b>выполнить действие только после окончания задержки</b>. Пример: </p><div class="fragment"><div class="line"><span class="keywordflow">if</span>(<a class="code hl_define" href="#gaed082c07b9fc4d1894330d885b9b5518">msDelayWaitDone</a>(1000, &amp;tick)) {</div>
<div class="line"> <span class="comment">// выполняем действие после завершения задержки</span></div>
<div class="line">}</div>
<div class="ttc" id="agroup___d_e_l_a_y_s___d_e_f_i_n_e_s_html_gaed082c07b9fc4d1894330d885b9b5518"><div class="ttname"><a href="#gaed082c07b9fc4d1894330d885b9b5518">msDelayWaitDone</a></div><div class="ttdeci">#define msDelayWaitDone(_ms_, _pvar_)</div><div class="ttdoc">Проверяет, завершилась ли задержка.</div><div class="ttdef"><b>Definition</b> <a href="mylibs__defs_8h_source.html#l00128">mylibs_defs.h:128</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00128">128</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.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>

View File

@@ -0,0 +1,7 @@
var group___d_e_l_a_y_s___d_e_f_i_n_e_s =
[
[ "msDelay", "group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gabeb97579daeb622c6651ed03c4a27479", null ],
[ "msDelayStart", "group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga8a5051b1292d1019fe8dd3fc5521ab25", null ],
[ "msDelayWhileActive", "group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga0b97e172659a59ee4fa56f851643ae85", null ],
[ "msDelayWaitDone", "group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gaed082c07b9fc4d1894330d885b9b5518", null ]
];

View File

@@ -0,0 +1,325 @@
<!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: Error Handler 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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.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">Error Handler defines <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> &raquo; <a class="el" href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html">General Defines</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Дефайны для обработки ошибок
<a href="#details">More...</a></p>
<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:gae110df81afd885a390bbeb152d7b709f" id="r_gae110df81afd885a390bbeb152d7b709f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gae110df81afd885a390bbeb152d7b709f">MyLibs_Error_Handler</a>(params)</td></tr>
<tr class="memdesc:gae110df81afd885a390bbeb152d7b709f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error_Handler который будет вызыватся в библиотеке <br /></td></tr>
<tr class="memitem:ga0b75f0bcf066acdf797b8e6730c52f86" id="r_ga0b75f0bcf066acdf797b8e6730c52f86"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0b75f0bcf066acdf797b8e6730c52f86">check_null_ptr_1</a>(_p1_)</td></tr>
<tr class="memdesc:ga0b75f0bcf066acdf797b8e6730c52f86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Проверить указатель на NULL. <br /></td></tr>
<tr class="memitem:gae7d1cbb9075ee4b830342fd564d96be0" id="r_gae7d1cbb9075ee4b830342fd564d96be0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gae7d1cbb9075ee4b830342fd564d96be0">check_null_ptr_2</a>(_p1_, _p2_)</td></tr>
<tr class="memdesc:gae7d1cbb9075ee4b830342fd564d96be0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Проверить два указателя на NULL. <br /></td></tr>
<tr class="memitem:ga002f4a5f5d8bb37d88f607386bc6ba2e" id="r_ga002f4a5f5d8bb37d88f607386bc6ba2e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga002f4a5f5d8bb37d88f607386bc6ba2e">check_null_ptr_3</a>(_p1_, _p2_, _p3_)</td></tr>
<tr class="memdesc:ga002f4a5f5d8bb37d88f607386bc6ba2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Проверить три указателя на NULL. <br /></td></tr>
<tr class="memitem:gade91c09d89a5f69003dcfe506ed0327f" id="r_gade91c09d89a5f69003dcfe506ed0327f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gade91c09d89a5f69003dcfe506ed0327f">check_null_ptr_4</a>(_p1_, _p2_, _p3_, _p4_)</td></tr>
<tr class="memdesc:gade91c09d89a5f69003dcfe506ed0327f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Проверить четыре указателя на NULL. <br /></td></tr>
<tr class="memitem:ga944edcd2c65519578d36730b94701f64" id="r_ga944edcd2c65519578d36730b94701f64"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga944edcd2c65519578d36730b94701f64">check_null_ptr_5</a>(_p1_, _p2_, _p3_, _p4_, _p5_)</td></tr>
<tr class="memdesc:ga944edcd2c65519578d36730b94701f64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Проверить пять указателей на NULL. <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:ga1730ffe1e560465665eb47d9264826f9" id="r_ga1730ffe1e560465665eb47d9264826f9"><td class="memItemLeft" align="right" valign="top"><a id="ga1730ffe1e560465665eb47d9264826f9" name="ga1730ffe1e560465665eb47d9264826f9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Error_Handler</b> (void)</td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<p>Дефайны для обработки ошибок </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="gae110df81afd885a390bbeb152d7b709f" name="gae110df81afd885a390bbeb152d7b709f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae110df81afd885a390bbeb152d7b709f">&#9670;&#160;</a></span>MyLibs_Error_Handler</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MyLibs_Error_Handler</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>params</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">Error_Handler(params)</div>
</div><!-- fragment -->
<p>Error_Handler который будет вызыватся в библиотеке </p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00031">31</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>
<a id="ga0b75f0bcf066acdf797b8e6730c52f86" name="ga0b75f0bcf066acdf797b8e6730c52f86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0b75f0bcf066acdf797b8e6730c52f86">&#9670;&#160;</a></span>check_null_ptr_1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define check_null_ptr_1</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p1_</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(_p1_ == NULL)</div>
</div><!-- fragment -->
<p>Проверить указатель на NULL. </p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00038">38</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>
<a id="gae7d1cbb9075ee4b830342fd564d96be0" name="gae7d1cbb9075ee4b830342fd564d96be0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae7d1cbb9075ee4b830342fd564d96be0">&#9670;&#160;</a></span>check_null_ptr_2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define check_null_ptr_2</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p1_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p2_</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((_p1_ == NULL) || (_p2_ == NULL))</div>
</div><!-- fragment -->
<p>Проверить два указателя на NULL. </p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00040">40</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>
<a id="ga002f4a5f5d8bb37d88f607386bc6ba2e" name="ga002f4a5f5d8bb37d88f607386bc6ba2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga002f4a5f5d8bb37d88f607386bc6ba2e">&#9670;&#160;</a></span>check_null_ptr_3</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define check_null_ptr_3</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p1_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p2_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p3_</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((_p1_ == NULL) || (_p2_ == NULL) || (_p3_ == NULL))</div>
</div><!-- fragment -->
<p>Проверить три указателя на NULL. </p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00042">42</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>
<a id="gade91c09d89a5f69003dcfe506ed0327f" name="gade91c09d89a5f69003dcfe506ed0327f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gade91c09d89a5f69003dcfe506ed0327f">&#9670;&#160;</a></span>check_null_ptr_4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define check_null_ptr_4</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p1_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p2_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p3_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p4_</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((_p1_ == NULL) || (_p2_ == NULL) || (_p3_ == NULL) || (_p4_ == NULL))</div>
</div><!-- fragment -->
<p>Проверить четыре указателя на NULL. </p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00044">44</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>
<a id="ga944edcd2c65519578d36730b94701f64" name="ga944edcd2c65519578d36730b94701f64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga944edcd2c65519578d36730b94701f64">&#9670;&#160;</a></span>check_null_ptr_5</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define check_null_ptr_5</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p1_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p2_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p3_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p4_</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>_p5_</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((_p1_ == NULL) || (_p2_ == NULL) || (_p3_ == NULL) || (_p4_ == NULL) || (_p5_ == NULL))</div>
</div><!-- fragment -->
<p>Проверить пять указателей на NULL. </p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00046">46</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.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>

View File

@@ -0,0 +1,9 @@
var group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s =
[
[ "MyLibs_Error_Handler", "group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f", null ],
[ "check_null_ptr_1", "group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga0b75f0bcf066acdf797b8e6730c52f86", null ],
[ "check_null_ptr_2", "group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae7d1cbb9075ee4b830342fd564d96be0", null ],
[ "check_null_ptr_3", "group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga002f4a5f5d8bb37d88f607386bc6ba2e", null ],
[ "check_null_ptr_4", "group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gade91c09d89a5f69003dcfe506ed0327f", null ],
[ "check_null_ptr_5", "group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga944edcd2c65519578d36730b94701f64", null ]
];

View 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: 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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('group___g_p_i_o___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> &raquo; <a class="el" href="group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html">Peripheral</a> &raquo; <a class="el" href="group___m_y___l_i_b_s___g_p_i_o.html">GPIO Tools</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Общие функции/макросы для работы с GPIO.
<a href="#details">More...</a></p>
<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:GPIO_5FINIT" id="r_GPIO_5FINIT"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_p_i_o___i_n_i_t.html">Init defines</a></td></tr>
<tr class="memdesc:group___g_p_i_o___i_n_i_t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Настройка состояний кнопок и количества тиков в периоде ШИМ <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:ga34242874b455a72aa6e25841678ed105" id="r_ga34242874b455a72aa6e25841678ed105"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga34242874b455a72aa6e25841678ed105">TIM_Alternate_Mapping</a>(INSTANCE)</td></tr>
<tr class="memdesc:ga34242874b455a72aa6e25841678ed105"><td class="mdescLeft">&#160;</td><td class="mdescRight">Маппинг альтернативной функции SPI между GPIO. <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:ga962f010f783b81fcdd27eb6b53db28e6" id="r_ga962f010f783b81fcdd27eb6b53db28e6"><td class="memItemLeft" align="right" valign="top">HAL_StatusTypeDef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga962f010f783b81fcdd27eb6b53db28e6">GPIO_Clock_Enable</a> (GPIO_TypeDef *GPIOx)</td></tr>
<tr class="memdesc:ga962f010f783b81fcdd27eb6b53db28e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить тактирование порта GPIO. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<p>Общие функции/макросы для работы с GPIO. </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="ga34242874b455a72aa6e25841678ed105" name="ga34242874b455a72aa6e25841678ed105"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga34242874b455a72aa6e25841678ed105">&#9670;&#160;</a></span>TIM_Alternate_Mapping</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TIM_Alternate_Mapping</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>INSTANCE</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((((INSTANCE) == TIM1) || ((INSTANCE) == TIM2))? GPIO_AF1_TIM1: \</div>
<div class="line">(((INSTANCE) == TIM3) || ((INSTANCE) == TIM4) || ((INSTANCE) == TIM5))? GPIO_AF2_TIM3: \</div>
<div class="line">(((INSTANCE) == TIM8) || ((INSTANCE) == TIM9) || ((INSTANCE) == TIM10) || ((INSTANCE) == TIM11))? GPIO_AF3_TIM8: \</div>
<div class="line">(((INSTANCE) == TIM12) || ((INSTANCE) == TIM13) || ((INSTANCE) == TIM14))? GPIO_AF9_TIM12: \</div>
<div class="line">(0))</div>
</div><!-- fragment -->
<p>Маппинг альтернативной функции SPI между GPIO. </p>
<p>Маппинг альтернативной функции TIM между GPIO </p>
<p class="definition">Definition at line <a class="el" href="general__gpio_8h_source.html#l00061">61</a> of file <a class="el" href="general__gpio_8h_source.html">general_gpio.h</a>.</p>
</div>
</div>
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
<a id="ga962f010f783b81fcdd27eb6b53db28e6" name="ga962f010f783b81fcdd27eb6b53db28e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga962f010f783b81fcdd27eb6b53db28e6">&#9670;&#160;</a></span>GPIO_Clock_Enable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">HAL_StatusTypeDef GPIO_Clock_Enable </td>
<td>(</td>
<td class="paramtype">GPIO_TypeDef *</td> <td class="paramname"><span class="paramname"><em>GPIOx</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Включить тактирование порта GPIO. </p>
<p class="definition">Definition at line <a class="el" href="general__gpio_8c_source.html#l00021">21</a> of file <a class="el" href="general__gpio_8c_source.html">general_gpio.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>

View File

@@ -0,0 +1,6 @@
var group___g_p_i_o___g_e_n_e_r_a_l =
[
[ "Init defines", "group___g_p_i_o___i_n_i_t.html", "group___g_p_i_o___i_n_i_t" ],
[ "TIM_Alternate_Mapping", "group___g_p_i_o___g_e_n_e_r_a_l.html#ga34242874b455a72aa6e25841678ed105", null ],
[ "GPIO_Clock_Enable", "group___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6", null ]
];

View File

@@ -0,0 +1,230 @@
<!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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('group___g_p_i_o___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> &raquo; <a class="el" href="group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l.html">Peripheral</a> &raquo; <a class="el" href="group___m_y___l_i_b_s___g_p_i_o.html">GPIO Tools</a> &raquo; <a class="el" href="group___g_p_i_o___g_e_n_e_r_a_l.html">General tools</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Настройка состояний кнопок и количества тиков в периоде ШИМ
<a href="#details">More...</a></p>
<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:ga1d42e219765ec526d99e306638ac0023" id="r_ga1d42e219765ec526d99e306638ac0023"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1d42e219765ec526d99e306638ac0023">LED_PWM_TICKS</a>&#160;&#160;&#160;15</td></tr>
<tr class="memdesc:ga1d42e219765ec526d99e306638ac0023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Количество тиков в периоде ШИМ <br /></td></tr>
<tr class="memitem:gaf2e697ac60e05813d45ea2c9c9e79c25" id="r_gaf2e697ac60e05813d45ea2c9c9e79c25"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaf2e697ac60e05813d45ea2c9c9e79c25">LED_ON</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gaf2e697ac60e05813d45ea2c9c9e79c25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Состояние пина для включения светодиода <br /></td></tr>
<tr class="memitem:ga80700bb63bd56ebabbb4728aa433fd29" id="r_ga80700bb63bd56ebabbb4728aa433fd29"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga80700bb63bd56ebabbb4728aa433fd29">LED_OFF</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga80700bb63bd56ebabbb4728aa433fd29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Состояние пина для выключения светодиода <br /></td></tr>
<tr class="memitem:ga19d9e3aced311179a2914e0c9b13d0f9" id="r_ga19d9e3aced311179a2914e0c9b13d0f9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga19d9e3aced311179a2914e0c9b13d0f9">SW_ON</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga19d9e3aced311179a2914e0c9b13d0f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Состояние пина при нажатой кнопке <br /></td></tr>
<tr class="memitem:gacd8900c9ec0efde1da3253b718574067" id="r_gacd8900c9ec0efde1da3253b718574067"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gacd8900c9ec0efde1da3253b718574067">SW_OFF</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gacd8900c9ec0efde1da3253b718574067"><td class="mdescLeft">&#160;</td><td class="mdescRight">Состояние пина при отжатой кнопке <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<p>Настройка состояний кнопок и количества тиков в периоде ШИМ </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="ga1d42e219765ec526d99e306638ac0023" name="ga1d42e219765ec526d99e306638ac0023"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1d42e219765ec526d99e306638ac0023">&#9670;&#160;</a></span>LED_PWM_TICKS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LED_PWM_TICKS&#160;&#160;&#160;15</td>
</tr>
</table>
</div><div class="memdoc">
<p>Количество тиков в периоде ШИМ </p>
<p class="definition">Definition at line <a class="el" href="general__gpio_8h_source.html#l00023">23</a> of file <a class="el" href="general__gpio_8h_source.html">general_gpio.h</a>.</p>
</div>
</div>
<a id="gaf2e697ac60e05813d45ea2c9c9e79c25" name="gaf2e697ac60e05813d45ea2c9c9e79c25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf2e697ac60e05813d45ea2c9c9e79c25">&#9670;&#160;</a></span>LED_ON</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LED_ON&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Состояние пина для включения светодиода </p>
<p class="definition">Definition at line <a class="el" href="general__gpio_8h_source.html#l00027">27</a> of file <a class="el" href="general__gpio_8h_source.html">general_gpio.h</a>.</p>
</div>
</div>
<a id="ga80700bb63bd56ebabbb4728aa433fd29" name="ga80700bb63bd56ebabbb4728aa433fd29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga80700bb63bd56ebabbb4728aa433fd29">&#9670;&#160;</a></span>LED_OFF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LED_OFF&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>Состояние пина для выключения светодиода </p>
<p class="definition">Definition at line <a class="el" href="general__gpio_8h_source.html#l00030">30</a> of file <a class="el" href="general__gpio_8h_source.html">general_gpio.h</a>.</p>
</div>
</div>
<a id="ga19d9e3aced311179a2914e0c9b13d0f9" name="ga19d9e3aced311179a2914e0c9b13d0f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga19d9e3aced311179a2914e0c9b13d0f9">&#9670;&#160;</a></span>SW_ON</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SW_ON&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Состояние пина при нажатой кнопке </p>
<p class="definition">Definition at line <a class="el" href="general__gpio_8h_source.html#l00034">34</a> of file <a class="el" href="general__gpio_8h_source.html">general_gpio.h</a>.</p>
</div>
</div>
<a id="gacd8900c9ec0efde1da3253b718574067" name="gacd8900c9ec0efde1da3253b718574067"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacd8900c9ec0efde1da3253b718574067">&#9670;&#160;</a></span>SW_OFF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SW_OFF&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>Состояние пина при отжатой кнопке </p>
<p class="definition">Definition at line <a class="el" href="general__gpio_8h_source.html#l00037">37</a> of file <a class="el" href="general__gpio_8h_source.html">general_gpio.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>

View File

@@ -0,0 +1,8 @@
var group___g_p_i_o___i_n_i_t =
[
[ "LED_PWM_TICKS", "group___g_p_i_o___i_n_i_t.html#ga1d42e219765ec526d99e306638ac0023", null ],
[ "LED_ON", "group___g_p_i_o___i_n_i_t.html#gaf2e697ac60e05813d45ea2c9c9e79c25", null ],
[ "LED_OFF", "group___g_p_i_o___i_n_i_t.html#ga80700bb63bd56ebabbb4728aa433fd29", null ],
[ "SW_ON", "group___g_p_i_o___i_n_i_t.html#ga19d9e3aced311179a2914e0c9b13d0f9", null ],
[ "SW_OFF", "group___g_p_i_o___i_n_i_t.html#gacd8900c9ec0efde1da3253b718574067", null ]
];

Some files were not shown because too many files have changed in this diff Show More