Files
pwm32e_pro/doc/网页版文档/xc__drv__pwm_8c_source.html
T
moyuhai 41a602f89c V1.0
2026-06-09 16:39:17 +08:00

562 lines
115 KiB
HTML

<!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="zh">
<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.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BLE5.2: TEST2/api/xc_drv_pwm.c 源文件</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/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<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="projectlogo"><img alt="Logo" src="xinchip.png"/></td>
<td id="projectalign">
<div id="projectname">BLE5.2<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">开发文档说明</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.7 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>首页</span></a></li>
<li><a href="pages.html"><span>相关页面</span></a></li>
<li><a href="annotated.html"><span></span></a></li>
<li class="current"><a href="files.html"><span>文件</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>文件列表</span></a></li>
<li><a href="globals.html"><span>文件成员</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_e551eb05443008c96ab2f08dbb3250a6.html">TEST2</a></li><li class="navelem"><a class="el" href="dir_a213a656435eb838f44f965c240ae24d.html">api</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">xc_drv_pwm.c</div></div>
</div><!--header-->
<div class="contents">
<a href="xc__drv__pwm_8c.html">浏览该文件的文档.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">/*------------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> INCLUDE HEADE FILES</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> -------------------------------------------------------------------------------------*/</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include &quot;<a class="code" href="xc__drv__pwm_8h.html">xc_drv_pwm.h</a>&quot;</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include &quot;<a class="code" href="xc__drv__gpio_8h.html">xc_drv_gpio.h</a>&quot;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">/*------------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> Macros</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"> -------------------------------------------------------------------------------------*/</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment">/*------------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment"> Global Variables</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment"> -------------------------------------------------------------------------------------*/</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment">/*------------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment"> TypeDef</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment"> -------------------------------------------------------------------------------------*/</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45c"> 41</a></span><span class="keyword">typedef</span> <span class="keyword">enum</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"><a class="line" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca36e8e2958c7f6a4505cb8e8782717530"> 43</a></span> <a class="code hl_enumvalue" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca36e8e2958c7f6a4505cb8e8782717530">STATE_UNINITIALIZED</a>,</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca033f1b9c62140635eb6f0e3035a72c34"> 44</a></span> <a class="code hl_enumvalue" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca033f1b9c62140635eb6f0e3035a72c34">STATE_INITIALIZED</a>,</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span>} <a class="code hl_enumeration" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45c">xincx_drv_state_t</a>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a09b4a518ca1044a1c10db7da54d7d289"> 47</a></span><a class="code hl_typedef" href="xc__drv__pwm_8h.html#aa01fcf64c7a2efa78929211479925d04">pwm_handler_callback</a> <a class="code hl_variable" href="xc__drv__pwm_8c.html#a09b4a518ca1044a1c10db7da54d7d289">pwm_n_callback</a>[3] = {</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a67587d8f796d5f464b99a72835f6090e">pwm_capture_ch0_callback</a>,</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a29dcf8c6a20263970caa1f3da659d62e">pwm_capture_ch1_callback</a>,</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a6171846cd09de051ba24e32f0d0e7f59">pwm_capture_ch2_callback</a>,</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span>};</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment">/*------------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment"> Local Variables</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="comment">-------------------------------------------------------------------------------------*/</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a4efc92900514fdf0c8123bc744eebbde"> 56</a></span><span class="keyword">static</span> uint32_t <a class="code hl_variable" href="xc__drv__pwm_8c.html#a4efc92900514fdf0c8123bc744eebbde">pwm_clk_init_state</a> = <a class="code hl_enumvalue" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca36e8e2958c7f6a4505cb8e8782717530">STATE_UNINITIALIZED</a>;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="keyword">static</span> uint16_t <a class="code hl_function" href="xc__drv__pwm_8c.html#a414d88b6a50103aba1463d41056bfef4">pwm_freq_to_period</a>(<a class="code hl_struct" href="struct_p_w_m___init_cfg__t.html">PWM_InitCfg_t</a> *pwm_cfg, <a class="code hl_enumeration" href="xc__drv__pwm_8h.html#a68477fc5bdd5a6e5d104eef6fd491856">PWM_ClkDiv_TypeDef</a> div_clk);</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#ac24a8310d12d77b897ec6fccf423cea2"> 60</a></span><span class="keywordtype">double</span> <a class="code hl_variable" href="xc__drv__pwm_8c.html#ac24a8310d12d77b897ec6fccf423cea2">period</a>;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment">/*------------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment"> Func Prototype</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="comment"> -------------------------------------------------------------------------------------*/</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="comment">/*------------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment"> Functions</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment"> -------------------------------------------------------------------------------------*/</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a32c1ff6d46aa4bab536409f251f2c15f"> 69</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a32c1ff6d46aa4bab536409f251f2c15f">xc_pwm_init</a>(uint8_t reg_idx, <a class="code hl_struct" href="struct_p_w_m___init_cfg__t.html">PWM_InitCfg_t</a> *init_cfg)</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span>{</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="xc__drv__pwm_8c.html#a4efc92900514fdf0c8123bc744eebbde">pwm_clk_init_state</a> == <a class="code hl_enumvalue" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca36e8e2958c7f6a4505cb8e8782717530">STATE_UNINITIALIZED</a>) {</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> cpr_ctlapbclken_grctl__pwm_pclk_en__setf(ENABLE);</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> cpr_rstctl_ctlapb_sw__pwm_rstn__setf(RSTCTL_ENABLE);</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> cpr_rstctl_ctlapb_sw__pwm_rstn__setf(RSTCTL_DISABLE);</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> cpr_pwm_clk_ctl__pwm_clk_en__setf(ENABLE);</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> cpr_pwm_clk_ctl__pwm_clksel__setf(init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a71f53415185acd2e2828f74aba29bc23">SrcClk</a>);</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> cpr_pwm_clk_ctl__pwm_clk0_div__setf(init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a721f09b6232fc4ab9f49ac676c229924">DivClk</a>);</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> cpr_pwm_clk_ctl__pwm_clk1_div__setf(init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a721f09b6232fc4ab9f49ac676c229924">DivClk</a>);</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> <a class="code hl_variable" href="xc__drv__pwm_8c.html#a4efc92900514fdf0c8123bc744eebbde">pwm_clk_init_state</a> = <a class="code hl_enumvalue" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca033f1b9c62140635eb6f0e3035a72c34">STATE_INITIALIZED</a>;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> }</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#af510a600ce9f20ca8c6b7183404bea93">pwm_pin_set</a>(reg_idx, init_cfg);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> pwm_en__en__setf(reg_idx, DISABLE);</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> pwm_en__en_sel__setf(reg_idx, init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a1c6bca70cad6a158717b162583fcd72c">SrcEnable</a>);</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a482c871f324af4f9b76354e32d7adc17">xc_pwm_dutycycle_set</a>(reg_idx, init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a7ef4f085b946fdd993029ed30eff05bc">DutyCycleAcc</a>, init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a762a4d954f3ccee6017e31fe902fb1c1">DutyCycle</a>);</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> pwm_period__period__setf(reg_idx, <a class="code hl_function" href="xc__drv__pwm_8c.html#a414d88b6a50103aba1463d41056bfef4">pwm_freq_to_period</a>(init_cfg, <a class="code hl_enumvalue" href="xc__drv__pwm_8h.html#a68477fc5bdd5a6e5d104eef6fd491856a181c45e02419b3aa69ab1c161de73760">PWM_CLK_DIV0</a>));</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> pwm_compen__pwmcompen__setf(reg_idx, init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a7360fa5b9e61893c8816f9a2d407e973">InvertEnable</a>);</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> pwm_comptime__comptime__setf(reg_idx, init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a6015c6de956786799c63135ce38a8e18">InvertDelay</a>);</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 class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#ab81a69e77314f18bdd8cc51352897440"> 100</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#ab81a69e77314f18bdd8cc51352897440">xc_pwm_start</a>(uint8_t reg_idx) { pwm_en__en__setf(reg_idx, PWM_EN_ENABLE); }</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"><a class="line" href="xc__drv__pwm_8c.html#a512586d66640a98fb188943b21219eaf"> 102</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a512586d66640a98fb188943b21219eaf">xc_pwm_stop</a>(uint8_t reg_idx) { pwm_en__en__setf(reg_idx, PWM_EN_DISABLE); }</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#add7812703c1432577b998a6fc6ef0bc4"> 104</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#add7812703c1432577b998a6fc6ef0bc4">pwm_src_enable_set</a>(uint8_t reg_idx, uint8_t src_enable) { pwm_en__en_sel__setf(reg_idx, src_enable); }</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a56a464850a94a04266fe4d2e1575ac5f"> 106</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a56a464850a94a04266fe4d2e1575ac5f">xc_pwm_start_all</a>(<span class="keywordtype">void</span>) { pwm_en__pwm_en_all__setf(PWM0_IDX, PWM_EN_ALL_ENABLE); }</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a1173ed41d6951c918a94551e8e4d2b4d"> 108</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a1173ed41d6951c918a94551e8e4d2b4d">xc_pwm_stop_all</a>(<span class="keywordtype">void</span>) { pwm_en__pwm_en_all__setf(PWM0_IDX, PWM_EN_ALL_DISABLE); }</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#af510a600ce9f20ca8c6b7183404bea93"> 110</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#af510a600ce9f20ca8c6b7183404bea93">pwm_pin_set</a>(uint8_t reg_idx, <a class="code hl_struct" href="struct_p_w_m___init_cfg__t.html">PWM_InitCfg_t</a> *pwm_cfg)</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span>{</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <a class="code hl_struct" href="struct_g_p_i_o___init_cfg__t.html">GPIO_InitCfg_t</a> gpio_cfg;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">if</span>(pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#abf675f615a2610470ae66ef195b6a0d7">OutputPin</a>==<a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7af3ddb0db315daeab49b75dbca06ba6e5">GPIO_11</a>||pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#abf675f615a2610470ae66ef195b6a0d7">OutputPin</a>==<a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a9c0d0164730f9f641db357f5781643d0">GPIO_12</a>||pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#abf675f615a2610470ae66ef195b6a0d7">OutputPin</a>==<a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7ad3c7eb7127bc6e6c1ecc8216c518c60b">GPIO_13</a>){</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a5931c94db88e45b4a0e32af51d2c85a9">Mux</a> = <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#aba37a29e046dc4c103dcb2eccadccd78a7e3b6b6f3d47aed74533a459bb484b8d">GPIO_Mux1</a>;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> }<span class="keywordflow">else</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> {</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a5931c94db88e45b4a0e32af51d2c85a9">Mux</a> = <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#aba37a29e046dc4c103dcb2eccadccd78a7416170ede1de3747720490e1d03bbf5">GPIO_Mux0</a>;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> }</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a2af3f6b3bc168a6dc8591fef7bd1f65c">Dir</a> = <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#a69f7da2b01cd898cac146651e91b782da2faef38751d4761242d11663f4cf75e5">GPIO_DIR_OUTPUT</a>;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a44591632885d52c8b71e33cd107cf637">Pull</a> = <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#aa5bccad3b28443ba256dcca862fcea74a54d3458b8a69bc77fc3f19e0dfdabd19">GPIO_PULLDOWN</a>;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a8057b6cd8582f8268bc7e56c61f1971e">Int</a> = <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#ab0875dd9c25e9c78b17bfeb4a9051f2da2e9ab53d97f2ecf12ec40c9aec9a7946">NOT_INT</a>;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a38b1073a17d7b10e6c87f0d97c0e8ab6">Pin</a> = pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#abf675f615a2610470ae66ef195b6a0d7">OutputPin</a>;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (reg_idx == PWM0_IDX || reg_idx == PWM1_IDX) {</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a35d8518affc03594e7fac538d649c29b">FunSel</a> = (reg_idx == PWM0_IDX) ? <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#a7e310a2e788e106c2e2ab33d74b3533ba4969f4b49dd00aa89aa0b6b3a7cce0cc">PWM0</a> : <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#a7e310a2e788e106c2e2ab33d74b3533bacc6ab0fb66c5ba52524e32ea2ad0bd1a">PWM1</a>;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <a class="code hl_function" href="xc__drv__gpio_8c.html#a5b17e7c0f4d0cbc66e0cad223c5c0ac5">xc_gpio_init</a>(&amp;gpio_cfg);</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> (pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a7360fa5b9e61893c8816f9a2d407e973">InvertEnable</a>) {</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a35d8518affc03594e7fac538d649c29b">FunSel</a> = (reg_idx == PWM0_IDX) ? <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#a7e310a2e788e106c2e2ab33d74b3533ba5e6afee72e4b542d59d62ed9d5dabf6b">PWM0_INV</a> : <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#a7e310a2e788e106c2e2ab33d74b3533bafa721d1a4b0f9874716225f804756f33">PWM1_INV</a>;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a38b1073a17d7b10e6c87f0d97c0e8ab6">Pin</a> = pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a9a54cf3ec218e361867eca34e90b28cc">OutputInvertPin</a>;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <a class="code hl_function" href="xc__drv__gpio_8c.html#a5b17e7c0f4d0cbc66e0cad223c5c0ac5">xc_gpio_init</a>(&amp;gpio_cfg);</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> }</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (reg_idx == PWM2_IDX) {</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a5931c94db88e45b4a0e32af51d2c85a9">Mux</a> = <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#aba37a29e046dc4c103dcb2eccadccd78aa278d82a4ceab9c8f4fd867a23cf2397">GPIO_Mux3</a>;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#abf675f615a2610470ae66ef195b6a0d7">OutputPin</a> == <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a9c0d0164730f9f641db357f5781643d0">GPIO_12</a>) {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <a class="code hl_function" href="xc__drv__gpio_8c.html#a5b17e7c0f4d0cbc66e0cad223c5c0ac5">xc_gpio_init</a>(&amp;gpio_cfg);</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> }</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (reg_idx == PWM3_IDX) {</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a5931c94db88e45b4a0e32af51d2c85a9">Mux</a> = <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#aba37a29e046dc4c103dcb2eccadccd78aa278d82a4ceab9c8f4fd867a23cf2397">GPIO_Mux3</a>;</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">if</span> (pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#abf675f615a2610470ae66ef195b6a0d7">OutputPin</a> == <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7ad3c7eb7127bc6e6c1ecc8216c518c60b">GPIO_13</a>) {</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_function" href="xc__drv__gpio_8c.html#a5b17e7c0f4d0cbc66e0cad223c5c0ac5">xc_gpio_init</a>(&amp;gpio_cfg);</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> }</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (reg_idx == PWM4_IDX) {</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a5931c94db88e45b4a0e32af51d2c85a9">Mux</a> = <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#aba37a29e046dc4c103dcb2eccadccd78aad6b7945955ce9fd74ab819447b66392">GPIO_Mux2</a>;</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> (pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#abf675f615a2610470ae66ef195b6a0d7">OutputPin</a> == <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a086256647dcbd93f77f55f1da9bb443e">GPIO_0</a>) {</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <a class="code hl_function" href="xc__drv__gpio_8c.html#a5b17e7c0f4d0cbc66e0cad223c5c0ac5">xc_gpio_init</a>(&amp;gpio_cfg);</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> }</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (reg_idx == PWM5_IDX) {</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> gpio_cfg.<a class="code hl_variable" href="struct_g_p_i_o___init_cfg__t.html#a5931c94db88e45b4a0e32af51d2c85a9">Mux</a> = <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#aba37a29e046dc4c103dcb2eccadccd78aad6b7945955ce9fd74ab819447b66392">GPIO_Mux2</a>;</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span> (pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#abf675f615a2610470ae66ef195b6a0d7">OutputPin</a> == <a class="code hl_enumvalue" href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a8595f8d7a0ae611fb06e4b9c690295f3">GPIO_1</a>) {</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_function" href="xc__drv__gpio_8c.html#a5b17e7c0f4d0cbc66e0cad223c5c0ac5">xc_gpio_init</a>(&amp;gpio_cfg);</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> }</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> }</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> </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a414d88b6a50103aba1463d41056bfef4"> 157</a></span><span class="keyword">static</span> uint16_t <a class="code hl_function" href="xc__drv__pwm_8c.html#a414d88b6a50103aba1463d41056bfef4">pwm_freq_to_period</a>(<a class="code hl_struct" href="struct_p_w_m___init_cfg__t.html">PWM_InitCfg_t</a> *pwm_cfg, <a class="code hl_enumeration" href="xc__drv__pwm_8h.html#a68477fc5bdd5a6e5d104eef6fd491856">PWM_ClkDiv_TypeDef</a> div_clk)</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span>{</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> uint32_t pwm_clk;</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">switch</span> (pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a71f53415185acd2e2828f74aba29bc23">SrcClk</a>) {</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="xc__drv__pwm_8h.html#a27811488f2368cdfa1a815ffb71d5665a9d3f6d1a98b6b5f22535bd69623b3df9">PWM_CLK_SRC_32M_DIV</a>: {</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> pwm_clk = <a class="code hl_function" href="xc__drv__clock_8c.html#ab11baf83423e8e3eff8b08417310b9e8">xc_clock_hfclk_in_get</a>() / PWM_CLK_DIV_CAL(div_clk);</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> } <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="xc__drv__pwm_8h.html#a27811488f2368cdfa1a815ffb71d5665aaf33b8833b191af9370bb28ce1740b4d">PWM_CLK_SRC_32K_DIV</a>: {</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> pwm_clk = <a class="code hl_function" href="xc__drv__clock_8c.html#a692f347f3fcbe580774b64c4946c58b6">xc_clock_lfclk_in_get</a>() / PWM_CLK_DIV_CAL(div_clk);</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> <a class="code hl_enumvalue" href="xc__drv__pwm_8h.html#a27811488f2368cdfa1a815ffb71d5665a10f079c7867d6e829ea17f89c7c31b56">PWM_CLK_SRC_32K</a>: {</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> pwm_clk = <a class="code hl_enumvalue" href="xc__drv__clock_8h.html#a86da2f41001e5fd64589a5a74da3ba87a89356548228db04f31cadca88304cafe">CLOCK_LFCLK_IN_32K</a>;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> } <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">break</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> </div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> uint32_t freq_max = PWM_FREQ_MAX_CAL(pwm_clk, pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a7ef4f085b946fdd993029ed30eff05bc">DutyCycleAcc</a>);</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> uint32_t freq = PWM_FREQ_CAL(pwm_clk, pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#a7ef4f085b946fdd993029ed30eff05bc">DutyCycleAcc</a>, pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#af22a4d6d94f4d59b69eb48a562d82d86">Period</a>);</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">if</span> (freq &gt; freq_max) {</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> DEBUG(<span class="stringliteral">&quot;%s,line=%d,set freq=%d,The maximum configurable frequency %d hz &quot;</span></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="stringliteral">&quot;has been exceeded.\n&quot;</span>,</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> __func__, __LINE__, freq, freq_max);</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> DEBUG(<span class="stringliteral">&quot;%s,line=%d,set freq=%d,maximum configurable frequency %d hz\n&quot;</span>, __func__, __LINE__, freq, freq_max);</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> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">return</span> pwm_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___init_cfg__t.html#af22a4d6d94f4d59b69eb48a562d82d86">Period</a>;</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span>}</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a482c871f324af4f9b76354e32d7adc17"> 193</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a482c871f324af4f9b76354e32d7adc17">xc_pwm_dutycycle_set</a>(uint8_t reg_idx, uint32_t dutycycle_acc, uint32_t dutycycle)</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span>{</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> pwm_en__mode__setf(reg_idx, PWM_EN_MODE_ACC_65535);</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> </div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> pwm_ocpy__ocpy_ratio_config__setf(reg_idx, (dutycycle_acc - 1));</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> pwm_ocpy__ocpy_ratio__setf(reg_idx, dutycycle_acc - dutycycle);</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> </div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> pwm_up__update__setf(reg_idx, PWM_UP_UPDATE_ENABLE);</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</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"><a class="line" href="xc__drv__pwm_8c.html#ab730c449084186d24ba1f114f00c0713"> 204</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#ab730c449084186d24ba1f114f00c0713">xc_pwm_lowpower_enable</a>(uint8_t reg_idx) { pwm_en__sleep_en__setf(reg_idx, PWM_EN_SLEEP_EN_ENABLE); }</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a5a60845a596f4599278df91ccba6c876"> 206</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a5a60845a596f4599278df91ccba6c876">xc_pwm_lowpower_disable</a>(uint8_t reg_idx) { pwm_en__sleep_en__setf(reg_idx, PWM_EN_SLEEP_EN_DISABLE); }</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> </div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a6e1679747f174166d74c6896aecde230"> 208</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a6e1679747f174166d74c6896aecde230">xc_pwm_lowpower_countdirection_set</a>(uint8_t reg_idx, uint32_t direction)</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span>{</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> pwm_en__sleep_incr__setf(reg_idx, direction);</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span>}</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a391ebdd852d9ab920421de3243421f9a"> 213</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a391ebdd852d9ab920421de3243421f9a">xc_pwm_brake_enable</a>(uint8_t reg_idx)</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span>{</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> uint32_t val;</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> val = pwm_break_ctl__pwm_brk_enable__getf(PWM0_IDX);</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> </div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keywordflow">if</span> (reg_idx == PWM0_IDX || reg_idx == PWM1_IDX) {</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> val &amp;= ~(PWM_BRK0_ENABLE_ENABLE);</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> val |= (PWM_BRK0_ENABLE_ENABLE);</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (reg_idx == PWM2_IDX || reg_idx == PWM3_IDX) {</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> val &amp;= ~(PWM_BRK1_ENABLE_ENABLE);</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> val |= (PWM_BRK1_ENABLE_ENABLE);</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (reg_idx == PWM4_IDX || reg_idx == PWM5_IDX) {</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> val &amp;= ~(PWM_BRK2_ENABLE_ENABLE);</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> val |= (PWM_BRK2_ENABLE_ENABLE);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> }</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> </div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> pwm_break_ctl__pwm_brk_enable__setf(PWM0_IDX, val);</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span>}</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> </div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a4896a3e3ce2e06bfe7b8bae2a1961e11"> 233</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a4896a3e3ce2e06bfe7b8bae2a1961e11">xc_pwm_brake_disable</a>(uint8_t reg_idx)</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span>{</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> uint32_t val;</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> val = pwm_break_ctl__pwm_brk_enable__getf(PWM0_IDX);</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">if</span> (reg_idx == PWM0_IDX || reg_idx == PWM1_IDX) {</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> val &amp;= ~(PWM_BRK0_ENABLE_ENABLE);</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (reg_idx == PWM2_IDX || reg_idx == PWM3_IDX) {</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> val &amp;= ~(PWM_BRK1_ENABLE_ENABLE);</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (reg_idx == PWM4_IDX || reg_idx == PWM5_IDX) {</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> val &amp;= ~(PWM_BRK2_ENABLE_ENABLE);</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</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> pwm_break_ctl__pwm_brk_enable__setf(PWM0_IDX, val);</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span>}</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> </div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a0142004fcd2c910f290b61f58ae024e8"> 250</a></span>uint8_t <a class="code hl_function" href="xc__drv__pwm_8c.html#a0142004fcd2c910f290b61f58ae024e8">xc_pwm_brake_signal_valid_get</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> pwm_break_ctl__pwm_brk_sync__getf(PWM0_IDX); }</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"><a class="line" href="xc__drv__pwm_8c.html#a0258dd8e9577dba1fdb75a11fda41def"> 252</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a0258dd8e9577dba1fdb75a11fda41def">xc_pwm_brake_signal_mask_set</a>(uint32_t mask) { pwm_break_ctl__pwm_brk_mask__setf(PWM0_IDX, mask); }</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> </div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#aa47ef1209b0ad9b5ba84850a570f9a1f"> 254</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#aa47ef1209b0ad9b5ba84850a570f9a1f">xc_pwm_brake_signal_trigger_level_set</a>(uint32_t level) { pwm_break_ctl__pwm_brk_inv__setf(PWM0_IDX, level); }</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a07fb2b94a9665a6cd5fc484444a2f790"> 256</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a07fb2b94a9665a6cd5fc484444a2f790">xc_pwm_brake_recovery_mode_set</a>(uint32_t mode) { pwm_break_ctl__brk_mode__setf(PWM0_IDX, mode); }</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> </div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#aae046968acbfd5ffde1e79fa51651a25"> 258</a></span>uint8_t <a class="code hl_function" href="xc__drv__pwm_8c.html#aae046968acbfd5ffde1e79fa51651a25">xc_pwm_brake_recovery_mode_get</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> (pwm_break_ctl__brk_mode__getf(PWM0_IDX)); }</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> </div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a76a78ff51a13a897cc92117b87ef8b0e"> 260</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a76a78ff51a13a897cc92117b87ef8b0e">xc_pwm_brake_debounce_set</a>(uint32_t debounce, uint32_t step)</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span>{</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> pwm_break_ctl__brk_dbc_en__setf(PWM0_IDX, debounce);</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> pwm_break_ctl__brk_dbc_step__setf(PWM0_IDX, step);</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</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"><a class="line" href="xc__drv__pwm_8c.html#a432d944bcd67d6d965329fe1d398cd53"> 266</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a432d944bcd67d6d965329fe1d398cd53">xc_pwm_brake_clear</a>() { pwm_break_ctl__clear__setf(PWM0_IDX, PWM_BRK_BRK_CLEAR_EXIT); }</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> </div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a04657951e3180c2eed5aeeffeb19b885"> 268</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a04657951e3180c2eed5aeeffeb19b885">xc_pwm_capture_enable</a>(uint8_t ch) { cap_tim_ctl__capture_enable__setf(ch, PWM_CAPTURE_ENABLE); }</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#af4ee23a300f3b3abe25ad40ec49740d0"> 270</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#af4ee23a300f3b3abe25ad40ec49740d0">xc_pwm_capture_disable</a>(uint8_t ch) { cap_tim_ctl__capture_enable__setf(ch, PWM_CAPTURE_DISABLE); }</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"><a class="line" href="xc__drv__pwm_8c.html#a75faa6ddbd1401d1575386fa0871ab0d"> 272</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a75faa6ddbd1401d1575386fa0871ab0d">xc_pwm_capture_enable_it</a>(uint8_t ch)</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span>{</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">if</span> (ch == 0) {</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> pwm_cap_tim_int_en__capture_upd_0_en__setf(ENABLE);</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ch == 1) {</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> pwm_cap_tim_int_en__capture_upd_1_en__setf(ENABLE);</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ch == 2) {</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> pwm_cap_tim_int_en__capture_upd_2_en__setf(ENABLE);</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> }</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span>}</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> </div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a4d84971881e8d7dbf701b8dad8e88e58"> 283</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a4d84971881e8d7dbf701b8dad8e88e58">xc_pwm_capture_disable_it</a>(uint8_t ch)</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">if</span> (ch == PWM_IC_CH0) {</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> pwm_cap_tim_int_en__capture_upd_0_en__setf(DISABLE);</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ch == PWM_IC_CH1) {</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> pwm_cap_tim_int_en__capture_upd_1_en__setf(DISABLE);</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ch == PWM_IC_CH2) {</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> pwm_cap_tim_int_en__capture_upd_2_en__setf(DISABLE);</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> }</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span>}</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> </div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#ac6be8aca9e2c33f46c96ec5d95d70f7c"> 294</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#ac6be8aca9e2c33f46c96ec5d95d70f7c">xc_pwm_capture_signal_set</a>(uint8_t ch, uint32_t signal) { cap_tim_ctl__capture_sig_sel__setf(ch, signal); }</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> </div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a69015ef9a8b157ff23e7c5488cfdc59c"> 296</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a69015ef9a8b157ff23e7c5488cfdc59c">xc_pwm_capture_debounce_enable</a>(uint8_t ch, uint32_t step)</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span>{</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> cap_tim_ctl__dbc_en__setf(ch, PWM_CAPTURE_DBC_ENABLE);</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> cap_tim_ctl__dbc_step__setf(ch, step);</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span>}</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> </div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a2a585ae6853816524ee9b5587da9c139"> 303</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a2a585ae6853816524ee9b5587da9c139">xc_pwm_capture_debounce_disable</a>(uint8_t ch, uint32_t step)</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span>{</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> cap_tim_ctl__dbc_en__setf(ch, PWM_CAPTURE_DBC_DISABLE);</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> cap_tim_ctl__dbc_step__setf(ch, step);</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span>}</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> </div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#aabb0668ae29404563f522a329f57668f"> 310</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#aabb0668ae29404563f522a329f57668f">xc_pwm_capture_edge_set</a>(uint8_t ch, uint32_t edge) { cap_tim_ctl__capture_mode__setf(ch, edge); }</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> </div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a92bca58a586b7412a1cde9d6901074bd"> 312</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a92bca58a586b7412a1cde9d6901074bd">xc_pwm_capture_psc_set</a>(uint8_t ch, uint32_t psc) { cap_tim_ctl__capture_psc__setf(ch, psc); }</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"><a class="line" href="xc__drv__pwm_8c.html#ab957988cca0358201e44a97b4178931e"> 314</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#ab957988cca0358201e44a97b4178931e">xc_pwm_capture_counter_enable</a>(uint8_t ch)</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span>{</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> cap_tim_ctl__common_cnt_enable__setf(ch, PWM_CAPTURE_COMMON_CNT_ENABLE);</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span>}</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a8122020d5b262817d95406b9c002747a"> 319</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a8122020d5b262817d95406b9c002747a">xc_pwm_capture_counter_disable</a>(uint8_t ch)</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> cap_tim_ctl__common_cnt_enable__setf(ch, PWM_CAPTURE_COMMON_CNT_DISABLE);</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span>}</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> </div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#adde007ab6e9f7a616dc1e3a3ac2a7114"> 324</a></span>uint16_t <a class="code hl_function" href="xc__drv__pwm_8c.html#adde007ab6e9f7a616dc1e3a3ac2a7114">xc_pwm_capture_val_get</a>(uint8_t ch) { <span class="keywordflow">return</span> cap_tim_val__capture_value__getf(ch); }</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> </div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span><span class="comment">/*</span></div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span><span class="comment"> *-----------------------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span><span class="comment"> * PWM Timer</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="comment"> *-----------------------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span><span class="comment"> */</span></div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a621bb3289d095fba12d6f6d4c7fb337b"> 339</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a621bb3289d095fba12d6f6d4c7fb337b">xc_pwm_timer_init</a>(uint8_t reg_idx, <a class="code hl_struct" href="struct_p_w_m___timer___init_cfg__t.html">PWM_Timer_InitCfg_t</a> *init_cfg)</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span>{</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">if</span> (reg_idx &gt; PWM_TIMER5_IDX)</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> </div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="xc__drv__pwm_8c.html#a4efc92900514fdf0c8123bc744eebbde">pwm_clk_init_state</a> == <a class="code hl_enumvalue" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca36e8e2958c7f6a4505cb8e8782717530">STATE_UNINITIALIZED</a>) {</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> cpr_ctlapbclken_grctl__pwm_pclk_en__setf(ENABLE);</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> cpr_rstctl_ctlapb_sw__pwm_rstn__setf(RSTCTL_ENABLE);</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> cpr_rstctl_ctlapb_sw__pwm_rstn__setf(RSTCTL_DISABLE);</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> </div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> cpr_pwm_clk_ctl__pwm_clk_en__setf(ENABLE);</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> cpr_pwm_clk_ctl__pwm_clksel__setf(init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___timer___init_cfg__t.html#acc529354c638eacc37ece0da0553c43c">src_clk</a>);</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> cpr_pwm_clk_ctl__pwm_clk0_div__setf(init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___timer___init_cfg__t.html#a9a118c80a6d1aab64c50c69dd9713979">clk_div</a>);</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> cpr_pwm_clk_ctl__pwm_clk1_div__setf(init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___timer___init_cfg__t.html#a9a118c80a6d1aab64c50c69dd9713979">clk_div</a>);</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> </div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> <a class="code hl_variable" href="xc__drv__pwm_8c.html#a4efc92900514fdf0c8123bc744eebbde">pwm_clk_init_state</a> = <a class="code hl_enumvalue" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca033f1b9c62140635eb6f0e3035a72c34">STATE_INITIALIZED</a>;</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> }</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> uint32_t ctl_reg = (init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___timer___init_cfg__t.html#abc42786407a3af50aca3512d4db2623c">timer_mode</a> &lt;&lt; TIMER_MODE_POS) | (init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___timer___init_cfg__t.html#afddacd9a90c32f391f05d10d660332c7">timer_int_mask_en</a> &lt;&lt; TIMER_INT_MASK_POS) |</div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> (init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___timer___init_cfg__t.html#a7b322ebce42158bf284bb649d8cda7b2">timer_pwm_en</a> &lt;&lt; TIMER_PWM_POS) |</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> (init_cfg-&gt;<a class="code hl_variable" href="struct_p_w_m___timer___init_cfg__t.html#a80b2da2068049a1b6e4a12ec69930e66">timer_0to100_pwm_en</a> &lt;&lt; TIMER_ON10OPWM_EN_POS);</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> </div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> pwm_timer_controlreg_set(reg_idx, ctl_reg);</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span>}</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> </div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a9450d89811a6653469731ac991828f38"> 364</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a9450d89811a6653469731ac991828f38">xc_pwm_timer_deinit</a>(uint8_t reg_idx)</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span>{</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <a class="code hl_variable" href="xc__drv__pwm_8c.html#a4efc92900514fdf0c8123bc744eebbde">pwm_clk_init_state</a> = <a class="code hl_enumvalue" href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca36e8e2958c7f6a4505cb8e8782717530">STATE_UNINITIALIZED</a>;</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> cpr_ctlapbclken_grctl__pwm_pclk_en__setf(DISABLE);</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span>}</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> </div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#ad8ee4f16f25076c79344893407c679e3"> 378</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#ad8ee4f16f25076c79344893407c679e3">xc_pwm_timer_set_freq</a>(uint8_t reg_idx, uint32_t freq) { <a class="code hl_variable" href="xc__drv__pwm_8c.html#ac24a8310d12d77b897ec6fccf423cea2">period</a> = <a class="code hl_function" href="xc__drv__clock_8c.html#ab11baf83423e8e3eff8b08417310b9e8">xc_clock_hfclk_in_get</a>() / 2 / freq; }</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> </div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a13539172652884c43d0e62551975c451"> 380</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a13539172652884c43d0e62551975c451">xc_pwm_timer_set_dutycycle</a>(uint8_t reg_idx, <span class="keywordtype">double</span> dutycycle)</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span>{</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> uint16_t high_cnt = ((uint32_t)(<a class="code hl_variable" href="xc__drv__pwm_8c.html#ac24a8310d12d77b897ec6fccf423cea2">period</a> * dutycycle) / 100);</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> uint16_t low_cnt = (uint32_t)(<a class="code hl_variable" href="xc__drv__pwm_8c.html#ac24a8310d12d77b897ec6fccf423cea2">period</a> - high_cnt);</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> pwm_timer_loadcount__timer_lc__setf(reg_idx, low_cnt);</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> pwm_timer_loadcount2__timer_lc2__setf(reg_idx, high_cnt);</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span>}</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> </div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a460edfe7ab1d6aad47ded02bc2aa0df3"> 389</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a460edfe7ab1d6aad47ded02bc2aa0df3">xc_pwm_timer_set_high_cnt</a>(uint8_t reg_idx, uint16_t high_cnt)</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span>{</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> pwm_timer_loadcount2__timer_lc2__setf(reg_idx, high_cnt);</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span>}</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"><a class="line" href="xc__drv__pwm_8c.html#a50abe1111ec3ca3c1f5b54ee3dbf1dd4"> 394</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a50abe1111ec3ca3c1f5b54ee3dbf1dd4">xc_pwm_timer_set_low_cnt</a>(uint8_t reg_idx, uint16_t low_cnt)</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span>{</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> pwm_timer_loadcount__timer_lc__setf(reg_idx, low_cnt);</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span>}</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a848463517e1aa4e154a695f540df7601"> 406</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a848463517e1aa4e154a695f540df7601">xc_pwm_timer_start</a>(uint8_t reg_idx) { pwm_timer_controlreg__timer_en__setf(reg_idx, ENABLE); }</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> </div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#aeaad9e34e1ec7eb395ba2d7ee556fdc3"> 408</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#aeaad9e34e1ec7eb395ba2d7ee556fdc3">xc_pwm_timer_stop</a>(uint8_t reg_idx) { pwm_timer_controlreg__timer_en__setf(reg_idx, DISABLE); }</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> </div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span><span class="comment">/*-----------------------------------------------------------------------------------------------*/</span></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"><a class="line" href="xc__drv__pwm_8c.html#a02716860e4828ef280056c8b83b046a5"> 412</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a02716860e4828ef280056c8b83b046a5">PWM_Handler</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span>{</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> uint32_t cap_tim_int;</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> cap_tim_int = pwm_cap_tim_int_get();</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> pwm_cap_tim_int_set(cap_tim_int); <span class="comment">// clear inter</span></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> <span class="keywordflow">if</span> ((cap_tim_int &amp; PWM_CAPTURE_UPD0_EN_ENABLE) == PWM_CAPTURE_UPD0_EN_ENABLE) {</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a67587d8f796d5f464b99a72835f6090e">pwm_capture_ch0_callback</a>(NULL);</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> }</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">if</span> ((cap_tim_int &amp; PWM_CAPTURE_UPD1_EN_ENABLE) == PWM_CAPTURE_UPD1_EN_ENABLE) {</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a29dcf8c6a20263970caa1f3da659d62e">pwm_capture_ch1_callback</a>(NULL);</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">if</span> ((cap_tim_int &amp; PWM_CAPTURE_UPD2_EN_ENABLE) == PWM_CAPTURE_UPD2_EN_ENABLE) {</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <a class="code hl_function" href="xc__drv__pwm_8c.html#a6171846cd09de051ba24e32f0d0e7f59">pwm_capture_ch2_callback</a>(NULL);</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> }</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> </div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a67587d8f796d5f464b99a72835f6090e"> 431</a></span>__WEAK uint8_t <a class="code hl_function" href="xc__drv__pwm_8c.html#a67587d8f796d5f464b99a72835f6090e">pwm_capture_ch0_callback</a>(<span class="keywordtype">void</span> *context) { <span class="keywordflow">return</span> 0; }</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> </div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a29dcf8c6a20263970caa1f3da659d62e"> 433</a></span>__WEAK uint8_t <a class="code hl_function" href="xc__drv__pwm_8c.html#a29dcf8c6a20263970caa1f3da659d62e">pwm_capture_ch1_callback</a>(<span class="keywordtype">void</span> *context) { <span class="keywordflow">return</span> 0; }</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> </div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"><a class="line" href="xc__drv__pwm_8c.html#a6171846cd09de051ba24e32f0d0e7f59"> 435</a></span>__WEAK uint8_t <a class="code hl_function" href="xc__drv__pwm_8c.html#a6171846cd09de051ba24e32f0d0e7f59">pwm_capture_ch2_callback</a>(<span class="keywordtype">void</span> *context) { <span class="keywordflow">return</span> 0; }</div>
<div class="ttc" id="astruct_g_p_i_o___init_cfg__t_html"><div class="ttname"><a href="struct_g_p_i_o___init_cfg__t.html">GPIO_InitCfg_t</a></div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00153">xc_drv_gpio.h:154</a></div></div>
<div class="ttc" id="astruct_g_p_i_o___init_cfg__t_html_a2af3f6b3bc168a6dc8591fef7bd1f65c"><div class="ttname"><a href="struct_g_p_i_o___init_cfg__t.html#a2af3f6b3bc168a6dc8591fef7bd1f65c">GPIO_InitCfg_t::Dir</a></div><div class="ttdeci">GPIO_DIR_TypeDef Dir</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00158">xc_drv_gpio.h:158</a></div></div>
<div class="ttc" id="astruct_g_p_i_o___init_cfg__t_html_a35d8518affc03594e7fac538d649c29b"><div class="ttname"><a href="struct_g_p_i_o___init_cfg__t.html#a35d8518affc03594e7fac538d649c29b">GPIO_InitCfg_t::FunSel</a></div><div class="ttdeci">GPIO_FUN_SEL_TypeDef FunSel</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00157">xc_drv_gpio.h:157</a></div></div>
<div class="ttc" id="astruct_g_p_i_o___init_cfg__t_html_a38b1073a17d7b10e6c87f0d97c0e8ab6"><div class="ttname"><a href="struct_g_p_i_o___init_cfg__t.html#a38b1073a17d7b10e6c87f0d97c0e8ab6">GPIO_InitCfg_t::Pin</a></div><div class="ttdeci">uint16_t Pin</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00155">xc_drv_gpio.h:155</a></div></div>
<div class="ttc" id="astruct_g_p_i_o___init_cfg__t_html_a44591632885d52c8b71e33cd107cf637"><div class="ttname"><a href="struct_g_p_i_o___init_cfg__t.html#a44591632885d52c8b71e33cd107cf637">GPIO_InitCfg_t::Pull</a></div><div class="ttdeci">GPIO_PULL_TypeDef Pull</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00159">xc_drv_gpio.h:159</a></div></div>
<div class="ttc" id="astruct_g_p_i_o___init_cfg__t_html_a5931c94db88e45b4a0e32af51d2c85a9"><div class="ttname"><a href="struct_g_p_i_o___init_cfg__t.html#a5931c94db88e45b4a0e32af51d2c85a9">GPIO_InitCfg_t::Mux</a></div><div class="ttdeci">GPIO_MUX_TypeDef Mux</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00156">xc_drv_gpio.h:156</a></div></div>
<div class="ttc" id="astruct_g_p_i_o___init_cfg__t_html_a8057b6cd8582f8268bc7e56c61f1971e"><div class="ttname"><a href="struct_g_p_i_o___init_cfg__t.html#a8057b6cd8582f8268bc7e56c61f1971e">GPIO_InitCfg_t::Int</a></div><div class="ttdeci">GPIO_INT_TypeDef Int</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00160">xc_drv_gpio.h:160</a></div></div>
<div class="ttc" id="astruct_p_w_m___init_cfg__t_html"><div class="ttname"><a href="struct_p_w_m___init_cfg__t.html">PWM_InitCfg_t</a></div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00240">xc_drv_pwm.h:241</a></div></div>
<div class="ttc" id="astruct_p_w_m___init_cfg__t_html_a1c6bca70cad6a158717b162583fcd72c"><div class="ttname"><a href="struct_p_w_m___init_cfg__t.html#a1c6bca70cad6a158717b162583fcd72c">PWM_InitCfg_t::SrcEnable</a></div><div class="ttdeci">uint8_t SrcEnable</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00245">xc_drv_pwm.h:245</a></div></div>
<div class="ttc" id="astruct_p_w_m___init_cfg__t_html_a6015c6de956786799c63135ce38a8e18"><div class="ttname"><a href="struct_p_w_m___init_cfg__t.html#a6015c6de956786799c63135ce38a8e18">PWM_InitCfg_t::InvertDelay</a></div><div class="ttdeci">uint8_t InvertDelay</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00250">xc_drv_pwm.h:250</a></div></div>
<div class="ttc" id="astruct_p_w_m___init_cfg__t_html_a71f53415185acd2e2828f74aba29bc23"><div class="ttname"><a href="struct_p_w_m___init_cfg__t.html#a71f53415185acd2e2828f74aba29bc23">PWM_InitCfg_t::SrcClk</a></div><div class="ttdeci">PWM_ClkSrc_TypeDef SrcClk</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00242">xc_drv_pwm.h:242</a></div></div>
<div class="ttc" id="astruct_p_w_m___init_cfg__t_html_a721f09b6232fc4ab9f49ac676c229924"><div class="ttname"><a href="struct_p_w_m___init_cfg__t.html#a721f09b6232fc4ab9f49ac676c229924">PWM_InitCfg_t::DivClk</a></div><div class="ttdeci">uint8_t DivClk</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00247">xc_drv_pwm.h:247</a></div></div>
<div class="ttc" id="astruct_p_w_m___init_cfg__t_html_a7360fa5b9e61893c8816f9a2d407e973"><div class="ttname"><a href="struct_p_w_m___init_cfg__t.html#a7360fa5b9e61893c8816f9a2d407e973">PWM_InitCfg_t::InvertEnable</a></div><div class="ttdeci">bool InvertEnable</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00251">xc_drv_pwm.h:251</a></div></div>
<div class="ttc" id="astruct_p_w_m___init_cfg__t_html_a762a4d954f3ccee6017e31fe902fb1c1"><div class="ttname"><a href="struct_p_w_m___init_cfg__t.html#a762a4d954f3ccee6017e31fe902fb1c1">PWM_InitCfg_t::DutyCycle</a></div><div class="ttdeci">uint32_t DutyCycle</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00244">xc_drv_pwm.h:244</a></div></div>
<div class="ttc" id="astruct_p_w_m___init_cfg__t_html_a7ef4f085b946fdd993029ed30eff05bc"><div class="ttname"><a href="struct_p_w_m___init_cfg__t.html#a7ef4f085b946fdd993029ed30eff05bc">PWM_InitCfg_t::DutyCycleAcc</a></div><div class="ttdeci">uint32_t DutyCycleAcc</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00243">xc_drv_pwm.h:243</a></div></div>
<div class="ttc" id="astruct_p_w_m___init_cfg__t_html_a9a54cf3ec218e361867eca34e90b28cc"><div class="ttname"><a href="struct_p_w_m___init_cfg__t.html#a9a54cf3ec218e361867eca34e90b28cc">PWM_InitCfg_t::OutputInvertPin</a></div><div class="ttdeci">uint8_t OutputInvertPin</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00249">xc_drv_pwm.h:249</a></div></div>
<div class="ttc" id="astruct_p_w_m___init_cfg__t_html_abf675f615a2610470ae66ef195b6a0d7"><div class="ttname"><a href="struct_p_w_m___init_cfg__t.html#abf675f615a2610470ae66ef195b6a0d7">PWM_InitCfg_t::OutputPin</a></div><div class="ttdeci">uint8_t OutputPin</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00248">xc_drv_pwm.h:248</a></div></div>
<div class="ttc" id="astruct_p_w_m___init_cfg__t_html_af22a4d6d94f4d59b69eb48a562d82d86"><div class="ttname"><a href="struct_p_w_m___init_cfg__t.html#af22a4d6d94f4d59b69eb48a562d82d86">PWM_InitCfg_t::Period</a></div><div class="ttdeci">uint8_t Period</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00246">xc_drv_pwm.h:246</a></div></div>
<div class="ttc" id="astruct_p_w_m___timer___init_cfg__t_html"><div class="ttname"><a href="struct_p_w_m___timer___init_cfg__t.html">PWM_Timer_InitCfg_t</a></div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00255">xc_drv_pwm.h:256</a></div></div>
<div class="ttc" id="astruct_p_w_m___timer___init_cfg__t_html_a7b322ebce42158bf284bb649d8cda7b2"><div class="ttname"><a href="struct_p_w_m___timer___init_cfg__t.html#a7b322ebce42158bf284bb649d8cda7b2">PWM_Timer_InitCfg_t::timer_pwm_en</a></div><div class="ttdeci">uint8_t timer_pwm_en</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00260">xc_drv_pwm.h:260</a></div></div>
<div class="ttc" id="astruct_p_w_m___timer___init_cfg__t_html_a80b2da2068049a1b6e4a12ec69930e66"><div class="ttname"><a href="struct_p_w_m___timer___init_cfg__t.html#a80b2da2068049a1b6e4a12ec69930e66">PWM_Timer_InitCfg_t::timer_0to100_pwm_en</a></div><div class="ttdeci">uint8_t timer_0to100_pwm_en</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00259">xc_drv_pwm.h:259</a></div></div>
<div class="ttc" id="astruct_p_w_m___timer___init_cfg__t_html_a9a118c80a6d1aab64c50c69dd9713979"><div class="ttname"><a href="struct_p_w_m___timer___init_cfg__t.html#a9a118c80a6d1aab64c50c69dd9713979">PWM_Timer_InitCfg_t::clk_div</a></div><div class="ttdeci">PWM_ClkDiv_TypeDef clk_div</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00258">xc_drv_pwm.h:258</a></div></div>
<div class="ttc" id="astruct_p_w_m___timer___init_cfg__t_html_abc42786407a3af50aca3512d4db2623c"><div class="ttname"><a href="struct_p_w_m___timer___init_cfg__t.html#abc42786407a3af50aca3512d4db2623c">PWM_Timer_InitCfg_t::timer_mode</a></div><div class="ttdeci">uint8_t timer_mode</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00262">xc_drv_pwm.h:262</a></div></div>
<div class="ttc" id="astruct_p_w_m___timer___init_cfg__t_html_acc529354c638eacc37ece0da0553c43c"><div class="ttname"><a href="struct_p_w_m___timer___init_cfg__t.html#acc529354c638eacc37ece0da0553c43c">PWM_Timer_InitCfg_t::src_clk</a></div><div class="ttdeci">PWM_ClkSrc_TypeDef src_clk</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00257">xc_drv_pwm.h:257</a></div></div>
<div class="ttc" id="astruct_p_w_m___timer___init_cfg__t_html_afddacd9a90c32f391f05d10d660332c7"><div class="ttname"><a href="struct_p_w_m___timer___init_cfg__t.html#afddacd9a90c32f391f05d10d660332c7">PWM_Timer_InitCfg_t::timer_int_mask_en</a></div><div class="ttdeci">uint8_t timer_int_mask_en</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00261">xc_drv_pwm.h:261</a></div></div>
<div class="ttc" id="axc__drv__clock_8c_html_a692f347f3fcbe580774b64c4946c58b6"><div class="ttname"><a href="xc__drv__clock_8c.html#a692f347f3fcbe580774b64c4946c58b6">xc_clock_lfclk_in_get</a></div><div class="ttdeci">CLOCK_LFCLK_In_Typedef xc_clock_lfclk_in_get(void)</div><div class="ttdoc">xc_clock_lfclk_in_get</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__clock_8c_source.html#l00485">xc_drv_clock.c:485</a></div></div>
<div class="ttc" id="axc__drv__clock_8c_html_ab11baf83423e8e3eff8b08417310b9e8"><div class="ttname"><a href="xc__drv__clock_8c.html#ab11baf83423e8e3eff8b08417310b9e8">xc_clock_hfclk_in_get</a></div><div class="ttdeci">CLOCK_HFCLK_In_Typedef xc_clock_hfclk_in_get(void)</div><div class="ttdoc">xc_clock_hfclk_in_get</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__clock_8c_source.html#l00474">xc_drv_clock.c:474</a></div></div>
<div class="ttc" id="axc__drv__clock_8h_html_a86da2f41001e5fd64589a5a74da3ba87a89356548228db04f31cadca88304cafe"><div class="ttname"><a href="xc__drv__clock_8h.html#a86da2f41001e5fd64589a5a74da3ba87a89356548228db04f31cadca88304cafe">CLOCK_LFCLK_IN_32K</a></div><div class="ttdeci">@ CLOCK_LFCLK_IN_32K</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__clock_8h_source.html#l00055">xc_drv_clock.h:55</a></div></div>
<div class="ttc" id="axc__drv__gpio_8c_html_a5b17e7c0f4d0cbc66e0cad223c5c0ac5"><div class="ttname"><a href="xc__drv__gpio_8c.html#a5b17e7c0f4d0cbc66e0cad223c5c0ac5">xc_gpio_init</a></div><div class="ttdeci">void xc_gpio_init(GPIO_InitCfg_t *init_cfg)</div><div class="ttdoc">xc_gpio_init</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8c_source.html#l00063">xc_drv_gpio.c:63</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html"><div class="ttname"><a href="xc__drv__gpio_8h.html">xc_drv_gpio.h</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_a69f7da2b01cd898cac146651e91b782da2faef38751d4761242d11663f4cf75e5"><div class="ttname"><a href="xc__drv__gpio_8h.html#a69f7da2b01cd898cac146651e91b782da2faef38751d4761242d11663f4cf75e5">GPIO_DIR_OUTPUT</a></div><div class="ttdeci">@ GPIO_DIR_OUTPUT</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00137">xc_drv_gpio.h:136</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_a7e310a2e788e106c2e2ab33d74b3533ba4969f4b49dd00aa89aa0b6b3a7cce0cc"><div class="ttname"><a href="xc__drv__gpio_8h.html#a7e310a2e788e106c2e2ab33d74b3533ba4969f4b49dd00aa89aa0b6b3a7cce0cc">PWM0</a></div><div class="ttdeci">@ PWM0</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00116">xc_drv_gpio.h:116</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_a7e310a2e788e106c2e2ab33d74b3533ba5e6afee72e4b542d59d62ed9d5dabf6b"><div class="ttname"><a href="xc__drv__gpio_8h.html#a7e310a2e788e106c2e2ab33d74b3533ba5e6afee72e4b542d59d62ed9d5dabf6b">PWM0_INV</a></div><div class="ttdeci">@ PWM0_INV</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00122">xc_drv_gpio.h:122</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_a7e310a2e788e106c2e2ab33d74b3533bacc6ab0fb66c5ba52524e32ea2ad0bd1a"><div class="ttname"><a href="xc__drv__gpio_8h.html#a7e310a2e788e106c2e2ab33d74b3533bacc6ab0fb66c5ba52524e32ea2ad0bd1a">PWM1</a></div><div class="ttdeci">@ PWM1</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00117">xc_drv_gpio.h:117</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_a7e310a2e788e106c2e2ab33d74b3533bafa721d1a4b0f9874716225f804756f33"><div class="ttname"><a href="xc__drv__gpio_8h.html#a7e310a2e788e106c2e2ab33d74b3533bafa721d1a4b0f9874716225f804756f33">PWM1_INV</a></div><div class="ttdeci">@ PWM1_INV</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00123">xc_drv_gpio.h:123</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_aa5bccad3b28443ba256dcca862fcea74a54d3458b8a69bc77fc3f19e0dfdabd19"><div class="ttname"><a href="xc__drv__gpio_8h.html#aa5bccad3b28443ba256dcca862fcea74a54d3458b8a69bc77fc3f19e0dfdabd19">GPIO_PULLDOWN</a></div><div class="ttdeci">@ GPIO_PULLDOWN</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00129">xc_drv_gpio.h:129</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_ab0875dd9c25e9c78b17bfeb4a9051f2da2e9ab53d97f2ecf12ec40c9aec9a7946"><div class="ttname"><a href="xc__drv__gpio_8h.html#ab0875dd9c25e9c78b17bfeb4a9051f2da2e9ab53d97f2ecf12ec40c9aec9a7946">NOT_INT</a></div><div class="ttdeci">@ NOT_INT</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00141">xc_drv_gpio.h:141</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_aba37a29e046dc4c103dcb2eccadccd78a7416170ede1de3747720490e1d03bbf5"><div class="ttname"><a href="xc__drv__gpio_8h.html#aba37a29e046dc4c103dcb2eccadccd78a7416170ede1de3747720490e1d03bbf5">GPIO_Mux0</a></div><div class="ttdeci">@ GPIO_Mux0</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00096">xc_drv_gpio.h:96</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_aba37a29e046dc4c103dcb2eccadccd78a7e3b6b6f3d47aed74533a459bb484b8d"><div class="ttname"><a href="xc__drv__gpio_8h.html#aba37a29e046dc4c103dcb2eccadccd78a7e3b6b6f3d47aed74533a459bb484b8d">GPIO_Mux1</a></div><div class="ttdeci">@ GPIO_Mux1</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00097">xc_drv_gpio.h:97</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_aba37a29e046dc4c103dcb2eccadccd78aa278d82a4ceab9c8f4fd867a23cf2397"><div class="ttname"><a href="xc__drv__gpio_8h.html#aba37a29e046dc4c103dcb2eccadccd78aa278d82a4ceab9c8f4fd867a23cf2397">GPIO_Mux3</a></div><div class="ttdeci">@ GPIO_Mux3</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00100">xc_drv_gpio.h:99</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_aba37a29e046dc4c103dcb2eccadccd78aad6b7945955ce9fd74ab819447b66392"><div class="ttname"><a href="xc__drv__gpio_8h.html#aba37a29e046dc4c103dcb2eccadccd78aad6b7945955ce9fd74ab819447b66392">GPIO_Mux2</a></div><div class="ttdeci">@ GPIO_Mux2</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00098">xc_drv_gpio.h:98</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_adf764cbdea00d65edcd07bb9953ad2b7a086256647dcbd93f77f55f1da9bb443e"><div class="ttname"><a href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a086256647dcbd93f77f55f1da9bb443e">GPIO_0</a></div><div class="ttdeci">@ GPIO_0</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00050">xc_drv_gpio.h:50</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_adf764cbdea00d65edcd07bb9953ad2b7a8595f8d7a0ae611fb06e4b9c690295f3"><div class="ttname"><a href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a8595f8d7a0ae611fb06e4b9c690295f3">GPIO_1</a></div><div class="ttdeci">@ GPIO_1</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00051">xc_drv_gpio.h:51</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_adf764cbdea00d65edcd07bb9953ad2b7a9c0d0164730f9f641db357f5781643d0"><div class="ttname"><a href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a9c0d0164730f9f641db357f5781643d0">GPIO_12</a></div><div class="ttdeci">@ GPIO_12</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00062">xc_drv_gpio.h:62</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_adf764cbdea00d65edcd07bb9953ad2b7ad3c7eb7127bc6e6c1ecc8216c518c60b"><div class="ttname"><a href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7ad3c7eb7127bc6e6c1ecc8216c518c60b">GPIO_13</a></div><div class="ttdeci">@ GPIO_13</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00063">xc_drv_gpio.h:63</a></div></div>
<div class="ttc" id="axc__drv__gpio_8h_html_adf764cbdea00d65edcd07bb9953ad2b7af3ddb0db315daeab49b75dbca06ba6e5"><div class="ttname"><a href="xc__drv__gpio_8h.html#adf764cbdea00d65edcd07bb9953ad2b7af3ddb0db315daeab49b75dbca06ba6e5">GPIO_11</a></div><div class="ttdeci">@ GPIO_11</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__gpio_8h_source.html#l00061">xc_drv_gpio.h:61</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a0142004fcd2c910f290b61f58ae024e8"><div class="ttname"><a href="xc__drv__pwm_8c.html#a0142004fcd2c910f290b61f58ae024e8">xc_pwm_brake_signal_valid_get</a></div><div class="ttdeci">uint8_t xc_pwm_brake_signal_valid_get(void)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00250">xc_drv_pwm.c:250</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a0258dd8e9577dba1fdb75a11fda41def"><div class="ttname"><a href="xc__drv__pwm_8c.html#a0258dd8e9577dba1fdb75a11fda41def">xc_pwm_brake_signal_mask_set</a></div><div class="ttdeci">void xc_pwm_brake_signal_mask_set(uint32_t mask)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00252">xc_drv_pwm.c:252</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a02716860e4828ef280056c8b83b046a5"><div class="ttname"><a href="xc__drv__pwm_8c.html#a02716860e4828ef280056c8b83b046a5">PWM_Handler</a></div><div class="ttdeci">void PWM_Handler(void)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00412">xc_drv_pwm.c:412</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a04657951e3180c2eed5aeeffeb19b885"><div class="ttname"><a href="xc__drv__pwm_8c.html#a04657951e3180c2eed5aeeffeb19b885">xc_pwm_capture_enable</a></div><div class="ttdeci">void xc_pwm_capture_enable(uint8_t ch)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00268">xc_drv_pwm.c:268</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a07fb2b94a9665a6cd5fc484444a2f790"><div class="ttname"><a href="xc__drv__pwm_8c.html#a07fb2b94a9665a6cd5fc484444a2f790">xc_pwm_brake_recovery_mode_set</a></div><div class="ttdeci">void xc_pwm_brake_recovery_mode_set(uint32_t mode)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00256">xc_drv_pwm.c:256</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a09b4a518ca1044a1c10db7da54d7d289"><div class="ttname"><a href="xc__drv__pwm_8c.html#a09b4a518ca1044a1c10db7da54d7d289">pwm_n_callback</a></div><div class="ttdeci">pwm_handler_callback pwm_n_callback[3]</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00047">xc_drv_pwm.c:47</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a1173ed41d6951c918a94551e8e4d2b4d"><div class="ttname"><a href="xc__drv__pwm_8c.html#a1173ed41d6951c918a94551e8e4d2b4d">xc_pwm_stop_all</a></div><div class="ttdeci">void xc_pwm_stop_all(void)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00108">xc_drv_pwm.c:108</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a13539172652884c43d0e62551975c451"><div class="ttname"><a href="xc__drv__pwm_8c.html#a13539172652884c43d0e62551975c451">xc_pwm_timer_set_dutycycle</a></div><div class="ttdeci">void xc_pwm_timer_set_dutycycle(uint8_t reg_idx, double dutycycle)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00380">xc_drv_pwm.c:380</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a29dcf8c6a20263970caa1f3da659d62e"><div class="ttname"><a href="xc__drv__pwm_8c.html#a29dcf8c6a20263970caa1f3da659d62e">pwm_capture_ch1_callback</a></div><div class="ttdeci">__WEAK uint8_t pwm_capture_ch1_callback(void *context)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00433">xc_drv_pwm.c:433</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a2a585ae6853816524ee9b5587da9c139"><div class="ttname"><a href="xc__drv__pwm_8c.html#a2a585ae6853816524ee9b5587da9c139">xc_pwm_capture_debounce_disable</a></div><div class="ttdeci">void xc_pwm_capture_debounce_disable(uint8_t ch, uint32_t step)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00303">xc_drv_pwm.c:303</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a32c1ff6d46aa4bab536409f251f2c15f"><div class="ttname"><a href="xc__drv__pwm_8c.html#a32c1ff6d46aa4bab536409f251f2c15f">xc_pwm_init</a></div><div class="ttdeci">void xc_pwm_init(uint8_t reg_idx, PWM_InitCfg_t *init_cfg)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00069">xc_drv_pwm.c:69</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a391ebdd852d9ab920421de3243421f9a"><div class="ttname"><a href="xc__drv__pwm_8c.html#a391ebdd852d9ab920421de3243421f9a">xc_pwm_brake_enable</a></div><div class="ttdeci">void xc_pwm_brake_enable(uint8_t reg_idx)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00213">xc_drv_pwm.c:213</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a414d88b6a50103aba1463d41056bfef4"><div class="ttname"><a href="xc__drv__pwm_8c.html#a414d88b6a50103aba1463d41056bfef4">pwm_freq_to_period</a></div><div class="ttdeci">static uint16_t pwm_freq_to_period(PWM_InitCfg_t *pwm_cfg, PWM_ClkDiv_TypeDef div_clk)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00157">xc_drv_pwm.c:157</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a432d944bcd67d6d965329fe1d398cd53"><div class="ttname"><a href="xc__drv__pwm_8c.html#a432d944bcd67d6d965329fe1d398cd53">xc_pwm_brake_clear</a></div><div class="ttdeci">void xc_pwm_brake_clear()</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00266">xc_drv_pwm.c:266</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a460edfe7ab1d6aad47ded02bc2aa0df3"><div class="ttname"><a href="xc__drv__pwm_8c.html#a460edfe7ab1d6aad47ded02bc2aa0df3">xc_pwm_timer_set_high_cnt</a></div><div class="ttdeci">void xc_pwm_timer_set_high_cnt(uint8_t reg_idx, uint16_t high_cnt)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00389">xc_drv_pwm.c:389</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a482c871f324af4f9b76354e32d7adc17"><div class="ttname"><a href="xc__drv__pwm_8c.html#a482c871f324af4f9b76354e32d7adc17">xc_pwm_dutycycle_set</a></div><div class="ttdeci">void xc_pwm_dutycycle_set(uint8_t reg_idx, uint32_t dutycycle_acc, uint32_t dutycycle)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00193">xc_drv_pwm.c:193</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a4896a3e3ce2e06bfe7b8bae2a1961e11"><div class="ttname"><a href="xc__drv__pwm_8c.html#a4896a3e3ce2e06bfe7b8bae2a1961e11">xc_pwm_brake_disable</a></div><div class="ttdeci">void xc_pwm_brake_disable(uint8_t reg_idx)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00233">xc_drv_pwm.c:233</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a4d84971881e8d7dbf701b8dad8e88e58"><div class="ttname"><a href="xc__drv__pwm_8c.html#a4d84971881e8d7dbf701b8dad8e88e58">xc_pwm_capture_disable_it</a></div><div class="ttdeci">void xc_pwm_capture_disable_it(uint8_t ch)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00283">xc_drv_pwm.c:283</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a4efc92900514fdf0c8123bc744eebbde"><div class="ttname"><a href="xc__drv__pwm_8c.html#a4efc92900514fdf0c8123bc744eebbde">pwm_clk_init_state</a></div><div class="ttdeci">static uint32_t pwm_clk_init_state</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00056">xc_drv_pwm.c:56</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a50abe1111ec3ca3c1f5b54ee3dbf1dd4"><div class="ttname"><a href="xc__drv__pwm_8c.html#a50abe1111ec3ca3c1f5b54ee3dbf1dd4">xc_pwm_timer_set_low_cnt</a></div><div class="ttdeci">void xc_pwm_timer_set_low_cnt(uint8_t reg_idx, uint16_t low_cnt)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00394">xc_drv_pwm.c:394</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a512586d66640a98fb188943b21219eaf"><div class="ttname"><a href="xc__drv__pwm_8c.html#a512586d66640a98fb188943b21219eaf">xc_pwm_stop</a></div><div class="ttdeci">void xc_pwm_stop(uint8_t reg_idx)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00102">xc_drv_pwm.c:102</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a56a464850a94a04266fe4d2e1575ac5f"><div class="ttname"><a href="xc__drv__pwm_8c.html#a56a464850a94a04266fe4d2e1575ac5f">xc_pwm_start_all</a></div><div class="ttdeci">void xc_pwm_start_all(void)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00106">xc_drv_pwm.c:106</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a59bfa3559b5b74a438a6281652f5a45c"><div class="ttname"><a href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45c">xincx_drv_state_t</a></div><div class="ttdeci">xincx_drv_state_t</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00041">xc_drv_pwm.c:42</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a59bfa3559b5b74a438a6281652f5a45ca033f1b9c62140635eb6f0e3035a72c34"><div class="ttname"><a href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca033f1b9c62140635eb6f0e3035a72c34">STATE_INITIALIZED</a></div><div class="ttdeci">@ STATE_INITIALIZED</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00044">xc_drv_pwm.c:44</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a59bfa3559b5b74a438a6281652f5a45ca36e8e2958c7f6a4505cb8e8782717530"><div class="ttname"><a href="xc__drv__pwm_8c.html#a59bfa3559b5b74a438a6281652f5a45ca36e8e2958c7f6a4505cb8e8782717530">STATE_UNINITIALIZED</a></div><div class="ttdeci">@ STATE_UNINITIALIZED</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00043">xc_drv_pwm.c:43</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a5a60845a596f4599278df91ccba6c876"><div class="ttname"><a href="xc__drv__pwm_8c.html#a5a60845a596f4599278df91ccba6c876">xc_pwm_lowpower_disable</a></div><div class="ttdeci">void xc_pwm_lowpower_disable(uint8_t reg_idx)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00206">xc_drv_pwm.c:206</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a6171846cd09de051ba24e32f0d0e7f59"><div class="ttname"><a href="xc__drv__pwm_8c.html#a6171846cd09de051ba24e32f0d0e7f59">pwm_capture_ch2_callback</a></div><div class="ttdeci">__WEAK uint8_t pwm_capture_ch2_callback(void *context)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00435">xc_drv_pwm.c:435</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a621bb3289d095fba12d6f6d4c7fb337b"><div class="ttname"><a href="xc__drv__pwm_8c.html#a621bb3289d095fba12d6f6d4c7fb337b">xc_pwm_timer_init</a></div><div class="ttdeci">void xc_pwm_timer_init(uint8_t reg_idx, PWM_Timer_InitCfg_t *init_cfg)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00339">xc_drv_pwm.c:339</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a67587d8f796d5f464b99a72835f6090e"><div class="ttname"><a href="xc__drv__pwm_8c.html#a67587d8f796d5f464b99a72835f6090e">pwm_capture_ch0_callback</a></div><div class="ttdeci">__WEAK uint8_t pwm_capture_ch0_callback(void *context)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00431">xc_drv_pwm.c:431</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a69015ef9a8b157ff23e7c5488cfdc59c"><div class="ttname"><a href="xc__drv__pwm_8c.html#a69015ef9a8b157ff23e7c5488cfdc59c">xc_pwm_capture_debounce_enable</a></div><div class="ttdeci">void xc_pwm_capture_debounce_enable(uint8_t ch, uint32_t step)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00296">xc_drv_pwm.c:296</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a6e1679747f174166d74c6896aecde230"><div class="ttname"><a href="xc__drv__pwm_8c.html#a6e1679747f174166d74c6896aecde230">xc_pwm_lowpower_countdirection_set</a></div><div class="ttdeci">void xc_pwm_lowpower_countdirection_set(uint8_t reg_idx, uint32_t direction)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00208">xc_drv_pwm.c:208</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a75faa6ddbd1401d1575386fa0871ab0d"><div class="ttname"><a href="xc__drv__pwm_8c.html#a75faa6ddbd1401d1575386fa0871ab0d">xc_pwm_capture_enable_it</a></div><div class="ttdeci">void xc_pwm_capture_enable_it(uint8_t ch)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00272">xc_drv_pwm.c:272</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a76a78ff51a13a897cc92117b87ef8b0e"><div class="ttname"><a href="xc__drv__pwm_8c.html#a76a78ff51a13a897cc92117b87ef8b0e">xc_pwm_brake_debounce_set</a></div><div class="ttdeci">void xc_pwm_brake_debounce_set(uint32_t debounce, uint32_t step)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00260">xc_drv_pwm.c:260</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a8122020d5b262817d95406b9c002747a"><div class="ttname"><a href="xc__drv__pwm_8c.html#a8122020d5b262817d95406b9c002747a">xc_pwm_capture_counter_disable</a></div><div class="ttdeci">void xc_pwm_capture_counter_disable(uint8_t ch)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00319">xc_drv_pwm.c:319</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a848463517e1aa4e154a695f540df7601"><div class="ttname"><a href="xc__drv__pwm_8c.html#a848463517e1aa4e154a695f540df7601">xc_pwm_timer_start</a></div><div class="ttdeci">void xc_pwm_timer_start(uint8_t reg_idx)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00406">xc_drv_pwm.c:406</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a92bca58a586b7412a1cde9d6901074bd"><div class="ttname"><a href="xc__drv__pwm_8c.html#a92bca58a586b7412a1cde9d6901074bd">xc_pwm_capture_psc_set</a></div><div class="ttdeci">void xc_pwm_capture_psc_set(uint8_t ch, uint32_t psc)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00312">xc_drv_pwm.c:312</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_a9450d89811a6653469731ac991828f38"><div class="ttname"><a href="xc__drv__pwm_8c.html#a9450d89811a6653469731ac991828f38">xc_pwm_timer_deinit</a></div><div class="ttdeci">void xc_pwm_timer_deinit(uint8_t reg_idx)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00364">xc_drv_pwm.c:364</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_aa47ef1209b0ad9b5ba84850a570f9a1f"><div class="ttname"><a href="xc__drv__pwm_8c.html#aa47ef1209b0ad9b5ba84850a570f9a1f">xc_pwm_brake_signal_trigger_level_set</a></div><div class="ttdeci">void xc_pwm_brake_signal_trigger_level_set(uint32_t level)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00254">xc_drv_pwm.c:254</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_aabb0668ae29404563f522a329f57668f"><div class="ttname"><a href="xc__drv__pwm_8c.html#aabb0668ae29404563f522a329f57668f">xc_pwm_capture_edge_set</a></div><div class="ttdeci">void xc_pwm_capture_edge_set(uint8_t ch, uint32_t edge)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00310">xc_drv_pwm.c:310</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_aae046968acbfd5ffde1e79fa51651a25"><div class="ttname"><a href="xc__drv__pwm_8c.html#aae046968acbfd5ffde1e79fa51651a25">xc_pwm_brake_recovery_mode_get</a></div><div class="ttdeci">uint8_t xc_pwm_brake_recovery_mode_get(void)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00258">xc_drv_pwm.c:258</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_ab730c449084186d24ba1f114f00c0713"><div class="ttname"><a href="xc__drv__pwm_8c.html#ab730c449084186d24ba1f114f00c0713">xc_pwm_lowpower_enable</a></div><div class="ttdeci">void xc_pwm_lowpower_enable(uint8_t reg_idx)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00204">xc_drv_pwm.c:204</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_ab81a69e77314f18bdd8cc51352897440"><div class="ttname"><a href="xc__drv__pwm_8c.html#ab81a69e77314f18bdd8cc51352897440">xc_pwm_start</a></div><div class="ttdeci">void xc_pwm_start(uint8_t reg_idx)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00100">xc_drv_pwm.c:100</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_ab957988cca0358201e44a97b4178931e"><div class="ttname"><a href="xc__drv__pwm_8c.html#ab957988cca0358201e44a97b4178931e">xc_pwm_capture_counter_enable</a></div><div class="ttdeci">void xc_pwm_capture_counter_enable(uint8_t ch)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00314">xc_drv_pwm.c:314</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_ac24a8310d12d77b897ec6fccf423cea2"><div class="ttname"><a href="xc__drv__pwm_8c.html#ac24a8310d12d77b897ec6fccf423cea2">period</a></div><div class="ttdeci">double period</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00060">xc_drv_pwm.c:60</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_ac6be8aca9e2c33f46c96ec5d95d70f7c"><div class="ttname"><a href="xc__drv__pwm_8c.html#ac6be8aca9e2c33f46c96ec5d95d70f7c">xc_pwm_capture_signal_set</a></div><div class="ttdeci">void xc_pwm_capture_signal_set(uint8_t ch, uint32_t signal)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00294">xc_drv_pwm.c:294</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_ad8ee4f16f25076c79344893407c679e3"><div class="ttname"><a href="xc__drv__pwm_8c.html#ad8ee4f16f25076c79344893407c679e3">xc_pwm_timer_set_freq</a></div><div class="ttdeci">void xc_pwm_timer_set_freq(uint8_t reg_idx, uint32_t freq)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00378">xc_drv_pwm.c:378</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_add7812703c1432577b998a6fc6ef0bc4"><div class="ttname"><a href="xc__drv__pwm_8c.html#add7812703c1432577b998a6fc6ef0bc4">pwm_src_enable_set</a></div><div class="ttdeci">void pwm_src_enable_set(uint8_t reg_idx, uint8_t src_enable)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00104">xc_drv_pwm.c:104</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_adde007ab6e9f7a616dc1e3a3ac2a7114"><div class="ttname"><a href="xc__drv__pwm_8c.html#adde007ab6e9f7a616dc1e3a3ac2a7114">xc_pwm_capture_val_get</a></div><div class="ttdeci">uint16_t xc_pwm_capture_val_get(uint8_t ch)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00324">xc_drv_pwm.c:324</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_aeaad9e34e1ec7eb395ba2d7ee556fdc3"><div class="ttname"><a href="xc__drv__pwm_8c.html#aeaad9e34e1ec7eb395ba2d7ee556fdc3">xc_pwm_timer_stop</a></div><div class="ttdeci">void xc_pwm_timer_stop(uint8_t reg_idx)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00408">xc_drv_pwm.c:408</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_af4ee23a300f3b3abe25ad40ec49740d0"><div class="ttname"><a href="xc__drv__pwm_8c.html#af4ee23a300f3b3abe25ad40ec49740d0">xc_pwm_capture_disable</a></div><div class="ttdeci">void xc_pwm_capture_disable(uint8_t ch)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00270">xc_drv_pwm.c:270</a></div></div>
<div class="ttc" id="axc__drv__pwm_8c_html_af510a600ce9f20ca8c6b7183404bea93"><div class="ttname"><a href="xc__drv__pwm_8c.html#af510a600ce9f20ca8c6b7183404bea93">pwm_pin_set</a></div><div class="ttdeci">void pwm_pin_set(uint8_t reg_idx, PWM_InitCfg_t *pwm_cfg)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8c_source.html#l00110">xc_drv_pwm.c:110</a></div></div>
<div class="ttc" id="axc__drv__pwm_8h_html"><div class="ttname"><a href="xc__drv__pwm_8h.html">xc_drv_pwm.h</a></div><div class="ttdoc">The header of xc_drv_pwm.c</div></div>
<div class="ttc" id="axc__drv__pwm_8h_html_a27811488f2368cdfa1a815ffb71d5665a10f079c7867d6e829ea17f89c7c31b56"><div class="ttname"><a href="xc__drv__pwm_8h.html#a27811488f2368cdfa1a815ffb71d5665a10f079c7867d6e829ea17f89c7c31b56">PWM_CLK_SRC_32K</a></div><div class="ttdeci">@ PWM_CLK_SRC_32K</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00212">xc_drv_pwm.h:212</a></div></div>
<div class="ttc" id="axc__drv__pwm_8h_html_a27811488f2368cdfa1a815ffb71d5665a9d3f6d1a98b6b5f22535bd69623b3df9"><div class="ttname"><a href="xc__drv__pwm_8h.html#a27811488f2368cdfa1a815ffb71d5665a9d3f6d1a98b6b5f22535bd69623b3df9">PWM_CLK_SRC_32M_DIV</a></div><div class="ttdeci">@ PWM_CLK_SRC_32M_DIV</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00210">xc_drv_pwm.h:210</a></div></div>
<div class="ttc" id="axc__drv__pwm_8h_html_a27811488f2368cdfa1a815ffb71d5665aaf33b8833b191af9370bb28ce1740b4d"><div class="ttname"><a href="xc__drv__pwm_8h.html#a27811488f2368cdfa1a815ffb71d5665aaf33b8833b191af9370bb28ce1740b4d">PWM_CLK_SRC_32K_DIV</a></div><div class="ttdeci">@ PWM_CLK_SRC_32K_DIV</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00211">xc_drv_pwm.h:211</a></div></div>
<div class="ttc" id="axc__drv__pwm_8h_html_a68477fc5bdd5a6e5d104eef6fd491856"><div class="ttname"><a href="xc__drv__pwm_8h.html#a68477fc5bdd5a6e5d104eef6fd491856">PWM_ClkDiv_TypeDef</a></div><div class="ttdeci">PWM_ClkDiv_TypeDef</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00215">xc_drv_pwm.h:216</a></div></div>
<div class="ttc" id="axc__drv__pwm_8h_html_a68477fc5bdd5a6e5d104eef6fd491856a181c45e02419b3aa69ab1c161de73760"><div class="ttname"><a href="xc__drv__pwm_8h.html#a68477fc5bdd5a6e5d104eef6fd491856a181c45e02419b3aa69ab1c161de73760">PWM_CLK_DIV0</a></div><div class="ttdeci">@ PWM_CLK_DIV0</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00217">xc_drv_pwm.h:217</a></div></div>
<div class="ttc" id="axc__drv__pwm_8h_html_aa01fcf64c7a2efa78929211479925d04"><div class="ttname"><a href="xc__drv__pwm_8h.html#aa01fcf64c7a2efa78929211479925d04">pwm_handler_callback</a></div><div class="ttdeci">uint8_t(* pwm_handler_callback)(void *context)</div><div class="ttdef"><b>Definition</b> <a href="xc__drv__pwm_8h_source.html#l00268">xc_drv_pwm.h:268</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>