matlab_stm_emulate/DOCS/html/stm32f4xx__matlab__tim_8c_source.html

878 lines
176 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>STM MATLAB Simulator: F:/Work/Projects/MATLAB/matlab_stm_emulate/MCU_STM32F4xx_Matlab/STM32F4xx_SIMULINK/stm32f4xx_matlab_tim.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>
<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/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">STM MATLAB Simulator
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_9609623a411adcd586e91350a30aa9d5.html">MCU_STM32F4xx_Matlab</a></li><li class="navelem"><a class="el" href="dir_df8c7f866fb3beabf246989867a8aa90.html">STM32F4xx_SIMULINK</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">stm32f4xx_matlab_tim.c</div></div>
</div><!--header-->
<div class="contents">
<a href="stm32f4xx__matlab__tim_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">**************************************************************************</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">* @file stm32f4xx_matlab_tim.c</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="comment">@details</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">Данный файл содержит функции для симуляции таймеров STM32F407xx.</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="preprocessor">#include &quot;<a class="code" href="stm32f4xx__matlab__tim_8h.html">stm32f4xx_matlab_tim.h</a>&quot;</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> </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"><a class="line" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828"> 13</a></span><span class="keyword">struct </span><a class="code hl_struct" href="struct_slave_channels.html">SlaveChannels</a> <a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>; <span class="comment">///&lt; структура для связи и синхронизации таймеров</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">//----------------------TIMER BASE FUNCTIONS-----------------------//</span><span class="comment"></span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">/**</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> * @brief Симуляция таймера на один такт симуляции.</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> * @param TIMx таймер, каналы которого надо записать.</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> * @param TIMS структура таймера для симуляции.</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> * @details Это базовая функция для симуляции таймера: она вызывается каждый шаг симуляции</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> * и вызывает все другие функции, необходимые для симуляции:</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> * - Overflow_Check()</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> * - Slave_Mode_Check_Source()</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> * - TIMx_Count()</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> * - Channels_Simulation()</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00028" data-start="{" data-end="}">
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229"> 28</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM_TypeDef *TIMx, <span class="keyword">struct</span> <a class="code hl_struct" href="struct_t_i_m___sim.html">TIM_Sim</a> *TIMS)</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> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga05b798408f2179ae27731f231cf4b620">Overflow_Check</a>(TIMx, TIMS);</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> </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="comment">// Выбор режима работы таймера</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">switch</span> (TIMx-&gt;SMCR &amp; TIM_SMCR_SMS) <span class="comment">// TIMER MODE</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> {</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// обычный счет</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">case</span>(TIM_SLAVEMODE_DISABLE):<span class="comment">// NORMAL MODE counting</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga55e7ce9aae452502d5104acbe8fa4237">TIMx_Count</a>(TIMx, TIMS);</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga63dc3b53fe4b165b4c70e4d600258d50">Channels_Simulation</a>(TIMx, TIMS); <span class="comment">// CaptureCompare and PWM channels simulation</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// включение слейв таймера по ивенту</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">case</span>(TIM_SLAVEMODE_TRIGGER): <span class="comment">// SLAVE MODE: TRIGGER MODE</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga60fe7ff05dcbc30ca3c35aa08e87de21">Slave_Mode_Check_Source</a>(TIMx, TIMS);</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga55e7ce9aae452502d5104acbe8fa4237">TIMx_Count</a>(TIMx, TIMS);</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga63dc3b53fe4b165b4c70e4d600258d50">Channels_Simulation</a>(TIMx, TIMS); <span class="comment">// CaptureCompare and PWM channels simulation </span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</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>
<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"> * @brief Симуляция счетчика таймера на один такт симуляции.</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="comment"> * @param TIMx таймер, каналы которого надо записать.</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment"> * @param TIMS структура таймера для симуляции.</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="comment"> * @details Данная функция проверяет направление таймера и увеличивает или уменьшает</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment"> * значение счетчика на то число, на которое оно бы увеличилось за шаг симуляции.</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment"> * @note Для счетчика используется double формат, т.к. кол-во счетов за шаг симуляции</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment"> может быть дробным. После в конце функции double счетчик записывает с округлением</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment"> в регистр таймера CNT.</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00063" data-start="{" data-end="}">
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga55e7ce9aae452502d5104acbe8fa4237"> 63</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga55e7ce9aae452502d5104acbe8fa4237">TIMx_Count</a>(TIM_TypeDef* TIMx, <span class="keyword">struct</span> <a class="code hl_struct" href="struct_t_i_m___sim.html">TIM_Sim</a>* TIMS)</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="keywordflow">if</span> ((TIMx-&gt;CR1 &amp; TIM_CR1_DIR) &amp;&amp; TIMx-&gt;CR1) <span class="comment">// up COUNTER and COUNTER ENABLE</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a369177ee20a3798f0d7b98cf7c549498">tx_cnt</a> -= TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a> / TIMx-&gt;PSC;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (((TIMx-&gt;CR1 &amp; TIM_CR1_DIR) == 0) &amp;&amp; TIMx-&gt;CR1) <span class="comment">// down COUNTER and COUNTER ENABLE</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a369177ee20a3798f0d7b98cf7c549498">tx_cnt</a> += TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a> / TIMx-&gt;PSC;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> TIMx-&gt;CNT = (uint32_t)TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a369177ee20a3798f0d7b98cf7c549498">tx_cnt</a>;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span>}</div>
</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="comment"></span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment">/**</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment"> * @brief Проверка на переполнение и дальнейшая его обработка.</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> * @param TIMx таймер, каналы которого надо записать.</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment"> * @param TIMS структура таймера для симуляции.</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment"> * @details Данная функция проверяет когда таймер переполниться и если надо, </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"> - call_IRQHandller()</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment"> */</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="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga05b798408f2179ae27731f231cf4b620"> 80</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga05b798408f2179ae27731f231cf4b620">Overflow_Check</a>(TIM_TypeDef* TIMx, <span class="keyword">struct</span> <a class="code hl_struct" href="struct_t_i_m___sim.html">TIM_Sim</a>* TIMS)</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> <span class="keywordflow">if</span> ((TIMx-&gt;CR1 &amp; TIM_CR1_UDIS) == 0) <span class="comment">// UPDATE enable</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="keywordflow">if</span> ((TIMx-&gt;CR1 &amp; TIM_CR1_ARPE) == 0) TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a1798863b8849972c8e0cf75abbbd116b">RELOAD</a> = TIMx-&gt;ARR; <span class="comment">// PRELOAD disable - update ARR every itteration</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">if</span> (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a369177ee20a3798f0d7b98cf7c549498">tx_cnt</a> &gt; TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a1798863b8849972c8e0cf75abbbd116b">RELOAD</a> || TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a369177ee20a3798f0d7b98cf7c549498">tx_cnt</a> &lt; 0) <span class="comment">// OVERFLOW</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> {</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a1798863b8849972c8e0cf75abbbd116b">RELOAD</a> = TIMx-&gt;ARR; <span class="comment">// RELOAD ARR</span></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> <span class="keywordflow">if</span> (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a369177ee20a3798f0d7b98cf7c549498">tx_cnt</a> &gt; TIMx-&gt;ARR) <span class="comment">// reset COUNTER</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a369177ee20a3798f0d7b98cf7c549498">tx_cnt</a> = 0;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a369177ee20a3798f0d7b98cf7c549498">tx_cnt</a> &lt; 0)</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a369177ee20a3798f0d7b98cf7c549498">tx_cnt</a> = TIMx-&gt;ARR;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">if</span>(TIMx-&gt;DIER &amp; TIM_DIER_UIE) <span class="comment">// if update interrupt enable</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gaa2b3ab4507a894ffa6e4487d42054e67">call_IRQHandller</a>(TIMx); <span class="comment">// call HANDLER</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> }</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> }</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span>}</div>
</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> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="comment">//----------------------------CHANNELS-----------------------------//</span><span class="comment"></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><span class="comment"> * @brief Симуляция каналов таймера.</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment"> * @param TIMx таймер, каналы которого надо записать.</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment"> * @param TIMS структура таймера для симуляции.</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment"> * @details Данная функция симулирует работу всех каналов таймера. </span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="comment"> * Она вызывает функции:</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment"> * - CC_PWM_Ch1_Simulation()</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment"> * - CC_PWM_Ch2_Simulation()</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment"> * - CC_PWM_Ch3_Simulation()</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment"> * - CC_PWM_Ch4_Simulation()</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment"> * - Write_OC_to_GPIO()</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="comment"> * - Write_OC_to_TRGO()</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00118" data-start="{" data-end="}">
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga63dc3b53fe4b165b4c70e4d600258d50"> 118</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga63dc3b53fe4b165b4c70e4d600258d50">Channels_Simulation</a>(TIM_TypeDef* TIMx, <span class="keyword">struct</span> <a class="code hl_struct" href="struct_t_i_m___sim.html">TIM_Sim</a>* TIMS)</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span>{</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga609dd2da1a15ffb80256e85942ed2671">CC_PWM_Ch1_Simulation</a>(TIMx, TIMS);</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gaef90da33b410dcd77d9cdb58363d729c">CC_PWM_Ch2_Simulation</a>(TIMx, TIMS);</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga99db7a05808ca9b5aa12df01745ed2ef">CC_PWM_Ch3_Simulation</a>(TIMx, TIMS);</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gad51e3fbb47f5768c33876ad803fbef20">CC_PWM_Ch4_Simulation</a>(TIMx, TIMS);</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga28ab1124ab4cfbd21acb613cb0873d2d">Write_OC_to_GPIO</a>(TIMx, TIMS);</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> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga4ac3f9a63d2433519bd5137bab286080">Write_OC_to_TRGO</a>(TIMx, TIMS);</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span>}</div>
</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="comment">//-----------------CAPTURE COPMARE &amp; PWM FUNCTIONS------------------//</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 Выбор режима первого канала и его симуляция.</span></div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="comment"> * @param TIMx таймер, каналы которого надо записать.</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="comment"> * @param TIMS структура таймера для симуляции.</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="comment"> * @details Данная функция по регистрам таймера проверяет как настроен</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment"> первый канал и соответствующе симулирует его работу.</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00137" data-start="{" data-end="}">
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga609dd2da1a15ffb80256e85942ed2671"> 137</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga609dd2da1a15ffb80256e85942ed2671">CC_PWM_Ch1_Simulation</a>(TIM_TypeDef *TIMx, <span class="keyword">struct</span> <a class="code hl_struct" href="struct_t_i_m___sim.html">TIM_Sim</a> *TIMS)</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="keywordflow">switch</span> (TIMx-&gt;CCMR1 &amp; TIM_CCMR1_OC1M)</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">case</span> (TIM_OCMODE_ACTIVE): <span class="comment">// ACTIVE mode</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR1) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a> = 1;</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">case</span> (TIM_OCMODE_INACTIVE): <span class="comment">// INACTIVE mode</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR1) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a> = 0;</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">case</span> (TIM_OCMODE_TOGGLE): <span class="comment">// TOOGLE mode</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR1) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a> = ~TIMS-&gt;Channels.OC1REF;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">break</span>;</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> <span class="keywordflow">case</span> (TIM_OCMODE_PWM1): <span class="comment">// PWM MODE 1 mode</span></div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span> (TIMx-&gt;CNT &lt; TIMx-&gt;CCR1) </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a> = 1;</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a> = 0;</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">break</span>;</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> <span class="keywordflow">case</span> (TIM_OCMODE_PWM2): <span class="comment">// PWM MODE 2 mode</span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">if</span> (TIMx-&gt;CNT &lt; TIMx-&gt;CCR1) </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a> = 0;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a> = 1;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">case</span> (TIM_OCMODE_FORCED_ACTIVE): <span class="comment">// FORCED ACTIVE mode</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a> = 1; <span class="keywordflow">break</span>;</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">case</span> (TIM_OCMODE_FORCED_INACTIVE): <span class="comment">// FORCED INACTIVE mode</span></div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a> = 0; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span>}</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span>}<span class="comment"></span></div>
</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span><span class="comment">/**</span></div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span><span class="comment"> * @brief Выбор режима второго канала и его симуляция.</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span><span class="comment"> * @param TIMx таймер, каналы которого надо записать.</span></div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span><span class="comment"> * @param TIMS структура таймера для симуляции.</span></div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span><span class="comment"> * @details Данная функция по регистрам таймера проверяет как настроен</span></div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span><span class="comment"> второй канал и соответствующе симулирует его работу.</span></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00185" data-start="{" data-end="}">
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gaef90da33b410dcd77d9cdb58363d729c"> 185</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gaef90da33b410dcd77d9cdb58363d729c">CC_PWM_Ch2_Simulation</a>(TIM_TypeDef *TIMx, <span class="keyword">struct</span> <a class="code hl_struct" href="struct_t_i_m___sim.html">TIM_Sim</a> *TIMS)</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span>{ <span class="comment">// определяет режим канала</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span><span class="keywordflow">switch</span> (TIMx-&gt;CCMR1 &amp; TIM_CCMR1_OC2M)</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span>{</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">case</span> ((TIM_OCMODE_ACTIVE) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// ACTIVE mode</span></div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR2) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a> = 1;</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">case</span> ((TIM_OCMODE_INACTIVE) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// INACTIVE mode</span></div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR2) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a> = 0;</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">case</span> ((TIM_OCMODE_TOGGLE) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// Toogle mode</span></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR2) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a> = ~TIMS-&gt;Channels.OC2REF;</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> </div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">case</span> ((TIM_OCMODE_PWM1) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// PWM mode 1 mode</span></div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">if</span> (TIMx-&gt;CNT &lt; TIMx-&gt;CCR2) </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a> = 1;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a> = 0;</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> </div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">case</span> ((TIM_OCMODE_PWM2) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// PWM mode 2 mode</span></div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">if</span> (TIMx-&gt;CNT &lt; TIMx-&gt;CCR2) </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a> = 0;</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a> = 1;</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> </div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">case</span> ((TIM_OCMODE_FORCED_ACTIVE) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// FORCED ACTIVE mode</span></div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a> = 1; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">case</span> ((TIM_OCMODE_FORCED_INACTIVE) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// FORCED INACTIVE mode</span></div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a> = 0; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span>}</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span>}<span class="comment"></span></div>
</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span><span class="comment">/**</span></div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span><span class="comment"> * @brief Выбор режима третьего канала и его симуляция.</span></div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span><span class="comment"> * @param TIMx таймер, каналы которого надо записать.</span></div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span><span class="comment"> * @param TIMS структура таймера для симуляции.</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span><span class="comment"> * @details Данная функция по регистрам таймера проверяет как настроен </span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span><span class="comment"> третий канал и соответствующе симулирует его работу.</span></div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00233" data-start="{" data-end="}">
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga99db7a05808ca9b5aa12df01745ed2ef"> 233</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga99db7a05808ca9b5aa12df01745ed2ef">CC_PWM_Ch3_Simulation</a>(TIM_TypeDef *TIMx, <span class="keyword">struct</span> <a class="code hl_struct" href="struct_t_i_m___sim.html">TIM_Sim</a> *TIMS)</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span>{ <span class="comment">// определяет режим канала</span></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span><span class="keywordflow">switch</span> (TIMx-&gt;CCMR2 &amp; TIM_CCMR1_OC1M)</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span>{</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">case</span> (TIM_OCMODE_ACTIVE): <span class="comment">// ACTIVE mode</span></div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR3) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a> = 1;</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> </div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">case</span> (TIM_OCMODE_INACTIVE): <span class="comment">// INACTIVE mode</span></div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR3) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a> = 0;</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> </div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">case</span> (TIM_OCMODE_TOGGLE): <span class="comment">// Toogle mode</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR3) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a> = ~TIMS-&gt;Channels.OC3REF;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">case</span> (TIM_OCMODE_PWM1): <span class="comment">// PWM mode 1 mode</span></div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">if</span> (TIMx-&gt;CNT &lt; TIMx-&gt;CCR3) </div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a> = 1;</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a> = 0;</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> </div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">case</span> (TIM_OCMODE_PWM2): <span class="comment">// PWM mode 2 mode</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">if</span> (TIMx-&gt;CNT &lt; TIMx-&gt;CCR3) </div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a> = 0;</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a> = 1;</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">case</span> (TIM_OCMODE_FORCED_ACTIVE): <span class="comment">// FORCED ACTIVE mode</span></div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a> = 1; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> </div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">case</span> (TIM_OCMODE_FORCED_INACTIVE): <span class="comment">// FORCED INACTIVE mode</span></div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a> = 0; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span>}</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span>}<span class="comment"></span></div>
</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span><span class="comment">/**</span></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span><span class="comment"> * @brief Выбор режима четвертого канала и его симуляция.</span></div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span><span class="comment"> * @param TIMx таймер, каналы которого надо записать.</span></div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span><span class="comment"> * @param TIMS структура таймера для симуляции.</span></div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span><span class="comment"> * @details Данная функция по регистрам таймера проверяет как настроен </span></div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span><span class="comment"> четвертый канал и соответствующе симулирует его работу.</span></div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00281" data-start="{" data-end="}">
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gad51e3fbb47f5768c33876ad803fbef20"> 281</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gad51e3fbb47f5768c33876ad803fbef20">CC_PWM_Ch4_Simulation</a>(TIM_TypeDef *TIMx, <span class="keyword">struct</span> <a class="code hl_struct" href="struct_t_i_m___sim.html">TIM_Sim</a> *TIMS)</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span>{ <span class="comment">// определяет режим канала</span></div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span><span class="keywordflow">switch</span> (TIMx-&gt;CCMR2 &amp; TIM_CCMR1_OC2M)</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span>{</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">case</span> ((TIM_OCMODE_ACTIVE) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// ACTIVE mode</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR4) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a> = 1;</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> </div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <span class="keywordflow">case</span> ((TIM_OCMODE_INACTIVE) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// INACTIVE mode</span></div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR4) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a> = 0;</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> </div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">case</span> ((TIM_OCMODE_TOGGLE) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// Toogle mode</span></div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">if</span> (abs(TIMx-&gt;CNT - TIMx-&gt;CCR4) &lt; 2*TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">tx_step</a>) </div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a> = ~TIMS-&gt;Channels.OC4REF;</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> </div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">case</span> ((TIM_OCMODE_PWM1) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// PWM mode 1 mode</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">if</span> (TIMx-&gt;CNT &lt; TIMx-&gt;CCR4) </div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a> = 1;</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a> = 0;</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> </div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">case</span> ((TIM_OCMODE_PWM2) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// PWM mode 2 mode</span></div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">if</span> (TIMx-&gt;CNT &lt; TIMx-&gt;CCR4) </div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a> = 0;</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a> = 1;</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> </div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">case</span> ((TIM_OCMODE_FORCED_ACTIVE) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// FORCED ACTIVE mode</span></div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a> = 1; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> </div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">case</span> ((TIM_OCMODE_FORCED_INACTIVE) &lt;&lt; (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a>)): <span class="comment">// FORCED INACTIVE mode</span></div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a> = 0; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> </div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span>}</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span>}</div>
</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span><span class="comment"></span> </div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span><span class="comment">/**</span></div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span><span class="comment"> * @brief Запись каналов таймера в порты GPIO.</span></div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span><span class="comment"> * @param TIMx таймер, каналы которого надо записать.</span></div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span><span class="comment"> * @param TIMS структура того же таймера для симуляции.</span></div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span><span class="comment"> * @details Данная функция записывает каналы OC в порты GPIO, определенные в TIMS.</span></div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span><span class="comment"> * Запись происходит только если пин настроен на альтернативную функцию.</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00330" data-start="{" data-end="}">
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga28ab1124ab4cfbd21acb613cb0873d2d"> 330</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga28ab1124ab4cfbd21acb613cb0873d2d">Write_OC_to_GPIO</a>(TIM_TypeDef *TIMx, <span class="keyword">struct</span> <a class="code hl_struct" href="struct_t_i_m___sim.html">TIM_Sim</a> *TIMS)</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span>{</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> <span class="comment">// write gpio pin if need</span></div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="keywordflow">if</span> (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga819ef3dc9ad489178802ed1dcb0e6b41">Check_OC1_GPIO_Output</a>(TIMS)) <span class="comment">// check OC OUTPUT 4 enable (GPIO AF MODE)</span></div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> {</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> uint32_t temp2 = ~(uint32_t)(1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a2d558fbd100d8052eb0e235ad9b1edfe">OC1_PIN_SHIFT</a>));</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">if</span> (TIMx-&gt;CCER &amp; TIM_CCER_CC1P) <span class="comment">// POLARITY check</span></div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> { <span class="comment">// low POLARITY</span></div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">if</span> (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a>)</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a48f9b22f7e44d1b56aa793c2344e06d1">OC1_GPIOx</a>-&gt;ODR &amp;= ~(uint32_t)(1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a2d558fbd100d8052eb0e235ad9b1edfe">OC1_PIN_SHIFT</a>));</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a48f9b22f7e44d1b56aa793c2344e06d1">OC1_GPIOx</a>-&gt;ODR |= 1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a2d558fbd100d8052eb0e235ad9b1edfe">OC1_PIN_SHIFT</a>);</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> }</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> { <span class="comment">// high POLARITY</span></div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">if</span> (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a>)</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a48f9b22f7e44d1b56aa793c2344e06d1">OC1_GPIOx</a>-&gt;ODR |= 1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a2d558fbd100d8052eb0e235ad9b1edfe">OC1_PIN_SHIFT</a>);</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a48f9b22f7e44d1b56aa793c2344e06d1">OC1_GPIOx</a>-&gt;ODR &amp;= ~(uint32_t)(1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a2d558fbd100d8052eb0e235ad9b1edfe">OC1_PIN_SHIFT</a>));</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> }</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> }</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">if</span> (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gab05cf435dbdfc0a827fc6cf093d27694">Check_OC2_GPIO_Output</a>(TIMS)) <span class="comment">// check OC OUTPUT 4 enable (GPIO AF MODE)</span></div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> {</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">if</span> (TIMx-&gt;CCER &amp; TIM_CCER_CC2P) <span class="comment">// POLARITY check</span></div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> { <span class="comment">// low POLARITY</span></div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">if</span> (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a>)</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a095026a66ff13e090dae52ee17263f2d">OC2_GPIOx</a>-&gt;ODR &amp;= ~(uint32_t)(1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#ac2fdf8c4e985eee4ab2e6c82251c12cf">OC2_PIN_SHIFT</a>));</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a095026a66ff13e090dae52ee17263f2d">OC2_GPIOx</a>-&gt;ODR |= 1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#ac2fdf8c4e985eee4ab2e6c82251c12cf">OC2_PIN_SHIFT</a>);</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> }</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> { <span class="comment">// high POLARITY</span></div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">if</span> (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a>)</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a095026a66ff13e090dae52ee17263f2d">OC2_GPIOx</a>-&gt;ODR |= 1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#ac2fdf8c4e985eee4ab2e6c82251c12cf">OC2_PIN_SHIFT</a>);</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a095026a66ff13e090dae52ee17263f2d">OC2_GPIOx</a>-&gt;ODR &amp;= ~(uint32_t)(1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#ac2fdf8c4e985eee4ab2e6c82251c12cf">OC2_PIN_SHIFT</a>));</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> }</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> }</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">if</span> (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga1303da0a61cb89d0952378d46b1be2a3">Check_OC3_GPIO_Output</a>(TIMS)) <span class="comment">// check OC OUTPUT 4 enable (GPIO AF MODE)</span></div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> {</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> (TIMx-&gt;CCER &amp; TIM_CCER_CC3P) <span class="comment">// POLARITY check</span></div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> { <span class="comment">// low POLARITY</span></div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">if</span> (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a>)</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a7d239c94641795d3caf5c28f8b7cc68d">OC3_GPIOx</a>-&gt;ODR &amp;= ~(uint32_t)(1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#ac15bcebfa2102716c5b6a4f80b2d51ab">OC3_PIN_SHIFT</a>));</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a7d239c94641795d3caf5c28f8b7cc68d">OC3_GPIOx</a>-&gt;ODR |= 1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#ac15bcebfa2102716c5b6a4f80b2d51ab">OC3_PIN_SHIFT</a>);</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> }</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> { <span class="comment">// high POLARITY</span></div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">if</span> (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a>)</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a7d239c94641795d3caf5c28f8b7cc68d">OC3_GPIOx</a>-&gt;ODR |= 1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#ac15bcebfa2102716c5b6a4f80b2d51ab">OC3_PIN_SHIFT</a>);</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a7d239c94641795d3caf5c28f8b7cc68d">OC3_GPIOx</a>-&gt;ODR &amp;= ~(uint32_t)(1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#ac15bcebfa2102716c5b6a4f80b2d51ab">OC3_PIN_SHIFT</a>));</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> }</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> }</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">if</span> (<a class="code hl_define" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gadd3fec5a120bcd59e8396435da2cb639">Check_OC4_GPIO_Output</a>(TIMS)) <span class="comment">// check OC CHANNEL 4 enable (GPIO AF MODE)</span></div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> {</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">if</span> (TIMx-&gt;CCER &amp; TIM_CCER_CC4P) <span class="comment">// POLARITY check</span></div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> { <span class="comment">// low POLARITY</span></div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">if</span> (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a>)</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a851558373b04d1a8a5dbb3c0da9279d8">OC4_GPIOx</a>-&gt;ODR &amp;= ~(uint32_t)(1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa87736409f5ca9986200fcb480920c5b">OC4_PIN_SHIFT</a>));</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a851558373b04d1a8a5dbb3c0da9279d8">OC4_GPIOx</a>-&gt;ODR |= (1) &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa87736409f5ca9986200fcb480920c5b">OC4_PIN_SHIFT</a>);</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> }</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> { <span class="comment">// high POLARITY</span></div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <span class="keywordflow">if</span> (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a>)</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a851558373b04d1a8a5dbb3c0da9279d8">OC4_GPIOx</a>-&gt;ODR |= (1) &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa87736409f5ca9986200fcb480920c5b">OC4_PIN_SHIFT</a>);</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a851558373b04d1a8a5dbb3c0da9279d8">OC4_GPIOx</a>-&gt;ODR &amp;= ~(uint32_t)(1 &lt;&lt; (TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa87736409f5ca9986200fcb480920c5b">OC4_PIN_SHIFT</a>));</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> }</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> }</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span>}<span class="comment"></span></div>
</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span><span class="comment">/** Запись результата compare в глабальную структуру с TRIGGER OUTPUT */</span><span class="comment"></span></div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span><span class="comment">/**</span></div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span><span class="comment"> * @brief Запись каналов таймера в глабальную структуру с TRIGGER OUTPUT.</span></div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span><span class="comment"> * @param TIMx таймер, каналы которого надо записать.</span></div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span><span class="comment"> * @param TIMS структура того же таймера для симуляции.</span></div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span><span class="comment"> * @details Данная функция считывает каналы OC и записывает их в внешний канал триггера TRGO.</span></div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00410" data-start="{" data-end="}">
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga4ac3f9a63d2433519bd5137bab286080"> 410</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga4ac3f9a63d2433519bd5137bab286080">Write_OC_to_TRGO</a>(TIM_TypeDef* TIMx, <span class="keyword">struct</span> <a class="code hl_struct" href="struct_t_i_m___sim.html">TIM_Sim</a>* TIMS)</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span>{</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="comment">// write trigger output from OCxREF pin if need</span></div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> <span class="keywordtype">unsigned</span> temp_trgo;</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">if</span> ((TIMx-&gt;CR2 &amp; TIM_CR2_MMS) == (0b100 &lt;&lt; TIM_CR2_MMS_Pos))</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> {</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> temp_trgo = TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">OC1REF</a>;</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> }</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;CR2 &amp; TIM_CR2_MMS) == (0b101 &lt;&lt; TIM_CR2_MMS_Pos))</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> {</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> temp_trgo = TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">OC2REF</a>;</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> }</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;CR2 &amp; TIM_CR2_MMS) == (0b110 &lt;&lt; TIM_CR2_MMS_Pos))</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> {</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> temp_trgo = TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">OC3REF</a>;</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> }</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;CR2 &amp; TIM_CR2_MMS) == (0b111 &lt;&lt; TIM_CR2_MMS_Pos))</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> {</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> temp_trgo = TIMS-&gt;<a class="code hl_variable" href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">Channels</a>.<a class="code hl_variable" href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">OC4REF</a>;</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> }</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> <span class="comment">// select TIMx TRGO</span></div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">if</span> (TIMx == TIM1)</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a1bb1d8089ac5eff5af1df34649b50a94">TIM1_TRGO</a> = temp_trgo;</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM2)</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> <a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a7b0ea9ba4357a49b11b9c1ef79252613">TIM2_TRGO</a> = temp_trgo;</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM3)</div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> <a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#aab5be57f956df4be03effc282a0479e5">TIM3_TRGO</a> = temp_trgo;</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM4)</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> <a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#ab9bff03506a4f82f55b13a1065bccaa6">TIM4_TRGO</a> = temp_trgo;</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM5)</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a9780a406b85390dddcc18d4c6e606462">TIM5_TRGO</a> = temp_trgo;</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM6)</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> <a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a2b1207a49068c13e3257396b4f369932">TIM6_TRGO</a> = temp_trgo;</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM7)</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a8a06a1b3f32a6abaf0a7ad38e27cf0e1">TIM7_TRGO</a> = temp_trgo;</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM8)</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> <a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a591c0247b983b782f88fb92aea40f0c7">TIM8_TRGO</a> = temp_trgo;</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> temp_trgo = 0;</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span>}</div>
</div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span><span class="comment">//------------------------------------------------------------------//</span></div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> </div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> </div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> </div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> </div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span><span class="comment">//--------------------MISC (temporary) FUNCTIONS--------------------//</span><span class="comment"></span></div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span><span class="comment">/** Определение источника для запуска таймера в SLAVE MODE */</span><span class="comment"></span></div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span><span class="comment">/**</span></div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span><span class="comment"> * @brief Определение источника для запуска таймера в SLAVE MODE.</span></div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span><span class="comment"> * @param TIMx таймер, который надо включить.</span></div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span><span class="comment"> * @param TIMx таймер, прерываний которого надо вызвать.</span></div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span><span class="comment"> * @details Данная функция проверяет какой триггер выбран для запуска таймера,</span></div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span><span class="comment"> * после записывает значение канала триггера в бит включения таймера.</span></div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span><span class="comment"> * Таким образом, при лог.1 в канале триггера - таймер включиться.</span></div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00464" data-start="{" data-end="}">
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga60fe7ff05dcbc30ca3c35aa08e87de21"> 464</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga60fe7ff05dcbc30ca3c35aa08e87de21">Slave_Mode_Check_Source</a>(TIM_TypeDef* TIMx)</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span>{</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">if</span> (TIMx == TIM2)</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> {</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR0)</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a1bb1d8089ac5eff5af1df34649b50a94">TIM1_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR1)</div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a1bb1d8089ac5eff5af1df34649b50a94">TIM1_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR2)</div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a1bb1d8089ac5eff5af1df34649b50a94">TIM1_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR3)</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a591c0247b983b782f88fb92aea40f0c7">TIM8_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> }</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM3)</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> {</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR0)</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a591c0247b983b782f88fb92aea40f0c7">TIM8_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR1)</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a7b0ea9ba4357a49b11b9c1ef79252613">TIM2_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR2)</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a7b0ea9ba4357a49b11b9c1ef79252613">TIM2_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR3)</div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#aab5be57f956df4be03effc282a0479e5">TIM3_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> }</div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM4)</div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> {</div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR0)</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#aab5be57f956df4be03effc282a0479e5">TIM3_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR1)</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a9780a406b85390dddcc18d4c6e606462">TIM5_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR2)</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#aab5be57f956df4be03effc282a0479e5">TIM3_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR3)</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#ab9bff03506a4f82f55b13a1065bccaa6">TIM4_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> }</div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM5)</div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> {</div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR0)</div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#ab9bff03506a4f82f55b13a1065bccaa6">TIM4_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR1)</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#ab9bff03506a4f82f55b13a1065bccaa6">TIM4_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR2)</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a8a06a1b3f32a6abaf0a7ad38e27cf0e1">TIM7_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx-&gt;SMCR &amp; TIM_SMCR_TS) == TIM_TS_ITR3)</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> TIMx-&gt;CR1 |= (<a class="code hl_variable" href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a>.<a class="code hl_variable" href="struct_slave_channels.html#a8a06a1b3f32a6abaf0a7ad38e27cf0e1">TIM7_TRGO</a> &lt;&lt; TIM_CR1_CEN_Pos);</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> }</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span>}</div>
</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span><span class="comment">//------------------------------------------------------------------//</span></div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> </div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> </div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span><span class="comment">//------------------------SIMULINK FUNCTIONS------------------------//</span><span class="comment"></span></div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span><span class="comment">/** Симулирование выбранных через дефайн таймеров */</span><span class="comment"></span></div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span><span class="comment">/**</span></div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span><span class="comment"> * @brief Симуляция выбранных таймеров.</span></div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span><span class="comment"> * @details Таймеры для симуляции выбираются через дефайны в stm32f4xx_matlab_conf.h.</span></div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span><span class="comment"> Функция вызывается на каждом шаге симуляции. </span></div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00521" data-start="{" data-end="}">
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3128cf64eeea541a8e25a72ce10da335"> 521</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3128cf64eeea541a8e25a72ce10da335">Simulate_TIMs</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span>{</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span><span class="preprocessor">#ifdef USE_TIM1</span></div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM1, &amp;<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#ab3aec69c8e446c577e391796728e4742">tim1s</a>);</div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span><span class="preprocessor">#ifdef USE_TIM2</span></div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM2, &amp;tim2s);</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span><span class="preprocessor">#ifdef USE_TIM3</span></div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM3, &amp;<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#aefb416b7445ce7c77f15d96cd54cd2f5">tim3s</a>);</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span><span class="preprocessor">#ifdef USE_TIM4</span></div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM4, &amp;<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#ab42529334dbaea26f59721c40f7a7782">tim4s</a>);</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span><span class="preprocessor">#ifdef USE_TIM5</span></div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM5, &amp;tim5s);</div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span><span class="preprocessor">#ifdef USE_TIM6</span></div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM6, &amp;tim6s);</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span><span class="preprocessor">#ifdef USE_TIM7</span></div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM7, &amp;<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#af4ae2f8710078d4b2c0f07a4265ba66a">tim7s</a>);</div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span><span class="preprocessor">#ifdef USE_TIM8</span></div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM8, &amp;tim8s);</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span><span class="preprocessor">#ifdef USE_TIM9</span></div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM9, &amp;tim9s);</div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span><span class="preprocessor">#ifdef USE_TIM10</span></div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM10, &amp;tim10s);</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span><span class="preprocessor">#ifdef USE_TIM11</span></div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM11, &amp;tim11s);</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span><span class="preprocessor">#ifdef USE_TIM12</span></div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM12, &amp;<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#ad582b36106c35060b40bddfca929350e">tim12s</a>);</div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span><span class="preprocessor">#ifdef USE_TIM13</span></div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM13, &amp;tim13s);</div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span><span class="preprocessor">#ifdef USE_TIM14</span></div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a>(TIM14, &amp;tim14s);</div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span>}<span class="comment"></span></div>
</div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span><span class="comment">/**</span></div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span><span class="comment"> * @brief Деинициализирование выбранных таймеров.</span></div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span><span class="comment"> * @details Таймеры для деинициализизации выбираются через дефайны в stm32f4xx_matlab_conf.h.</span></div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span><span class="comment"> Функция вызывается в конце симуляции. </span></div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00571" data-start="{" data-end="}">
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga52ac5ac026ea57787d19cd1a8611abba"> 571</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga52ac5ac026ea57787d19cd1a8611abba">TIM_SIM_DEINIT</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span>{</div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span><span class="preprocessor">#ifdef USE_TIM1</span></div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span> memset(&amp;<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#ab3aec69c8e446c577e391796728e4742">tim1s</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#ab3aec69c8e446c577e391796728e4742">tim1s</a>));</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span><span class="preprocessor">#ifdef USE_TIM2</span></div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> memset(&amp;tim2s, 0, <span class="keyword">sizeof</span>(tim2s));</div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span><span class="preprocessor">#ifdef USE_TIM3</span></div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> memset(&amp;<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#aefb416b7445ce7c77f15d96cd54cd2f5">tim3s</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#aefb416b7445ce7c77f15d96cd54cd2f5">tim3s</a>));</div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span><span class="preprocessor">#ifdef USE_TIM4</span></div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> memset(&amp;<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#ab42529334dbaea26f59721c40f7a7782">tim4s</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#ab42529334dbaea26f59721c40f7a7782">tim4s</a>));</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span><span class="preprocessor">#ifdef USE_TIM5</span></div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> memset(&amp;tim5s, 0, <span class="keyword">sizeof</span>(tim5s));</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span><span class="preprocessor">#ifdef USE_TIM6</span></div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> memset(&amp;tim6s, 0, <span class="keyword">sizeof</span>(tim6s));</div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span><span class="preprocessor">#ifdef USE_TIM7</span></div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span> memset(&amp;<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#af4ae2f8710078d4b2c0f07a4265ba66a">tim7s</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#af4ae2f8710078d4b2c0f07a4265ba66a">tim7s</a>));</div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span><span class="preprocessor">#ifdef USE_TIM8</span></div>
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span> memset(&amp;tim8s, 0, <span class="keyword">sizeof</span>(tim8s));</div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span><span class="preprocessor">#ifdef USE_TIM9</span></div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span> memset(&amp;tim9s, 0, <span class="keyword">sizeof</span>(tim9s));</div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"> 600</span><span class="preprocessor">#ifdef USE_TIM10</span></div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span> memset(&amp;tim10s, 0, <span class="keyword">sizeof</span>(tim10s));</div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span><span class="preprocessor">#ifdef USE_TIM11</span></div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span> memset(&amp;tim11s, 0, <span class="keyword">sizeof</span>(tim11s));</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span><span class="preprocessor">#ifdef USE_TIM12</span></div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span> memset(&amp;<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#ad582b36106c35060b40bddfca929350e">tim12s</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_variable" href="stm32f4xx__matlab__conf_8h.html#ad582b36106c35060b40bddfca929350e">tim12s</a>));</div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span><span class="preprocessor">#ifdef USE_TIM13</span></div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> memset(&amp;tim13s, 0, <span class="keyword">sizeof</span>(tim13s));</div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span><span class="preprocessor">#ifdef USE_TIM14</span></div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> memset(&amp;tim14s, 0, <span class="keyword">sizeof</span>(tim14s));</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span>}</div>
</div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span><span class="comment">//------------------------------------------------------------------//</span></div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span> </div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"> 618</span><span class="comment">//------------------TIM&#39;S HANDLERS (BETA) FUNCTIONS-----------------//</span></div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span><span class="comment">// Определение обработчиков, которые не используются</span></div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span><span class="comment">// Т.к. в MSVC нет понятия weak function, необходимо объявить все колбеки</span></div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span><span class="comment">// И если какой-то колбек не используется, его надо определить</span></div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span><span class="preprocessor">#ifndef USE_TIM1_UP_TIM10_HANDLER</span></div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#ad1fd361bc5ad89facee67c76d1ff8dc0"> 623</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#ad1fd361bc5ad89facee67c76d1ff8dc0">TIM1_UP_TIM10_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span><span class="preprocessor">#ifndef USE_TIM2_HANDLER</span></div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#a38ad4725462bdc5e86c4ead4f04b9fc2"> 626</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a38ad4725462bdc5e86c4ead4f04b9fc2">TIM2_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span><span class="preprocessor">#ifndef USE_TIM3_HANDLER</span></div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#ac8e51d2183b5230cbd5481f8867adce9"> 629</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#ac8e51d2183b5230cbd5481f8867adce9">TIM3_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span><span class="preprocessor">#ifndef USE_TIM4_HANDLER</span></div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#a7133f3f78767503641d307386e68bd28"> 632</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a7133f3f78767503641d307386e68bd28">TIM4_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span><span class="preprocessor">#ifndef USE_TIM5_HANDLER</span></div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#a5e66446caf21dd90191dc07a13ce2378"> 635</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a5e66446caf21dd90191dc07a13ce2378">TIM5_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</span><span class="preprocessor">#ifndef USE_TIM6_HANDLER</span></div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#a0839a45f331c4c067939b9c4533bbf4d"> 638</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a0839a45f331c4c067939b9c4533bbf4d">TIM6_DAC_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span><span class="preprocessor">#ifndef USE_TIM7_HANDLER</span></div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#a98cff83252098363b2dbca9608df964e"> 641</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a98cff83252098363b2dbca9608df964e">TIM7_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span><span class="preprocessor">#ifndef USE_TIM8_UP_TIM13_HANDLER</span></div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#a7fb516f8826d882ac91cfc093884fcf5"> 644</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a7fb516f8826d882ac91cfc093884fcf5">TIM8_UP_TIM13_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span><span class="preprocessor">#ifndef USE_TIM1_BRK_TIM9_HANDLER</span></div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#a3b60f6118cdd3449f4ed29fde4704236"> 647</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a3b60f6118cdd3449f4ed29fde4704236">TIM1_BRK_TIM9_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span><span class="preprocessor">#ifndef USE_TIM1_TRG_COM_TIM11_HANDLER</span></div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#a098245bf4e2f8844b22692b034a266fb"> 650</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a098245bf4e2f8844b22692b034a266fb">TIM1_TRG_COM_TIM11_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span><span class="preprocessor">#ifndef USE_TIM8_BRK_TIM12_HANDLER</span></div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#a301e0d3520f05f672ce047976f75ff6a"> 653</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a301e0d3520f05f672ce047976f75ff6a">TIM8_BRK_TIM12_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span><span class="preprocessor">#ifndef USE_TIM8_TRG_COM_TIM14_HANDLER</span></div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"><a class="line" href="stm32f4xx__matlab__tim_8c.html#a4c8359a023f7ede4a9d9f94ea6fb92da"> 656</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a4c8359a023f7ede4a9d9f94ea6fb92da">TIM8_TRG_COM_TIM14_IRQHandler</a>(<span class="keywordtype">void</span>) {}</div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span><span class="comment"></span> </div>
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno"> 659</span><span class="comment">/**</span></div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"> 660</span><span class="comment"> * @brief Вызов прерывания таймера TIMx.</span></div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span><span class="comment"> * @param TIMx таймер, прерываний которого надо вызвать.</span></div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"> 662</span><span class="comment"> * @details Данная функция симулирует аппаратный вызов прерывания </span></div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"> 663</span><span class="comment"> таймера по какому-либо событию. </span></div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"> 664</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00665" data-start="{" data-end="}">
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"><a class="line" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gaa2b3ab4507a894ffa6e4487d42054e67"> 665</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gaa2b3ab4507a894ffa6e4487d42054e67">call_IRQHandller</a>(TIM_TypeDef* TIMx)</div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"> 666</span>{ <span class="comment">// calling HANDLER</span></div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span> <span class="keywordflow">if</span> ((TIMx == TIM1) || (TIMx == TIM10))</div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"> 668</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#ad1fd361bc5ad89facee67c76d1ff8dc0">TIM1_UP_TIM10_IRQHandler</a>();</div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"> 669</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM2)</div>
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"> 670</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a38ad4725462bdc5e86c4ead4f04b9fc2">TIM2_IRQHandler</a>();</div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"> 671</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM3)</div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"> 672</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#ac8e51d2183b5230cbd5481f8867adce9">TIM3_IRQHandler</a>();</div>
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"> 673</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM4)</div>
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno"> 674</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a7133f3f78767503641d307386e68bd28">TIM4_IRQHandler</a>();</div>
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno"> 675</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM5)</div>
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"> 676</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a5e66446caf21dd90191dc07a13ce2378">TIM5_IRQHandler</a>();</div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"> 677</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM6)</div>
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno"> 678</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a0839a45f331c4c067939b9c4533bbf4d">TIM6_DAC_IRQHandler</a>();</div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"> 679</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TIMx == TIM7)</div>
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"> 680</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a98cff83252098363b2dbca9608df964e">TIM7_IRQHandler</a>();</div>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"> 681</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx == TIM8) || (TIMx == TIM13))</div>
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"> 682</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a7fb516f8826d882ac91cfc093884fcf5">TIM8_UP_TIM13_IRQHandler</a>();</div>
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"> 683</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx == TIM1) || (TIMx == TIM9))</div>
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno"> 684</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a3b60f6118cdd3449f4ed29fde4704236">TIM1_BRK_TIM9_IRQHandler</a>();</div>
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"> 685</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx == TIM1) || (TIMx == TIM11))</div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"> 686</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a098245bf4e2f8844b22692b034a266fb">TIM1_TRG_COM_TIM11_IRQHandler</a>();</div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx == TIM8) || (TIMx == TIM12))</div>
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno"> 688</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a301e0d3520f05f672ce047976f75ff6a">TIM8_BRK_TIM12_IRQHandler</a>();</div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"> 689</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((TIMx == TIM8) || (TIMx == TIM14))</div>
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"> 690</span> <a class="code hl_function" href="stm32f4xx__matlab__tim_8c.html#a4c8359a023f7ede4a9d9f94ea6fb92da">TIM8_TRG_COM_TIM14_IRQHandler</a>();</div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span>}</div>
</div>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"> 692</span><span class="comment">//------------------------------------------------------------------//</span></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga05b798408f2179ae27731f231cf4b620"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga05b798408f2179ae27731f231cf4b620">Overflow_Check</a></div><div class="ttdeci">void Overflow_Check(TIM_TypeDef *TIMx, struct TIM_Sim *TIMS)</div><div class="ttdoc">Проверка на переполнение и дальнейшая его обработка.</div><div class="ttdef"><b>Definition</b> <a href="#l00080">stm32f4xx_matlab_tim.c:80</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga1303da0a61cb89d0952378d46b1be2a3"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga1303da0a61cb89d0952378d46b1be2a3">Check_OC3_GPIO_Output</a></div><div class="ttdeci">#define Check_OC3_GPIO_Output(_tims_)</div><div class="ttdoc">Дефайн для проверки выводить ли канал 3 на GPIO (настроен ли GPIO на альтернативную функцию)</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00046">stm32f4xx_matlab_tim.h:46</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga28ab1124ab4cfbd21acb613cb0873d2d"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga28ab1124ab4cfbd21acb613cb0873d2d">Write_OC_to_GPIO</a></div><div class="ttdeci">void Write_OC_to_GPIO(TIM_TypeDef *TIMx, struct TIM_Sim *TIMS)</div><div class="ttdoc">Запись каналов таймера в порты GPIO.</div><div class="ttdef"><b>Definition</b> <a href="#l00330">stm32f4xx_matlab_tim.c:330</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga3128cf64eeea541a8e25a72ce10da335"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3128cf64eeea541a8e25a72ce10da335">Simulate_TIMs</a></div><div class="ttdeci">void Simulate_TIMs(void)</div><div class="ttdoc">Симуляция выбранных таймеров.</div><div class="ttdef"><b>Definition</b> <a href="#l00521">stm32f4xx_matlab_tim.c:521</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga3fcb4dd48557c21fdd6c379ad16bd229"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga3fcb4dd48557c21fdd6c379ad16bd229">TIM_Simulation</a></div><div class="ttdeci">void TIM_Simulation(TIM_TypeDef *TIMx, struct TIM_Sim *TIMS)</div><div class="ttdoc">Симуляция таймера на один такт симуляции.</div><div class="ttdef"><b>Definition</b> <a href="#l00028">stm32f4xx_matlab_tim.c:28</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga4ac3f9a63d2433519bd5137bab286080"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga4ac3f9a63d2433519bd5137bab286080">Write_OC_to_TRGO</a></div><div class="ttdeci">void Write_OC_to_TRGO(TIM_TypeDef *TIMx, struct TIM_Sim *TIMS)</div><div class="ttdoc">Запись каналов таймера в глабальную структуру с TRIGGER OUTPUT.</div><div class="ttdef"><b>Definition</b> <a href="#l00410">stm32f4xx_matlab_tim.c:410</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga52ac5ac026ea57787d19cd1a8611abba"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga52ac5ac026ea57787d19cd1a8611abba">TIM_SIM_DEINIT</a></div><div class="ttdeci">void TIM_SIM_DEINIT(void)</div><div class="ttdoc">Деинициализирование выбранных таймеров.</div><div class="ttdef"><b>Definition</b> <a href="#l00571">stm32f4xx_matlab_tim.c:571</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga55e7ce9aae452502d5104acbe8fa4237"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga55e7ce9aae452502d5104acbe8fa4237">TIMx_Count</a></div><div class="ttdeci">void TIMx_Count(TIM_TypeDef *TIMx, struct TIM_Sim *TIMS)</div><div class="ttdoc">Симуляция счетчика таймера на один такт симуляции.</div><div class="ttdef"><b>Definition</b> <a href="#l00063">stm32f4xx_matlab_tim.c:63</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga609dd2da1a15ffb80256e85942ed2671"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga609dd2da1a15ffb80256e85942ed2671">CC_PWM_Ch1_Simulation</a></div><div class="ttdeci">void CC_PWM_Ch1_Simulation(TIM_TypeDef *TIMx, struct TIM_Sim *TIMS)</div><div class="ttdoc">Выбор режима первого канала и его симуляция.</div><div class="ttdef"><b>Definition</b> <a href="#l00137">stm32f4xx_matlab_tim.c:137</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga60fe7ff05dcbc30ca3c35aa08e87de21"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga60fe7ff05dcbc30ca3c35aa08e87de21">Slave_Mode_Check_Source</a></div><div class="ttdeci">void Slave_Mode_Check_Source(TIM_TypeDef *TIMx)</div><div class="ttdoc">Определение источника для запуска таймера в SLAVE MODE.</div><div class="ttdef"><b>Definition</b> <a href="#l00464">stm32f4xx_matlab_tim.c:464</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga63dc3b53fe4b165b4c70e4d600258d50"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga63dc3b53fe4b165b4c70e4d600258d50">Channels_Simulation</a></div><div class="ttdeci">void Channels_Simulation(TIM_TypeDef *TIMx, struct TIM_Sim *TIMS)</div><div class="ttdoc">Симуляция каналов таймера.</div><div class="ttdef"><b>Definition</b> <a href="#l00118">stm32f4xx_matlab_tim.c:118</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga819ef3dc9ad489178802ed1dcb0e6b41"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga819ef3dc9ad489178802ed1dcb0e6b41">Check_OC1_GPIO_Output</a></div><div class="ttdeci">#define Check_OC1_GPIO_Output(_tims_)</div><div class="ttdoc">Дефайн для проверки выводить ли канал 1 на GPIO (настроен ли GPIO на альтернативную функцию)</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00038">stm32f4xx_matlab_tim.h:38</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_ga99db7a05808ca9b5aa12df01745ed2ef"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#ga99db7a05808ca9b5aa12df01745ed2ef">CC_PWM_Ch3_Simulation</a></div><div class="ttdeci">void CC_PWM_Ch3_Simulation(TIM_TypeDef *TIMx, struct TIM_Sim *TIMS)</div><div class="ttdoc">Выбор режима третьего канала и его симуляция.</div><div class="ttdef"><b>Definition</b> <a href="#l00233">stm32f4xx_matlab_tim.c:233</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_gaa2b3ab4507a894ffa6e4487d42054e67"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gaa2b3ab4507a894ffa6e4487d42054e67">call_IRQHandller</a></div><div class="ttdeci">void call_IRQHandller(TIM_TypeDef *TIMx)</div><div class="ttdoc">Вызов прерывания таймера TIMx.</div><div class="ttdef"><b>Definition</b> <a href="#l00665">stm32f4xx_matlab_tim.c:665</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_gab05cf435dbdfc0a827fc6cf093d27694"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gab05cf435dbdfc0a827fc6cf093d27694">Check_OC2_GPIO_Output</a></div><div class="ttdeci">#define Check_OC2_GPIO_Output(_tims_)</div><div class="ttdoc">Дефайн для проверки выводить ли канал 2 на GPIO (настроен ли GPIO на альтернативную функцию)</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00042">stm32f4xx_matlab_tim.h:42</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_gad51e3fbb47f5768c33876ad803fbef20"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gad51e3fbb47f5768c33876ad803fbef20">CC_PWM_Ch4_Simulation</a></div><div class="ttdeci">void CC_PWM_Ch4_Simulation(TIM_TypeDef *TIMx, struct TIM_Sim *TIMS)</div><div class="ttdoc">Выбор режима четвертого канала и его симуляция.</div><div class="ttdef"><b>Definition</b> <a href="#l00281">stm32f4xx_matlab_tim.c:281</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_gadd3fec5a120bcd59e8396435da2cb639"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gadd3fec5a120bcd59e8396435da2cb639">Check_OC4_GPIO_Output</a></div><div class="ttdeci">#define Check_OC4_GPIO_Output(_tims_)</div><div class="ttdoc">Дефайн для проверки выводить ли канал 4 на GPIO (настроен ли GPIO на альтернативную функцию)</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00050">stm32f4xx_matlab_tim.h:50</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_gae44a51b8c43872a8186ef4740d8f83d4"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gae44a51b8c43872a8186ef4740d8f83d4">TIM_OCMODE_SECOND_SHIFT</a></div><div class="ttdeci">#define TIM_OCMODE_SECOND_SHIFT</div><div class="ttdoc">Дефайн для сдвига между первой и второй половиной CCMRx регистров</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00028">stm32f4xx_matlab_tim.h:28</a></div></div>
<div class="ttc" id="agroup___t_i_m___s_i_m_u_l_a_t_o_r_html_gaef90da33b410dcd77d9cdb58363d729c"><div class="ttname"><a href="group___t_i_m___s_i_m_u_l_a_t_o_r.html#gaef90da33b410dcd77d9cdb58363d729c">CC_PWM_Ch2_Simulation</a></div><div class="ttdeci">void CC_PWM_Ch2_Simulation(TIM_TypeDef *TIMx, struct TIM_Sim *TIMS)</div><div class="ttdoc">Выбор режима второго канала и его симуляция.</div><div class="ttdef"><b>Definition</b> <a href="#l00185">stm32f4xx_matlab_tim.c:185</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__conf_8h_html_ab3aec69c8e446c577e391796728e4742"><div class="ttname"><a href="stm32f4xx__matlab__conf_8h.html#ab3aec69c8e446c577e391796728e4742">tim1s</a></div><div class="ttdeci">struct TIM_Sim tim1s</div></div>
<div class="ttc" id="astm32f4xx__matlab__conf_8h_html_ab42529334dbaea26f59721c40f7a7782"><div class="ttname"><a href="stm32f4xx__matlab__conf_8h.html#ab42529334dbaea26f59721c40f7a7782">tim4s</a></div><div class="ttdeci">struct TIM_Sim tim4s</div></div>
<div class="ttc" id="astm32f4xx__matlab__conf_8h_html_ad582b36106c35060b40bddfca929350e"><div class="ttname"><a href="stm32f4xx__matlab__conf_8h.html#ad582b36106c35060b40bddfca929350e">tim12s</a></div><div class="ttdeci">struct TIM_Sim tim12s</div></div>
<div class="ttc" id="astm32f4xx__matlab__conf_8h_html_aefb416b7445ce7c77f15d96cd54cd2f5"><div class="ttname"><a href="stm32f4xx__matlab__conf_8h.html#aefb416b7445ce7c77f15d96cd54cd2f5">tim3s</a></div><div class="ttdeci">struct TIM_Sim tim3s</div></div>
<div class="ttc" id="astm32f4xx__matlab__conf_8h_html_af4ae2f8710078d4b2c0f07a4265ba66a"><div class="ttname"><a href="stm32f4xx__matlab__conf_8h.html#af4ae2f8710078d4b2c0f07a4265ba66a">tim7s</a></div><div class="ttdeci">struct TIM_Sim tim7s</div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_a0839a45f331c4c067939b9c4533bbf4d"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#a0839a45f331c4c067939b9c4533bbf4d">TIM6_DAC_IRQHandler</a></div><div class="ttdeci">void TIM6_DAC_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00638">stm32f4xx_matlab_tim.c:638</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_a098245bf4e2f8844b22692b034a266fb"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#a098245bf4e2f8844b22692b034a266fb">TIM1_TRG_COM_TIM11_IRQHandler</a></div><div class="ttdeci">void TIM1_TRG_COM_TIM11_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00650">stm32f4xx_matlab_tim.c:650</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_a301e0d3520f05f672ce047976f75ff6a"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#a301e0d3520f05f672ce047976f75ff6a">TIM8_BRK_TIM12_IRQHandler</a></div><div class="ttdeci">void TIM8_BRK_TIM12_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00653">stm32f4xx_matlab_tim.c:653</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_a38ad4725462bdc5e86c4ead4f04b9fc2"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#a38ad4725462bdc5e86c4ead4f04b9fc2">TIM2_IRQHandler</a></div><div class="ttdeci">void TIM2_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00626">stm32f4xx_matlab_tim.c:626</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_a3b60f6118cdd3449f4ed29fde4704236"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#a3b60f6118cdd3449f4ed29fde4704236">TIM1_BRK_TIM9_IRQHandler</a></div><div class="ttdeci">void TIM1_BRK_TIM9_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00647">stm32f4xx_matlab_tim.c:647</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_a4c8359a023f7ede4a9d9f94ea6fb92da"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#a4c8359a023f7ede4a9d9f94ea6fb92da">TIM8_TRG_COM_TIM14_IRQHandler</a></div><div class="ttdeci">void TIM8_TRG_COM_TIM14_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00656">stm32f4xx_matlab_tim.c:656</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_a5e66446caf21dd90191dc07a13ce2378"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#a5e66446caf21dd90191dc07a13ce2378">TIM5_IRQHandler</a></div><div class="ttdeci">void TIM5_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00635">stm32f4xx_matlab_tim.c:635</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_a66e48ba3c30d98536e05b7f5435e9828"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#a66e48ba3c30d98536e05b7f5435e9828">Slave_Channels</a></div><div class="ttdeci">struct SlaveChannels Slave_Channels</div><div class="ttdoc">структура для связи и синхронизации таймеров</div><div class="ttdef"><b>Definition</b> <a href="#l00013">stm32f4xx_matlab_tim.c:13</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_a7133f3f78767503641d307386e68bd28"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#a7133f3f78767503641d307386e68bd28">TIM4_IRQHandler</a></div><div class="ttdeci">void TIM4_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00632">stm32f4xx_matlab_tim.c:632</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_a7fb516f8826d882ac91cfc093884fcf5"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#a7fb516f8826d882ac91cfc093884fcf5">TIM8_UP_TIM13_IRQHandler</a></div><div class="ttdeci">void TIM8_UP_TIM13_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00644">stm32f4xx_matlab_tim.c:644</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_a98cff83252098363b2dbca9608df964e"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#a98cff83252098363b2dbca9608df964e">TIM7_IRQHandler</a></div><div class="ttdeci">void TIM7_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00641">stm32f4xx_matlab_tim.c:641</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_ac8e51d2183b5230cbd5481f8867adce9"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#ac8e51d2183b5230cbd5481f8867adce9">TIM3_IRQHandler</a></div><div class="ttdeci">void TIM3_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00629">stm32f4xx_matlab_tim.c:629</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8c_html_ad1fd361bc5ad89facee67c76d1ff8dc0"><div class="ttname"><a href="stm32f4xx__matlab__tim_8c.html#ad1fd361bc5ad89facee67c76d1ff8dc0">TIM1_UP_TIM10_IRQHandler</a></div><div class="ttdeci">void TIM1_UP_TIM10_IRQHandler(void)</div><div class="ttdef"><b>Definition</b> <a href="#l00623">stm32f4xx_matlab_tim.c:623</a></div></div>
<div class="ttc" id="astm32f4xx__matlab__tim_8h_html"><div class="ttname"><a href="stm32f4xx__matlab__tim_8h.html">stm32f4xx_matlab_tim.h</a></div><div class="ttdoc">Заголовочный файл для симулятора таймеров.</div></div>
<div class="ttc" id="astruct_channels___sim_html_a095026a66ff13e090dae52ee17263f2d"><div class="ttname"><a href="struct_channels___sim.html#a095026a66ff13e090dae52ee17263f2d">Channels_Sim::OC2_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * OC2_GPIOx</div><div class="ttdoc">Порт второго канала</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00088">stm32f4xx_matlab_tim.h:88</a></div></div>
<div class="ttc" id="astruct_channels___sim_html_a1c6c166d70bfe9597717f6892da4f446"><div class="ttname"><a href="struct_channels___sim.html#a1c6c166d70bfe9597717f6892da4f446">Channels_Sim::OC4REF</a></div><div class="ttdeci">unsigned OC4REF</div><div class="ttdoc">Четвертый канал</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00082">stm32f4xx_matlab_tim.h:82</a></div></div>
<div class="ttc" id="astruct_channels___sim_html_a2d558fbd100d8052eb0e235ad9b1edfe"><div class="ttname"><a href="struct_channels___sim.html#a2d558fbd100d8052eb0e235ad9b1edfe">Channels_Sim::OC1_PIN_SHIFT</a></div><div class="ttdeci">uint32_t OC1_PIN_SHIFT</div><div class="ttdoc">Пин первого канала</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00086">stm32f4xx_matlab_tim.h:86</a></div></div>
<div class="ttc" id="astruct_channels___sim_html_a48f9b22f7e44d1b56aa793c2344e06d1"><div class="ttname"><a href="struct_channels___sim.html#a48f9b22f7e44d1b56aa793c2344e06d1">Channels_Sim::OC1_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * OC1_GPIOx</div><div class="ttdoc">Порт первого канала</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00085">stm32f4xx_matlab_tim.h:85</a></div></div>
<div class="ttc" id="astruct_channels___sim_html_a7d239c94641795d3caf5c28f8b7cc68d"><div class="ttname"><a href="struct_channels___sim.html#a7d239c94641795d3caf5c28f8b7cc68d">Channels_Sim::OC3_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * OC3_GPIOx</div><div class="ttdoc">Порт третьего канала</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00091">stm32f4xx_matlab_tim.h:91</a></div></div>
<div class="ttc" id="astruct_channels___sim_html_a851558373b04d1a8a5dbb3c0da9279d8"><div class="ttname"><a href="struct_channels___sim.html#a851558373b04d1a8a5dbb3c0da9279d8">Channels_Sim::OC4_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * OC4_GPIOx</div><div class="ttdoc">Порт четвертого канала</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00094">stm32f4xx_matlab_tim.h:94</a></div></div>
<div class="ttc" id="astruct_channels___sim_html_aa038da4ce5b26f3d86cda283a9cd749e"><div class="ttname"><a href="struct_channels___sim.html#aa038da4ce5b26f3d86cda283a9cd749e">Channels_Sim::OC2REF</a></div><div class="ttdeci">unsigned OC2REF</div><div class="ttdoc">Второй канал</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00080">stm32f4xx_matlab_tim.h:80</a></div></div>
<div class="ttc" id="astruct_channels___sim_html_aa87736409f5ca9986200fcb480920c5b"><div class="ttname"><a href="struct_channels___sim.html#aa87736409f5ca9986200fcb480920c5b">Channels_Sim::OC4_PIN_SHIFT</a></div><div class="ttdeci">uint32_t OC4_PIN_SHIFT</div><div class="ttdoc">Пин четвертого канала</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00095">stm32f4xx_matlab_tim.h:95</a></div></div>
<div class="ttc" id="astruct_channels___sim_html_aae6762f43d55e99c3076c9f7e5cda5d9"><div class="ttname"><a href="struct_channels___sim.html#aae6762f43d55e99c3076c9f7e5cda5d9">Channels_Sim::OC1REF</a></div><div class="ttdeci">unsigned OC1REF</div><div class="ttdoc">Первый канал</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00079">stm32f4xx_matlab_tim.h:79</a></div></div>
<div class="ttc" id="astruct_channels___sim_html_abbea161f1b685a5d353d453fc9b56284"><div class="ttname"><a href="struct_channels___sim.html#abbea161f1b685a5d353d453fc9b56284">Channels_Sim::OC3REF</a></div><div class="ttdeci">unsigned OC3REF</div><div class="ttdoc">Третьий канал</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00081">stm32f4xx_matlab_tim.h:81</a></div></div>
<div class="ttc" id="astruct_channels___sim_html_ac15bcebfa2102716c5b6a4f80b2d51ab"><div class="ttname"><a href="struct_channels___sim.html#ac15bcebfa2102716c5b6a4f80b2d51ab">Channels_Sim::OC3_PIN_SHIFT</a></div><div class="ttdeci">uint32_t OC3_PIN_SHIFT</div><div class="ttdoc">Пин третьего канала</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00092">stm32f4xx_matlab_tim.h:92</a></div></div>
<div class="ttc" id="astruct_channels___sim_html_ac2fdf8c4e985eee4ab2e6c82251c12cf"><div class="ttname"><a href="struct_channels___sim.html#ac2fdf8c4e985eee4ab2e6c82251c12cf">Channels_Sim::OC2_PIN_SHIFT</a></div><div class="ttdeci">uint32_t OC2_PIN_SHIFT</div><div class="ttdoc">Пин второго канала</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00089">stm32f4xx_matlab_tim.h:89</a></div></div>
<div class="ttc" id="astruct_slave_channels_html"><div class="ttname"><a href="struct_slave_channels.html">SlaveChannels</a></div><div class="ttdoc">Структура для управления Слейв Таймерами</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00060">stm32f4xx_matlab_tim.h:61</a></div></div>
<div class="ttc" id="astruct_slave_channels_html_a1bb1d8089ac5eff5af1df34649b50a94"><div class="ttname"><a href="struct_slave_channels.html#a1bb1d8089ac5eff5af1df34649b50a94">SlaveChannels::TIM1_TRGO</a></div><div class="ttdeci">unsigned TIM1_TRGO</div><div class="ttdoc">Синган синхронизации таймера 1.</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00062">stm32f4xx_matlab_tim.h:62</a></div></div>
<div class="ttc" id="astruct_slave_channels_html_a2b1207a49068c13e3257396b4f369932"><div class="ttname"><a href="struct_slave_channels.html#a2b1207a49068c13e3257396b4f369932">SlaveChannels::TIM6_TRGO</a></div><div class="ttdeci">unsigned TIM6_TRGO</div><div class="ttdoc">Синган синхронизации таймера 6.</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00067">stm32f4xx_matlab_tim.h:67</a></div></div>
<div class="ttc" id="astruct_slave_channels_html_a591c0247b983b782f88fb92aea40f0c7"><div class="ttname"><a href="struct_slave_channels.html#a591c0247b983b782f88fb92aea40f0c7">SlaveChannels::TIM8_TRGO</a></div><div class="ttdeci">unsigned TIM8_TRGO</div><div class="ttdoc">Синган синхронизации таймера 8</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00069">stm32f4xx_matlab_tim.h:69</a></div></div>
<div class="ttc" id="astruct_slave_channels_html_a7b0ea9ba4357a49b11b9c1ef79252613"><div class="ttname"><a href="struct_slave_channels.html#a7b0ea9ba4357a49b11b9c1ef79252613">SlaveChannels::TIM2_TRGO</a></div><div class="ttdeci">unsigned TIM2_TRGO</div><div class="ttdoc">Синган синхронизации таймера 2.</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00063">stm32f4xx_matlab_tim.h:63</a></div></div>
<div class="ttc" id="astruct_slave_channels_html_a8a06a1b3f32a6abaf0a7ad38e27cf0e1"><div class="ttname"><a href="struct_slave_channels.html#a8a06a1b3f32a6abaf0a7ad38e27cf0e1">SlaveChannels::TIM7_TRGO</a></div><div class="ttdeci">unsigned TIM7_TRGO</div><div class="ttdoc">Синган синхронизации таймера 7.</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00068">stm32f4xx_matlab_tim.h:68</a></div></div>
<div class="ttc" id="astruct_slave_channels_html_a9780a406b85390dddcc18d4c6e606462"><div class="ttname"><a href="struct_slave_channels.html#a9780a406b85390dddcc18d4c6e606462">SlaveChannels::TIM5_TRGO</a></div><div class="ttdeci">unsigned TIM5_TRGO</div><div class="ttdoc">Синган синхронизации таймера 5.</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00066">stm32f4xx_matlab_tim.h:66</a></div></div>
<div class="ttc" id="astruct_slave_channels_html_aab5be57f956df4be03effc282a0479e5"><div class="ttname"><a href="struct_slave_channels.html#aab5be57f956df4be03effc282a0479e5">SlaveChannels::TIM3_TRGO</a></div><div class="ttdeci">unsigned TIM3_TRGO</div><div class="ttdoc">Синган синхронизации таймера 3.</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00064">stm32f4xx_matlab_tim.h:64</a></div></div>
<div class="ttc" id="astruct_slave_channels_html_ab9bff03506a4f82f55b13a1065bccaa6"><div class="ttname"><a href="struct_slave_channels.html#ab9bff03506a4f82f55b13a1065bccaa6">SlaveChannels::TIM4_TRGO</a></div><div class="ttdeci">unsigned TIM4_TRGO</div><div class="ttdoc">Синган синхронизации таймера 4.</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00065">stm32f4xx_matlab_tim.h:65</a></div></div>
<div class="ttc" id="astruct_t_i_m___sim_html"><div class="ttname"><a href="struct_t_i_m___sim.html">TIM_Sim</a></div><div class="ttdoc">Структура для моделирования таймера</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00102">stm32f4xx_matlab_tim.h:103</a></div></div>
<div class="ttc" id="astruct_t_i_m___sim_html_a1798863b8849972c8e0cf75abbbd116b"><div class="ttname"><a href="struct_t_i_m___sim.html#a1798863b8849972c8e0cf75abbbd116b">TIM_Sim::RELOAD</a></div><div class="ttdeci">int RELOAD</div><div class="ttdoc">Буфер для периода таймера (для реализации функции PRELOAD)</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00106">stm32f4xx_matlab_tim.h:106</a></div></div>
<div class="ttc" id="astruct_t_i_m___sim_html_a369177ee20a3798f0d7b98cf7c549498"><div class="ttname"><a href="struct_t_i_m___sim.html#a369177ee20a3798f0d7b98cf7c549498">TIM_Sim::tx_cnt</a></div><div class="ttdeci">double tx_cnt</div><div class="ttdoc">Счетчик таймера (double, т.к. кол-во тактов за шаг симуляции может быть дробным)</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00104">stm32f4xx_matlab_tim.h:104</a></div></div>
<div class="ttc" id="astruct_t_i_m___sim_html_a41f21d0d1bfe0fb45e3f643ece9cdcee"><div class="ttname"><a href="struct_t_i_m___sim.html#a41f21d0d1bfe0fb45e3f643ece9cdcee">TIM_Sim::Channels</a></div><div class="ttdeci">struct Channels_Sim Channels</div><div class="ttdoc">Структура для симуляции каналов</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00107">stm32f4xx_matlab_tim.h:107</a></div></div>
<div class="ttc" id="astruct_t_i_m___sim_html_a838a96dee1a1980434ae35295f85141e"><div class="ttname"><a href="struct_t_i_m___sim.html#a838a96dee1a1980434ae35295f85141e">TIM_Sim::tx_step</a></div><div class="ttdeci">double tx_step</div><div class="ttdoc">Шаг счета за один шаг симуляции (double, т.к. кол-во тактов за шаг симуляции может быть дробным)</div><div class="ttdef"><b>Definition</b> <a href="stm32f4xx__matlab__tim_8h_source.html#l00105">stm32f4xx_matlab_tim.h:105</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0
</small></address>
</body>
</html>