Files
2016-08-09 18:06:35 +02:00

1071 lines
61 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Kinetis SDK v.2.0 API Reference Manual: DAC: Digital-to-Analog Converter Driver</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>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.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 style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Kinetis SDK v.2.0 API Reference Manual
&#160;<span id="projectnumber">Rev. 0</span>
</div>
<div id="projectbrief">Freescale Semiconductor, Inc.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>API&#160;Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__dac.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#files">Files</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">DAC: Digital-to-Analog Converter Driver</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The KSDK provides a peripheral driver for the Digital-to-Analog Converter (DAC) module of Kinetis devices.</p>
<p>#Overview</p>
<p>The DAC driver includes a basic DAC module (converter) and DAC buffer.</p>
<p>The basic DAC module supports operations unique to the DAC converter in each DAC instance. The APIs in this part are used in the initialization phase, which is necessary for enabling the DAC module in the application. The APIs enable/disable the clock, enable/disable the module, and configure the converter. Call the initial APIs to prepare the DAC module for the application.</p>
<p>The DAC buffer operates the DAC hardware buffer. The DAC module supports a hardware buffer to keep a group of DAC values to be converted. This feature supports updating the DAC output value automatically by triggering the buffer read pointer to move in the buffer. Use the APIs to configure the hardware buffer's trigger mode, watermark, work mode, and use size. Additionally, the APIs operate the DMA, interrupts, flags, the pointer (index of buffer), item values, and so on.</p>
<p>The DAC buffer plays a major part when using the DAC module, as the most functional features are designed for the DAC hardware buffer.</p>
<h1>Typical use case</h1>
<h2>Working as a basic DAC without the hardware buffer feature.</h2>
<div class="fragment"><div class="line"><span class="comment">// ...</span></div>
<div class="line"></div>
<div class="line"><span class="comment">// Configures the DAC.</span></div>
<div class="line"><a class="code" href="group__dac.html#ga18bbc1eedecdc090c14578740271db0e">DAC_GetDefaultConfig</a>(&amp;dacConfigStruct);</div>
<div class="line"><a class="code" href="group__dac.html#ga0331d8c8f699fac12c93a7796d961923">DAC_Init</a>(DEMO_DAC_INSTANCE, &amp;dacConfigStruct);</div>
<div class="line"><a class="code" href="group__dac.html#gaa5716743c53f64cc4064f27d92c91e2a">DAC_SetBufferReadPointer</a>(DEMO_DAC_INSTANCE, 0U);</div>
<div class="line"></div>
<div class="line"><span class="comment">// ...</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="group__dac.html#ga14a1c0caecddc89b462e9387392956df">DAC_SetBufferValue</a>(DEMO_DAC_INSTANCE, 0U, dacValue);</div>
</div><!-- fragment --><h2>Working with the hardware buffer.</h2>
<div class="fragment"><div class="line"> <span class="comment">// ...</span></div>
<div class="line"></div>
<div class="line"> EnableIRQ(DEMO_DAC_IRQ_ID);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// ...</span></div>
<div class="line"></div>
<div class="line"> <span class="comment">// Configures the DAC.</span></div>
<div class="line"> <a class="code" href="group__dac.html#ga18bbc1eedecdc090c14578740271db0e">DAC_GetDefaultConfig</a>(&amp;dacConfigStruct);</div>
<div class="line"> <a class="code" href="group__dac.html#ga0331d8c8f699fac12c93a7796d961923">DAC_Init</a>(DEMO_DAC_INSTANCE, &amp;dacConfigStruct);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Configures the DAC buffer.</span></div>
<div class="line"> <a class="code" href="group__dac.html#gadfcaccffddd058eebaa8135fe92e74cb">DAC_GetDefaultBufferConfig</a>(&amp;dacBufferConfigStruct);</div>
<div class="line"> <a class="code" href="group__dac.html#gab36195fbf4d2e0bb0771fc6c102c7688">DAC_SetBufferConfig</a>(DEMO_DAC_INSTANCE, &amp;dacBufferConfigStruct);</div>
<div class="line"> <a class="code" href="group__dac.html#gaa5716743c53f64cc4064f27d92c91e2a">DAC_SetBufferReadPointer</a>(DEMO_DAC_INSTANCE, 0U); <span class="comment">// Make sure the read pointer to the start.</span></div>
<div class="line"> <span class="keywordflow">for</span> (index = 0U, dacValue = 0; index &lt; DEMO_DAC_USED_BUFFER_SIZE; index++, dacValue += (0xFFFU / DEMO_DAC_USED_BUFFER_SIZE))</div>
<div class="line"> {</div>
<div class="line"> <a class="code" href="group__dac.html#ga14a1c0caecddc89b462e9387392956df">DAC_SetBufferValue</a>(DEMO_DAC_INSTANCE, index, dacValue);</div>
<div class="line"> }</div>
<div class="line"> <span class="comment">// Clears flags.</span></div>
<div class="line"><span class="preprocessor">#if defined(FSL_FEATURE_DAC_HAS_WATERMARK_DETECTION) &amp;&amp; FSL_FEATURE_DAC_HAS_WATERMARK_DETECTION</span></div>
<div class="line"><span class="preprocessor"></span> g_DacBufferWatermarkInterruptFlag = <span class="keyword">false</span>;</div>
<div class="line"><span class="preprocessor">#endif // FSL_FEATURE_DAC_HAS_WATERMARK_DETECTION</span></div>
<div class="line"><span class="preprocessor"></span> g_DacBufferReadPointerTopPositionInterruptFlag = <span class="keyword">false</span>;</div>
<div class="line"> g_DacBufferReadPointerBottomPositionInterruptFlag = <span class="keyword">false</span>;</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Enables interrupts.</span></div>
<div class="line"> mask = 0U;</div>
<div class="line"><span class="preprocessor">#if defined(FSL_FEATURE_DAC_HAS_WATERMARK_DETECTION) &amp;&amp; FSL_FEATURE_DAC_HAS_WATERMARK_DETECTION</span></div>
<div class="line"><span class="preprocessor"></span> mask |= kDAC_BufferWatermarkInterruptEnable;</div>
<div class="line"><span class="preprocessor">#endif // FSL_FEATURE_DAC_HAS_WATERMARK_DETECTION</span></div>
<div class="line"><span class="preprocessor"></span> mask |= <a class="code" href="group__dac.html#gga556c5ba2343e258c26f1b1af05a81e1aaf4cbf619f6230ab146b141f4b9d0771b">kDAC_BufferReadPointerTopInterruptEnable</a> | <a class="code" href="group__dac.html#gga556c5ba2343e258c26f1b1af05a81e1aa73a1fd0e6856d29fdb9863a7bd0e9cea">kDAC_BufferReadPointerBottomInterruptEnable</a>;</div>
<div class="line"> <a class="code" href="group__dac.html#gacece0d7102d1a94eaef40f4704d847bf">DAC_EnableBuffer</a>(DEMO_DAC_INSTANCE, <span class="keyword">true</span>);</div>
<div class="line"> <a class="code" href="group__dac.html#gae81f8ddb0f53db26bc23d19eef80fd3c">DAC_EnableBufferInterrupts</a>(DEMO_DAC_INSTANCE, mask);</div>
<div class="line"></div>
<div class="line"><span class="comment">// ISR for the DAC interrupt.</span></div>
<div class="line"><span class="keywordtype">void</span> DEMO_DAC_IRQ_HANDLER_FUNC(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> uint32_t flags = <a class="code" href="group__dac.html#ga537790196ef2e87021fa730228d46e96">DAC_GetBufferStatusFlags</a>(DEMO_DAC_INSTANCE);</div>
<div class="line"></div>
<div class="line"><span class="preprocessor">#if defined(FSL_FEATURE_DAC_HAS_WATERMARK_DETECTION) &amp;&amp; FSL_FEATURE_DAC_HAS_WATERMARK_DETECTION</span></div>
<div class="line"><span class="preprocessor"></span> <span class="keywordflow">if</span> (kDAC_BufferWatermarkFlag == (kDAC_BufferWatermarkFlag &amp; flags))</div>
<div class="line"> {</div>
<div class="line"> g_DacBufferWatermarkInterruptFlag = <span class="keyword">true</span>;</div>
<div class="line"> }</div>
<div class="line"><span class="preprocessor">#endif // FSL_FEATURE_DAC_HAS_WATERMARK_DETECTION</span></div>
<div class="line"><span class="preprocessor"></span> <span class="keywordflow">if</span> (<a class="code" href="group__dac.html#gga52548bc3e8fd7b2df05186d1b32ea648aacf10971c5e7d4696f9b8f9764f9c82e">kDAC_BufferReadPointerTopPositionFlag</a> == (<a class="code" href="group__dac.html#gga52548bc3e8fd7b2df05186d1b32ea648aacf10971c5e7d4696f9b8f9764f9c82e">kDAC_BufferReadPointerTopPositionFlag</a> &amp; flags))</div>
<div class="line"> {</div>
<div class="line"> g_DacBufferReadPointerTopPositionInterruptFlag = <span class="keyword">true</span>;</div>
<div class="line"> }</div>
<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__dac.html#gga52548bc3e8fd7b2df05186d1b32ea648ace46a42e8650cfc8f3f431855e91b503">kDAC_BufferReadPointerBottomPositionFlag</a> == (<a class="code" href="group__dac.html#gga52548bc3e8fd7b2df05186d1b32ea648ace46a42e8650cfc8f3f431855e91b503">kDAC_BufferReadPointerBottomPositionFlag</a> &amp; flags))</div>
<div class="line"> {</div>
<div class="line"> g_DacBufferReadPointerBottomPositionInterruptFlag = <span class="keyword">true</span>;</div>
<div class="line"> }</div>
<div class="line"> <a class="code" href="group__dac.html#ga5df52b8f725cccd40c6dbd2ec542dfbe">DAC_ClearBufferStatusFlags</a>(DEMO_DAC_INSTANCE, flags); <span class="comment">/* Clear flags. </span></div>
<div class="line"><span class="comment">}</span></div>
</div><!-- fragment --> <table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:fsl__dac_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fsl__dac_8h.html">fsl_dac.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structdac__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#structdac__config__t">dac_config_t</a></td></tr>
<tr class="memdesc:structdac__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">DAC module configuration. <a href="group__dac.html#structdac__config__t">More...</a><br/></td></tr>
<tr class="separator:structdac__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structdac__buffer__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#structdac__buffer__config__t">dac_buffer_config_t</a></td></tr>
<tr class="memdesc:structdac__buffer__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">DAC buffer configuration. <a href="group__dac.html#structdac__buffer__config__t">More...</a><br/></td></tr>
<tr class="separator:structdac__buffer__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga52548bc3e8fd7b2df05186d1b32ea648"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga52548bc3e8fd7b2df05186d1b32ea648">_dac_buffer_status_flags</a> { <br/>
&#160;&#160;<a class="el" href="group__dac.html#gga52548bc3e8fd7b2df05186d1b32ea648aacf10971c5e7d4696f9b8f9764f9c82e">kDAC_BufferReadPointerTopPositionFlag</a> = DAC_SR_DACBFRPTF_MASK,
<br/>
&#160;&#160;<a class="el" href="group__dac.html#gga52548bc3e8fd7b2df05186d1b32ea648ace46a42e8650cfc8f3f431855e91b503">kDAC_BufferReadPointerBottomPositionFlag</a> = DAC_SR_DACBFRPBF_MASK
<br/>
}</td></tr>
<tr class="memdesc:ga52548bc3e8fd7b2df05186d1b32ea648"><td class="mdescLeft">&#160;</td><td class="mdescRight">DAC buffer flags. <a href="group__dac.html#ga52548bc3e8fd7b2df05186d1b32ea648">More...</a><br/></td></tr>
<tr class="separator:ga52548bc3e8fd7b2df05186d1b32ea648"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga556c5ba2343e258c26f1b1af05a81e1a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga556c5ba2343e258c26f1b1af05a81e1a">_dac_buffer_interrupt_enable</a> { <br/>
&#160;&#160;<a class="el" href="group__dac.html#gga556c5ba2343e258c26f1b1af05a81e1aaf4cbf619f6230ab146b141f4b9d0771b">kDAC_BufferReadPointerTopInterruptEnable</a> = DAC_C0_DACBTIEN_MASK,
<br/>
&#160;&#160;<a class="el" href="group__dac.html#gga556c5ba2343e258c26f1b1af05a81e1aa73a1fd0e6856d29fdb9863a7bd0e9cea">kDAC_BufferReadPointerBottomInterruptEnable</a> = DAC_C0_DACBBIEN_MASK
<br/>
}</td></tr>
<tr class="memdesc:ga556c5ba2343e258c26f1b1af05a81e1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">DAC buffer interrupts. <a href="group__dac.html#ga556c5ba2343e258c26f1b1af05a81e1a">More...</a><br/></td></tr>
<tr class="separator:ga556c5ba2343e258c26f1b1af05a81e1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05db8184073a676ea7762e08ba0e53ac"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga05db8184073a676ea7762e08ba0e53ac">dac_reference_voltage_source_t</a> { <br/>
&#160;&#160;<a class="el" href="group__dac.html#gga05db8184073a676ea7762e08ba0e53acad4013ec0dffa1ce8d7bca994c8ed4e28">kDAC_ReferenceVoltageSourceVref1</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="group__dac.html#gga05db8184073a676ea7762e08ba0e53acaab0852243da81673a102a1a86ffafa59">kDAC_ReferenceVoltageSourceVref2</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:ga05db8184073a676ea7762e08ba0e53ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">DAC reference voltage source. <a href="group__dac.html#ga05db8184073a676ea7762e08ba0e53ac">More...</a><br/></td></tr>
<tr class="separator:ga05db8184073a676ea7762e08ba0e53ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4fa7fe6dff788f277d9ce00197bb78c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#gae4fa7fe6dff788f277d9ce00197bb78c">dac_buffer_trigger_mode_t</a> { <br/>
&#160;&#160;<a class="el" href="group__dac.html#ggae4fa7fe6dff788f277d9ce00197bb78cafbc03d98f1b69257187778ab4a9a5cfe">kDAC_BufferTriggerByHardwareMode</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="group__dac.html#ggae4fa7fe6dff788f277d9ce00197bb78ca4f11acf8c8b116275fee60a42f907cdd">kDAC_BufferTriggerBySoftwareMode</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:gae4fa7fe6dff788f277d9ce00197bb78c"><td class="mdescLeft">&#160;</td><td class="mdescRight">DAC buffer trigger mode. <a href="group__dac.html#gae4fa7fe6dff788f277d9ce00197bb78c">More...</a><br/></td></tr>
<tr class="separator:gae4fa7fe6dff788f277d9ce00197bb78c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6dee8fad888f630dcef291d7474f5e8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#gaa6dee8fad888f630dcef291d7474f5e8">dac_buffer_work_mode_t</a> { <br/>
&#160;&#160;<a class="el" href="group__dac.html#ggaa6dee8fad888f630dcef291d7474f5e8aebbceb6d7cecef81259c2bfdbde6dd88">kDAC_BufferWorkAsNormalMode</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="group__dac.html#ggaa6dee8fad888f630dcef291d7474f5e8adc07bbd0e997b6a33c10c721851f6f7c">kDAC_BufferWorkAsOneTimeScanMode</a>
<br/>
}</td></tr>
<tr class="memdesc:gaa6dee8fad888f630dcef291d7474f5e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">DAC buffer work mode. <a href="group__dac.html#gaa6dee8fad888f630dcef291d7474f5e8">More...</a><br/></td></tr>
<tr class="separator:gaa6dee8fad888f630dcef291d7474f5e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Driver version</h2></td></tr>
<tr class="memitem:ga530714225167c7f0e4526943afc474ad"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga530714225167c7f0e4526943afc474ad">FSL_DAC_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 0, 0))</td></tr>
<tr class="memdesc:ga530714225167c7f0e4526943afc474ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">DAC driver version 2.0.0. <a href="#ga530714225167c7f0e4526943afc474ad">More...</a><br/></td></tr>
<tr class="separator:ga530714225167c7f0e4526943afc474ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Initialization</h2></td></tr>
<tr class="memitem:ga0331d8c8f699fac12c93a7796d961923"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga0331d8c8f699fac12c93a7796d961923">DAC_Init</a> (DAC_Type *base, const <a class="el" href="group__dac.html#structdac__config__t">dac_config_t</a> *config)</td></tr>
<tr class="memdesc:ga0331d8c8f699fac12c93a7796d961923"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the DAC module. <a href="#ga0331d8c8f699fac12c93a7796d961923">More...</a><br/></td></tr>
<tr class="separator:ga0331d8c8f699fac12c93a7796d961923"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab9cec79763041b1df321a5839982feba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#gab9cec79763041b1df321a5839982feba">DAC_Deinit</a> (DAC_Type *base)</td></tr>
<tr class="memdesc:gab9cec79763041b1df321a5839982feba"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes the DAC module. <a href="#gab9cec79763041b1df321a5839982feba">More...</a><br/></td></tr>
<tr class="separator:gab9cec79763041b1df321a5839982feba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga18bbc1eedecdc090c14578740271db0e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga18bbc1eedecdc090c14578740271db0e">DAC_GetDefaultConfig</a> (<a class="el" href="group__dac.html#structdac__config__t">dac_config_t</a> *config)</td></tr>
<tr class="memdesc:ga18bbc1eedecdc090c14578740271db0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the DAC user configuration structure. <a href="#ga18bbc1eedecdc090c14578740271db0e">More...</a><br/></td></tr>
<tr class="separator:ga18bbc1eedecdc090c14578740271db0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8744607939abfe64891c8aaa05a97a29"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga8744607939abfe64891c8aaa05a97a29">DAC_Enable</a> (DAC_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga8744607939abfe64891c8aaa05a97a29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the DAC module. <a href="#ga8744607939abfe64891c8aaa05a97a29">More...</a><br/></td></tr>
<tr class="separator:ga8744607939abfe64891c8aaa05a97a29"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Buffer</h2></td></tr>
<tr class="memitem:gacece0d7102d1a94eaef40f4704d847bf"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#gacece0d7102d1a94eaef40f4704d847bf">DAC_EnableBuffer</a> (DAC_Type *base, bool enable)</td></tr>
<tr class="memdesc:gacece0d7102d1a94eaef40f4704d847bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the DAC buffer. <a href="#gacece0d7102d1a94eaef40f4704d847bf">More...</a><br/></td></tr>
<tr class="separator:gacece0d7102d1a94eaef40f4704d847bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab36195fbf4d2e0bb0771fc6c102c7688"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#gab36195fbf4d2e0bb0771fc6c102c7688">DAC_SetBufferConfig</a> (DAC_Type *base, const <a class="el" href="group__dac.html#structdac__buffer__config__t">dac_buffer_config_t</a> *config)</td></tr>
<tr class="memdesc:gab36195fbf4d2e0bb0771fc6c102c7688"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the CMP buffer. <a href="#gab36195fbf4d2e0bb0771fc6c102c7688">More...</a><br/></td></tr>
<tr class="separator:gab36195fbf4d2e0bb0771fc6c102c7688"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadfcaccffddd058eebaa8135fe92e74cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#gadfcaccffddd058eebaa8135fe92e74cb">DAC_GetDefaultBufferConfig</a> (<a class="el" href="group__dac.html#structdac__buffer__config__t">dac_buffer_config_t</a> *config)</td></tr>
<tr class="memdesc:gadfcaccffddd058eebaa8135fe92e74cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the DAC buffer configuration structure. <a href="#gadfcaccffddd058eebaa8135fe92e74cb">More...</a><br/></td></tr>
<tr class="separator:gadfcaccffddd058eebaa8135fe92e74cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5a97c9c7af23a63a9c00b0830726f41"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#gac5a97c9c7af23a63a9c00b0830726f41">DAC_EnableBufferDMA</a> (DAC_Type *base, bool enable)</td></tr>
<tr class="memdesc:gac5a97c9c7af23a63a9c00b0830726f41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the DMA for DAC buffer. <a href="#gac5a97c9c7af23a63a9c00b0830726f41">More...</a><br/></td></tr>
<tr class="separator:gac5a97c9c7af23a63a9c00b0830726f41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14a1c0caecddc89b462e9387392956df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga14a1c0caecddc89b462e9387392956df">DAC_SetBufferValue</a> (DAC_Type *base, uint8_t index, uint16_t value)</td></tr>
<tr class="memdesc:ga14a1c0caecddc89b462e9387392956df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the value for items in the buffer. <a href="#ga14a1c0caecddc89b462e9387392956df">More...</a><br/></td></tr>
<tr class="separator:ga14a1c0caecddc89b462e9387392956df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga40dfcfcef8ee39068af9197746a18023"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga40dfcfcef8ee39068af9197746a18023">DAC_DoSoftwareTriggerBuffer</a> (DAC_Type *base)</td></tr>
<tr class="memdesc:ga40dfcfcef8ee39068af9197746a18023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Triggers the buffer by software and updates the read pointer of the DAC buffer. <a href="#ga40dfcfcef8ee39068af9197746a18023">More...</a><br/></td></tr>
<tr class="separator:ga40dfcfcef8ee39068af9197746a18023"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga977f3c916c8fa06769f752cc66005bd4"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga977f3c916c8fa06769f752cc66005bd4">DAC_GetBufferReadPointer</a> (DAC_Type *base)</td></tr>
<tr class="memdesc:ga977f3c916c8fa06769f752cc66005bd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current read pointer of the DAC buffer. <a href="#ga977f3c916c8fa06769f752cc66005bd4">More...</a><br/></td></tr>
<tr class="separator:ga977f3c916c8fa06769f752cc66005bd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5716743c53f64cc4064f27d92c91e2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#gaa5716743c53f64cc4064f27d92c91e2a">DAC_SetBufferReadPointer</a> (DAC_Type *base, uint8_t index)</td></tr>
<tr class="memdesc:gaa5716743c53f64cc4064f27d92c91e2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current read pointer of the DAC buffer. <a href="#gaa5716743c53f64cc4064f27d92c91e2a">More...</a><br/></td></tr>
<tr class="separator:gaa5716743c53f64cc4064f27d92c91e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae81f8ddb0f53db26bc23d19eef80fd3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#gae81f8ddb0f53db26bc23d19eef80fd3c">DAC_EnableBufferInterrupts</a> (DAC_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:gae81f8ddb0f53db26bc23d19eef80fd3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables interrupts for the DAC buffer. <a href="#gae81f8ddb0f53db26bc23d19eef80fd3c">More...</a><br/></td></tr>
<tr class="separator:gae81f8ddb0f53db26bc23d19eef80fd3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga026dd197d500e58f96bbbcf5105b9d72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga026dd197d500e58f96bbbcf5105b9d72">DAC_DisableBufferInterrupts</a> (DAC_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga026dd197d500e58f96bbbcf5105b9d72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables interrupts for the DAC buffer. <a href="#ga026dd197d500e58f96bbbcf5105b9d72">More...</a><br/></td></tr>
<tr class="separator:ga026dd197d500e58f96bbbcf5105b9d72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga537790196ef2e87021fa730228d46e96"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga537790196ef2e87021fa730228d46e96">DAC_GetBufferStatusFlags</a> (DAC_Type *base)</td></tr>
<tr class="memdesc:ga537790196ef2e87021fa730228d46e96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the flags of events for the DAC buffer. <a href="#ga537790196ef2e87021fa730228d46e96">More...</a><br/></td></tr>
<tr class="separator:ga537790196ef2e87021fa730228d46e96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5df52b8f725cccd40c6dbd2ec542dfbe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#ga5df52b8f725cccd40c6dbd2ec542dfbe">DAC_ClearBufferStatusFlags</a> (DAC_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga5df52b8f725cccd40c6dbd2ec542dfbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the flags of events for the DAC buffer. <a href="#ga5df52b8f725cccd40c6dbd2ec542dfbe">More...</a><br/></td></tr>
<tr class="separator:ga5df52b8f725cccd40c6dbd2ec542dfbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structdac__config__t" id="structdac__config__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct dac_config_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a4a02511eeb7a57b6f959dd87646db467"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dac.html#ga05db8184073a676ea7762e08ba0e53ac">dac_reference_voltage_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#a4a02511eeb7a57b6f959dd87646db467">referenceVoltageSource</a></td></tr>
<tr class="memdesc:a4a02511eeb7a57b6f959dd87646db467"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select the DAC reference voltage source. <a href="#a4a02511eeb7a57b6f959dd87646db467">More...</a><br/></td></tr>
<tr class="separator:a4a02511eeb7a57b6f959dd87646db467"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bc0e37a90b0fe5c7c8602a72a5a585f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#a7bc0e37a90b0fe5c7c8602a72a5a585f">enableLowPowerMode</a></td></tr>
<tr class="memdesc:a7bc0e37a90b0fe5c7c8602a72a5a585f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the low power mode. <a href="#a7bc0e37a90b0fe5c7c8602a72a5a585f">More...</a><br/></td></tr>
<tr class="separator:a7bc0e37a90b0fe5c7c8602a72a5a585f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a4a02511eeb7a57b6f959dd87646db467"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dac.html#ga05db8184073a676ea7762e08ba0e53ac">dac_reference_voltage_source_t</a> dac_config_t::referenceVoltageSource</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7bc0e37a90b0fe5c7c8602a72a5a585f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool dac_config_t::enableLowPowerMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="structdac__buffer__config__t" id="structdac__buffer__config__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct dac_buffer_config_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:abb44460b37a3d7e80983d9e6745fb00a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dac.html#gae4fa7fe6dff788f277d9ce00197bb78c">dac_buffer_trigger_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#abb44460b37a3d7e80983d9e6745fb00a">triggerMode</a></td></tr>
<tr class="memdesc:abb44460b37a3d7e80983d9e6745fb00a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select the buffer's trigger mode. <a href="#abb44460b37a3d7e80983d9e6745fb00a">More...</a><br/></td></tr>
<tr class="separator:abb44460b37a3d7e80983d9e6745fb00a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a646a46fe3ece9060591d66d6bc14b834"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dac.html#gaa6dee8fad888f630dcef291d7474f5e8">dac_buffer_work_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#a646a46fe3ece9060591d66d6bc14b834">workMode</a></td></tr>
<tr class="memdesc:a646a46fe3ece9060591d66d6bc14b834"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select the buffer's work mode. <a href="#a646a46fe3ece9060591d66d6bc14b834">More...</a><br/></td></tr>
<tr class="separator:a646a46fe3ece9060591d66d6bc14b834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d2cae6b10a2039b3bb9c1552d750040"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dac.html#a6d2cae6b10a2039b3bb9c1552d750040">upperLimit</a></td></tr>
<tr class="memdesc:a6d2cae6b10a2039b3bb9c1552d750040"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the upper limit for buffer index. <a href="#a6d2cae6b10a2039b3bb9c1552d750040">More...</a><br/></td></tr>
<tr class="separator:a6d2cae6b10a2039b3bb9c1552d750040"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="abb44460b37a3d7e80983d9e6745fb00a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dac.html#gae4fa7fe6dff788f277d9ce00197bb78c">dac_buffer_trigger_mode_t</a> dac_buffer_config_t::triggerMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a646a46fe3ece9060591d66d6bc14b834"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dac.html#gaa6dee8fad888f630dcef291d7474f5e8">dac_buffer_work_mode_t</a> dac_buffer_config_t::workMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6d2cae6b10a2039b3bb9c1552d750040"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t dac_buffer_config_t::upperLimit</td>
</tr>
</table>
</div><div class="memdoc">
<p>Normally, 0-15 is available for buffer with 16 item. </p>
</div>
</div>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga530714225167c7f0e4526943afc474ad"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_DAC_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 0, 0))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga52548bc3e8fd7b2df05186d1b32ea648"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__dac.html#ga52548bc3e8fd7b2df05186d1b32ea648">_dac_buffer_status_flags</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga52548bc3e8fd7b2df05186d1b32ea648aacf10971c5e7d4696f9b8f9764f9c82e"></a>kDAC_BufferReadPointerTopPositionFlag</em>&#160;</td><td class="fielddoc">
<p>DAC Buffer Read Pointer Top Position Flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga52548bc3e8fd7b2df05186d1b32ea648ace46a42e8650cfc8f3f431855e91b503"></a>kDAC_BufferReadPointerBottomPositionFlag</em>&#160;</td><td class="fielddoc">
<p>DAC Buffer Read Pointer Bottom Position Flag. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga556c5ba2343e258c26f1b1af05a81e1a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__dac.html#ga556c5ba2343e258c26f1b1af05a81e1a">_dac_buffer_interrupt_enable</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga556c5ba2343e258c26f1b1af05a81e1aaf4cbf619f6230ab146b141f4b9d0771b"></a>kDAC_BufferReadPointerTopInterruptEnable</em>&#160;</td><td class="fielddoc">
<p>DAC Buffer Read Pointer Top Flag Interrupt Enable. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga556c5ba2343e258c26f1b1af05a81e1aa73a1fd0e6856d29fdb9863a7bd0e9cea"></a>kDAC_BufferReadPointerBottomInterruptEnable</em>&#160;</td><td class="fielddoc">
<p>DAC Buffer Read Pointer Bottom Flag Interrupt Enable. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga05db8184073a676ea7762e08ba0e53ac"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__dac.html#ga05db8184073a676ea7762e08ba0e53ac">dac_reference_voltage_source_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga05db8184073a676ea7762e08ba0e53acad4013ec0dffa1ce8d7bca994c8ed4e28"></a>kDAC_ReferenceVoltageSourceVref1</em>&#160;</td><td class="fielddoc">
<p>The DAC selects DACREF_1 as the reference voltage. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga05db8184073a676ea7762e08ba0e53acaab0852243da81673a102a1a86ffafa59"></a>kDAC_ReferenceVoltageSourceVref2</em>&#160;</td><td class="fielddoc">
<p>The DAC selects DACREF_2 as the reference voltage. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gae4fa7fe6dff788f277d9ce00197bb78c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__dac.html#gae4fa7fe6dff788f277d9ce00197bb78c">dac_buffer_trigger_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae4fa7fe6dff788f277d9ce00197bb78cafbc03d98f1b69257187778ab4a9a5cfe"></a>kDAC_BufferTriggerByHardwareMode</em>&#160;</td><td class="fielddoc">
<p>The DAC hardware trigger is selected. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae4fa7fe6dff788f277d9ce00197bb78ca4f11acf8c8b116275fee60a42f907cdd"></a>kDAC_BufferTriggerBySoftwareMode</em>&#160;</td><td class="fielddoc">
<p>The DAC software trigger is selected. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaa6dee8fad888f630dcef291d7474f5e8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__dac.html#gaa6dee8fad888f630dcef291d7474f5e8">dac_buffer_work_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaa6dee8fad888f630dcef291d7474f5e8aebbceb6d7cecef81259c2bfdbde6dd88"></a>kDAC_BufferWorkAsNormalMode</em>&#160;</td><td class="fielddoc">
<p>Normal mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6dee8fad888f630dcef291d7474f5e8adc07bbd0e997b6a33c10c721851f6f7c"></a>kDAC_BufferWorkAsOneTimeScanMode</em>&#160;</td><td class="fielddoc">
<p>One-Time Scan mode. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga0331d8c8f699fac12c93a7796d961923"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DAC_Init </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dac.html#structdac__config__t">dac_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function initializes the DAC module, including:</p>
<ul>
<li>Enabling the clock for DAC module.</li>
<li>Configuring the DAC converter with a user configuration.</li>
<li>Enabling the DAC module.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
<tr><td class="paramname">config</td><td>Pointer to the configuration structure. See "dac_config_t". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab9cec79763041b1df321a5839982feba"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DAC_Deinit </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function de-initializes the DAC module, including:</p>
<ul>
<li>Disabling the DAC module.</li>
<li>Disabling the clock for the DAC module.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga18bbc1eedecdc090c14578740271db0e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DAC_GetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__dac.html#structdac__config__t">dac_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function initializes the user configuration structure to a default value. The default values are: </p>
<div class="fragment"><div class="line">config-&gt;referenceVoltageSource = <a class="code" href="group__dac.html#gga05db8184073a676ea7762e08ba0e53acaab0852243da81673a102a1a86ffafa59">kDAC_ReferenceVoltageSourceVref2</a>;</div>
<div class="line">config-&gt;enableLowPowerMode = <span class="keyword">false</span>;</div>
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to the configuration structure. See "dac_config_t". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga8744607939abfe64891c8aaa05a97a29"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void DAC_Enable </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>Enables the feature or not. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gacece0d7102d1a94eaef40f4704d847bf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void DAC_EnableBuffer </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>Enables the feature or not. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab36195fbf4d2e0bb0771fc6c102c7688"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DAC_SetBufferConfig </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dac.html#structdac__buffer__config__t">dac_buffer_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
<tr><td class="paramname">config</td><td>Pointer to the configuration structure. See "dac_buffer_config_t". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gadfcaccffddd058eebaa8135fe92e74cb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DAC_GetDefaultBufferConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__dac.html#structdac__buffer__config__t">dac_buffer_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function initializes the DAC buffer configuration structure to a default value. The default values are: </p>
<div class="fragment"><div class="line">config-&gt;triggerMode = <a class="code" href="group__dac.html#ggae4fa7fe6dff788f277d9ce00197bb78ca4f11acf8c8b116275fee60a42f907cdd">kDAC_BufferTriggerBySoftwareMode</a>;</div>
<div class="line">config-&gt;watermark = kDAC_BufferWatermark1Word;</div>
<div class="line">config-&gt;workMode = <a class="code" href="group__dac.html#ggaa6dee8fad888f630dcef291d7474f5e8aebbceb6d7cecef81259c2bfdbde6dd88">kDAC_BufferWorkAsNormalMode</a>;</div>
<div class="line">config-&gt;upperLimit = DAC_DATL_COUNT - 1U;</div>
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to the configuration structure. See "dac_buffer_config_t". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac5a97c9c7af23a63a9c00b0830726f41"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void DAC_EnableBufferDMA </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>Enables the feature or not. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga14a1c0caecddc89b462e9387392956df"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DAC_SetBufferValue </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
<tr><td class="paramname">index</td><td>Setting index for items in the buffer. The available index should not exceed the size of the DAC buffer. </td></tr>
<tr><td class="paramname">value</td><td>Setting value for items in the buffer. 12-bits are available. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga40dfcfcef8ee39068af9197746a18023"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void DAC_DoSoftwareTriggerBuffer </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function triggers the function by software. The read pointer of the DAC buffer is updated with one step after this function is called. Changing the read pointer depends on the buffer's work mode.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga977f3c916c8fa06769f752cc66005bd4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint8_t DAC_GetBufferReadPointer </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function gets the current read pointer of the DAC buffer. The current output value depends on the item indexed by the read pointer. It is updated by software trigger or hardware trigger.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Current read pointer of DAC buffer. </dd></dl>
</div>
</div>
<a class="anchor" id="gaa5716743c53f64cc4064f27d92c91e2a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DAC_SetBufferReadPointer </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the current read pointer of the DAC buffer. The current output value depends on the item indexed by the read pointer. It is updated by software trigger or hardware trigger. After the read pointer changes, the DAC output value also changes.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
<tr><td class="paramname">index</td><td>Setting index value for the pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae81f8ddb0f53db26bc23d19eef80fd3c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DAC_EnableBufferInterrupts </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>Mask value for interrupts. See "_dac_buffer_interrupt_enable". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga026dd197d500e58f96bbbcf5105b9d72"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DAC_DisableBufferInterrupts </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>Mask value for interrupts. See "_dac_buffer_interrupt_enable". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga537790196ef2e87021fa730228d46e96"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t DAC_GetBufferStatusFlags </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Mask value for the asserted flags. See "_dac_buffer_status_flags". </dd></dl>
</div>
</div>
<a class="anchor" id="ga5df52b8f725cccd40c6dbd2ec542dfbe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void DAC_ClearBufferStatusFlags </td>
<td>(</td>
<td class="paramtype">DAC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>DAC peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>Mask value for flags. See "_dac_buffer_status_flags_t". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul class="foot">
<li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
</li>
</ul>
</div>
</body>
</html>