MCUXpresso_LPC55S69/docs/MCUXpresso SDK API Referenc.../a00010.html

838 lines
50 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.5"/>
<title>MCUXpresso SDK API Reference Manual: CMP: Analog Comparator 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">MCUXpresso SDK API Reference Manual
&#160;<span id="projectnumber">Rev 2.15.000</span>
</div>
<div id="projectbrief">NXP Semiconductors</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<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('a00010.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="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">CMP: Analog Comparator Driver</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The MCUXpresso SDK provides a peripheral driver for the Analog Comparator (CMP) module of MCUXpresso SDK devices.</p>
<h1><a class="anchor" id="CMPFunc"></a>
Function groups</h1>
<p>The driver provides a set of functions to set two input sources of the on-chip comparator and compare the voltage of them.</p>
<h2><a class="anchor" id="CMPInit"></a>
Initialization and deinitialization</h2>
<p>The function <a class="el" href="a00010.html#ga3ee8a5f41142a020083defd0b43dbc40" title="CMP initialization. ">CMP_Init()</a> initializes the CMP with specified configurations. The function <a class="el" href="a00010.html#gae3f987e58dece632e66665514c01e109" title="Initializes the CMP user configuration structure. ">CMP_GetDefaultConfig()</a> gets the default configurations.</p>
<p>The function <a class="el" href="a00010.html#ga5ede18bed83c2867ebe7abcfc3b48f5b" title="CMP deinitialization. ">CMP_Deinit()</a> disables the module clock.</p>
<h2><a class="anchor" id="CMPCompare"></a>
Compare</h2>
<p>The function CMP_SetInputChannels() configures the P-side and N-side input sources.</p>
<p>The function <a class="el" href="a00010.html#gacfb55efd6ccaad7023bd11d4b1397081" title="Configures the VREFINPUT. ">CMP_SetVREF()</a> sets the reference voltage which can be dedicated to input 0 of both P and N sides.</p>
<p>The function <a class="el" href="a00010.html#gabd6fdcb2602fc8d13398910bc686bdc9" title="Get CMP compare output. ">CMP_GetOutput()</a> gets the compare result of the two sides.</p>
<h2><a class="anchor" id="CMPInterrupt"></a>
Interrupt</h2>
<p>Provides functions to enable/disable/clear CMP interrupts.</p>
<p>The function <a class="el" href="a00010.html#ga49f2a21ce902c594694071b04ba2b2a9" title="Select which Analog comparator output (filtered or un-filtered) is used for interrupt detection...">CMP_EnableFilteredInterruptSource()</a> allows users to select which analog comparator output (filtered or un-filtered) is used for interrupt detection.</p>
<h2><a class="anchor" id="CMPStatus"></a>
Status</h2>
<p>Provides functions to get the CMP status.</p>
<h1><a class="anchor" id="CMPTpyUC"></a>
Typical use case</h1>
<h2><a class="anchor" id="CMPPolConfig"></a>
Polling Configuration</h2>
<p>Refer to the driver examples codes located at &lt;SDK_ROOT&gt;/boards/&lt;BOARD&gt;/driver_examples/cmp_1 </p>
<h2><a class="anchor" id="CMPIntConfig"></a>
Interrupt Configuration</h2>
<p>Refer to the driver examples codes located at &lt;SDK_ROOT&gt;/boards/&lt;BOARD&gt;/driver_examples/cmp_1 </p>
<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:a00303"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a00303">_cmp_config</a></td></tr>
<tr class="memdesc:a00303"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP configuration structure. <a href="a00010.html#a00303">More...</a><br/></td></tr>
<tr class="separator:a00303"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga1fab2bc8df2f92de6896a4e6624a2dfb"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00010.html#ga40d12c8a743f5b7a64fe13c4b9581671">_cmp_vref_source</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga1fab2bc8df2f92de6896a4e6624a2dfb">cmp_vref_source_t</a></td></tr>
<tr class="memdesc:ga1fab2bc8df2f92de6896a4e6624a2dfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Voltage Reference source. <a href="#ga1fab2bc8df2f92de6896a4e6624a2dfb">More...</a><br/></td></tr>
<tr class="separator:ga1fab2bc8df2f92de6896a4e6624a2dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafbb250eeb0a9362fc681ac4dc0f3522e"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="a00010.html#ga30fe80c3ec5901c74c67dca407517290">_cmp_filtercgf_samplemode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#gafbb250eeb0a9362fc681ac4dc0f3522e">cmp_filtercgf_samplemode_t</a></td></tr>
<tr class="memdesc:gafbb250eeb0a9362fc681ac4dc0f3522e"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Filter sample mode. <a href="#gafbb250eeb0a9362fc681ac4dc0f3522e">More...</a><br/></td></tr>
<tr class="separator:gafbb250eeb0a9362fc681ac4dc0f3522e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d22199879bcc7b28973f024e2ade1dc"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00010.html#gae8d659ed4125494a59f6339faf855152">_cmp_filtercgf_clkdiv</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga9d22199879bcc7b28973f024e2ade1dc">cmp_filtercgf_clkdiv_t</a></td></tr>
<tr class="memdesc:ga9d22199879bcc7b28973f024e2ade1dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Filter clock divider. <a href="#ga9d22199879bcc7b28973f024e2ade1dc">More...</a><br/></td></tr>
<tr class="separator:ga9d22199879bcc7b28973f024e2ade1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09627e0e7baa3c87d42f7f2c786f2673"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00010.html#a00303">_cmp_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga09627e0e7baa3c87d42f7f2c786f2673">cmp_config_t</a></td></tr>
<tr class="memdesc:ga09627e0e7baa3c87d42f7f2c786f2673"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP configuration structure. <a href="#ga09627e0e7baa3c87d42f7f2c786f2673">More...</a><br/></td></tr>
<tr class="separator:ga09627e0e7baa3c87d42f7f2c786f2673"><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:ga01254612ee48dd97ff1adb3d860507cd"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga01254612ee48dd97ff1adb3d860507cd">_cmp_input_mux</a> { <br/>
&#160;&#160;<a class="el" href="a00010.html#gga01254612ee48dd97ff1adb3d860507cda6bbc15c4432f49debb792a15fa0bbbfa">kCMP_InputVREF</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga01254612ee48dd97ff1adb3d860507cda9e178b6d83a1d9826029540de60d2565">kCMP_Input1</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga01254612ee48dd97ff1adb3d860507cda4a55b80a7a27082baaeec855be29de0a">kCMP_Input2</a> = 2U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga01254612ee48dd97ff1adb3d860507cda93f9253ce871f29cfdb7a30c7391a2ea">kCMP_Input3</a> = 3U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga01254612ee48dd97ff1adb3d860507cda0155425dc354027e33d92433174b9bf3">kCMP_Input4</a> = 4U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga01254612ee48dd97ff1adb3d860507cda6711c2adc029b212232080a4e4b8b124">kCMP_Input5</a> = 5U
<br/>
}</td></tr>
<tr class="memdesc:ga01254612ee48dd97ff1adb3d860507cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP input mux for positive and negative sides. <a href="a00010.html#ga01254612ee48dd97ff1adb3d860507cd">More...</a><br/></td></tr>
<tr class="separator:ga01254612ee48dd97ff1adb3d860507cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga296b0daf7a74da1189f9322b24c5f640"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga296b0daf7a74da1189f9322b24c5f640">_cmp_interrupt_type</a> { <br/>
&#160;&#160;<a class="el" href="a00010.html#gga296b0daf7a74da1189f9322b24c5f640a058e2aff0f62650a348d411182dc9573">kCMP_EdgeDisable</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga296b0daf7a74da1189f9322b24c5f640a621033493cbd1a2e81fab9cb10554f48">kCMP_EdgeRising</a> = 2U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga296b0daf7a74da1189f9322b24c5f640aef5d7e259921f9bcbe9c5a8b998dc251">kCMP_EdgeFalling</a> = 4U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga296b0daf7a74da1189f9322b24c5f640a1c569bfbea0b76704baa278acdd1bc92">kCMP_EdgeRisingFalling</a> = 6U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga296b0daf7a74da1189f9322b24c5f640a4815562814e55eefe6da4baa2c58362a">kCMP_LevelDisable</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga296b0daf7a74da1189f9322b24c5f640ac04262ec16353f7a1a8a23f44b3cf060">kCMP_LevelHigh</a> = 3U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga296b0daf7a74da1189f9322b24c5f640ac91224c19eb0c84bd958f4f22a030263">kCMP_LevelLow</a> = 5U
<br/>
}</td></tr>
<tr class="memdesc:ga296b0daf7a74da1189f9322b24c5f640"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP interrupt type. <a href="a00010.html#ga296b0daf7a74da1189f9322b24c5f640">More...</a><br/></td></tr>
<tr class="separator:ga296b0daf7a74da1189f9322b24c5f640"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga40d12c8a743f5b7a64fe13c4b9581671"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga40d12c8a743f5b7a64fe13c4b9581671">_cmp_vref_source</a> { <br/>
&#160;&#160;<a class="el" href="a00010.html#gga40d12c8a743f5b7a64fe13c4b9581671a0de26a0005f4f6f6fd4a1ec8ffd9e465">KCMP_VREFSourceVDDA</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga40d12c8a743f5b7a64fe13c4b9581671a7c99e7da82a9b06c74b2c0a012f94eeb">KCMP_VREFSourceInternalVREF</a> = 0U
<br/>
}</td></tr>
<tr class="memdesc:ga40d12c8a743f5b7a64fe13c4b9581671"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Voltage Reference source. <a href="a00010.html#ga40d12c8a743f5b7a64fe13c4b9581671">More...</a><br/></td></tr>
<tr class="separator:ga40d12c8a743f5b7a64fe13c4b9581671"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30fe80c3ec5901c74c67dca407517290"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga30fe80c3ec5901c74c67dca407517290">_cmp_filtercgf_samplemode</a> { <br/>
&#160;&#160;<a class="el" href="a00010.html#gga30fe80c3ec5901c74c67dca407517290a2add28f7df934d29b7535c87f5869aec">kCMP_FilterSampleMode0</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga30fe80c3ec5901c74c67dca407517290af955663ecadcd75f9277e98db34b8c03">kCMP_FilterSampleMode1</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga30fe80c3ec5901c74c67dca407517290a62f0debd8fb18813d59431ad2909d874">kCMP_FilterSampleMode2</a> = 2U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#gga30fe80c3ec5901c74c67dca407517290a50f0b8cbfd58be447bbd4cf2502e71ee">kCMP_FilterSampleMode3</a> = 3U
<br/>
}</td></tr>
<tr class="memdesc:ga30fe80c3ec5901c74c67dca407517290"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Filter sample mode. <a href="a00010.html#ga30fe80c3ec5901c74c67dca407517290">More...</a><br/></td></tr>
<tr class="separator:ga30fe80c3ec5901c74c67dca407517290"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae8d659ed4125494a59f6339faf855152"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#gae8d659ed4125494a59f6339faf855152">_cmp_filtercgf_clkdiv</a> { <br/>
&#160;&#160;<a class="el" href="a00010.html#ggae8d659ed4125494a59f6339faf855152adc4fdb627c94c27980f7fc5c0ac03070">kCMP_FilterClockDivide1</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#ggae8d659ed4125494a59f6339faf855152a299b114200cc71ef16efcae7de1b3e3f">kCMP_FilterClockDivide2</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#ggae8d659ed4125494a59f6339faf855152a4b177854e878227aab6260850f363082">kCMP_FilterClockDivide4</a> = 2U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#ggae8d659ed4125494a59f6339faf855152a09aeab4deaa367e481bfab949afaabb7">kCMP_FilterClockDivide8</a> = 3U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#ggae8d659ed4125494a59f6339faf855152a3d04c24b97d389272c92526bbccce452">kCMP_FilterClockDivide16</a> = 4U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#ggae8d659ed4125494a59f6339faf855152a23cd5f3368fb33802846241576252b0c">kCMP_FilterClockDivide32</a> = 5U,
<br/>
&#160;&#160;<a class="el" href="a00010.html#ggae8d659ed4125494a59f6339faf855152aea69d2407460c2cc327923b0852bc742">kCMP_FilterClockDivide64</a> = 6U
<br/>
}</td></tr>
<tr class="memdesc:gae8d659ed4125494a59f6339faf855152"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Filter clock divider. <a href="a00010.html#gae8d659ed4125494a59f6339faf855152">More...</a><br/></td></tr>
<tr class="separator:gae8d659ed4125494a59f6339faf855152"><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:ga8b6413b07d768817e75758d8a6ce612b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga8b6413b07d768817e75758d8a6ce612b">FSL_CMP_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="a00242.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2U, 2U, 1U))</td></tr>
<tr class="memdesc:ga8b6413b07d768817e75758d8a6ce612b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Driver version 2.2.1. <a href="#ga8b6413b07d768817e75758d8a6ce612b">More...</a><br/></td></tr>
<tr class="separator:ga8b6413b07d768817e75758d8a6ce612b"><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 and deinitialization</h2></td></tr>
<tr class="memitem:ga3ee8a5f41142a020083defd0b43dbc40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga3ee8a5f41142a020083defd0b43dbc40">CMP_Init</a> (const <a class="el" href="a00010.html#ga09627e0e7baa3c87d42f7f2c786f2673">cmp_config_t</a> *config)</td></tr>
<tr class="memdesc:ga3ee8a5f41142a020083defd0b43dbc40"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP initialization. <a href="#ga3ee8a5f41142a020083defd0b43dbc40">More...</a><br/></td></tr>
<tr class="separator:ga3ee8a5f41142a020083defd0b43dbc40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ede18bed83c2867ebe7abcfc3b48f5b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga5ede18bed83c2867ebe7abcfc3b48f5b">CMP_Deinit</a> (void)</td></tr>
<tr class="memdesc:ga5ede18bed83c2867ebe7abcfc3b48f5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP deinitialization. <a href="#ga5ede18bed83c2867ebe7abcfc3b48f5b">More...</a><br/></td></tr>
<tr class="separator:ga5ede18bed83c2867ebe7abcfc3b48f5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3f987e58dece632e66665514c01e109"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#gae3f987e58dece632e66665514c01e109">CMP_GetDefaultConfig</a> (<a class="el" href="a00010.html#ga09627e0e7baa3c87d42f7f2c786f2673">cmp_config_t</a> *config)</td></tr>
<tr class="memdesc:gae3f987e58dece632e66665514c01e109"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the CMP user configuration structure. <a href="#gae3f987e58dece632e66665514c01e109">More...</a><br/></td></tr>
<tr class="separator:gae3f987e58dece632e66665514c01e109"><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>
Compare Interface</h2></td></tr>
<tr class="memitem:ga98802641e7652f47d081eb359a80f311"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga98802641e7652f47d081eb359a80f311"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>CMP_SetInputChannels</b> (uint8_t positiveChannel, uint8_t negativeChannel)</td></tr>
<tr class="separator:ga98802641e7652f47d081eb359a80f311"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfb55efd6ccaad7023bd11d4b1397081"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#gacfb55efd6ccaad7023bd11d4b1397081">CMP_SetVREF</a> (const cmp_vref_config_t *config)</td></tr>
<tr class="memdesc:gacfb55efd6ccaad7023bd11d4b1397081"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the VREFINPUT. <a href="#gacfb55efd6ccaad7023bd11d4b1397081">More...</a><br/></td></tr>
<tr class="separator:gacfb55efd6ccaad7023bd11d4b1397081"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd6fdcb2602fc8d13398910bc686bdc9"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#gabd6fdcb2602fc8d13398910bc686bdc9">CMP_GetOutput</a> (void)</td></tr>
<tr class="memdesc:gabd6fdcb2602fc8d13398910bc686bdc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get CMP compare output. <a href="#gabd6fdcb2602fc8d13398910bc686bdc9">More...</a><br/></td></tr>
<tr class="separator:gabd6fdcb2602fc8d13398910bc686bdc9"><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>
Interrupt Interface</h2></td></tr>
<tr class="memitem:ga27dbf970a81d3a055cbbb47385cd15ec"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga27dbf970a81d3a055cbbb47385cd15ec">CMP_EnableInterrupt</a> (uint32_t type)</td></tr>
<tr class="memdesc:ga27dbf970a81d3a055cbbb47385cd15ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP enable interrupt. <a href="#ga27dbf970a81d3a055cbbb47385cd15ec">More...</a><br/></td></tr>
<tr class="separator:ga27dbf970a81d3a055cbbb47385cd15ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga343bee679e4ee6faa64b6a2079000336"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga343bee679e4ee6faa64b6a2079000336"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga343bee679e4ee6faa64b6a2079000336">CMP_DisableInterrupt</a> (void)</td></tr>
<tr class="memdesc:ga343bee679e4ee6faa64b6a2079000336"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP disable interrupt. <br/></td></tr>
<tr class="separator:ga343bee679e4ee6faa64b6a2079000336"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga799a099b0d38348b4ef1e17706039972"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga799a099b0d38348b4ef1e17706039972"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga799a099b0d38348b4ef1e17706039972">CMP_ClearInterrupt</a> (void)</td></tr>
<tr class="memdesc:ga799a099b0d38348b4ef1e17706039972"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP clear interrupt. <br/></td></tr>
<tr class="separator:ga799a099b0d38348b4ef1e17706039972"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49f2a21ce902c594694071b04ba2b2a9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga49f2a21ce902c594694071b04ba2b2a9">CMP_EnableFilteredInterruptSource</a> (bool enable)</td></tr>
<tr class="memdesc:ga49f2a21ce902c594694071b04ba2b2a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select which Analog comparator output (filtered or un-filtered) is used for interrupt detection. <a href="#ga49f2a21ce902c594694071b04ba2b2a9">More...</a><br/></td></tr>
<tr class="separator:ga49f2a21ce902c594694071b04ba2b2a9"><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>
Status Interface</h2></td></tr>
<tr class="memitem:ga2c9998c1ef986b0a194587d31088f079"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga2c9998c1ef986b0a194587d31088f079">CMP_GetPreviousInterruptStatus</a> (void)</td></tr>
<tr class="memdesc:ga2c9998c1ef986b0a194587d31088f079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get CMP interrupt status before interupt enable. <a href="#ga2c9998c1ef986b0a194587d31088f079">More...</a><br/></td></tr>
<tr class="separator:ga2c9998c1ef986b0a194587d31088f079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9d8b2cc527a9fdcaf2973ef52f9845e"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#gaa9d8b2cc527a9fdcaf2973ef52f9845e">CMP_GetInterruptStatus</a> (void)</td></tr>
<tr class="memdesc:gaa9d8b2cc527a9fdcaf2973ef52f9845e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get CMP interrupt status after interupt enable. <a href="#gaa9d8b2cc527a9fdcaf2973ef52f9845e">More...</a><br/></td></tr>
<tr class="separator:gaa9d8b2cc527a9fdcaf2973ef52f9845e"><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>
Filter Interface</h2></td></tr>
<tr class="memitem:ga1afcdf16e00578ca894eedae2c810731"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ga1afcdf16e00578ca894eedae2c810731">CMP_FilterSampleConfig</a> (<a class="el" href="a00010.html#gafbb250eeb0a9362fc681ac4dc0f3522e">cmp_filtercgf_samplemode_t</a> filterSampleMode, <a class="el" href="a00010.html#ga9d22199879bcc7b28973f024e2ade1dc">cmp_filtercgf_clkdiv_t</a> filterClockDivider)</td></tr>
<tr class="memdesc:ga1afcdf16e00578ca894eedae2c810731"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Filter Sample Config. <a href="#ga1afcdf16e00578ca894eedae2c810731">More...</a><br/></td></tr>
<tr class="separator:ga1afcdf16e00578ca894eedae2c810731"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00303" id="a00303"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _cmp_config</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:a7902d33b50a865310fc7eafa718d92e6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a7902d33b50a865310fc7eafa718d92e6">enableHysteresis</a></td></tr>
<tr class="memdesc:a7902d33b50a865310fc7eafa718d92e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable hysteresis. <a href="#a7902d33b50a865310fc7eafa718d92e6">More...</a><br/></td></tr>
<tr class="separator:a7902d33b50a865310fc7eafa718d92e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a06e95df57687f8045560e1402a77d1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a0a06e95df57687f8045560e1402a77d1">enableLowPower</a></td></tr>
<tr class="memdesc:a0a06e95df57687f8045560e1402a77d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable low power mode. <a href="#a0a06e95df57687f8045560e1402a77d1">More...</a><br/></td></tr>
<tr class="separator:a0a06e95df57687f8045560e1402a77d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a7902d33b50a865310fc7eafa718d92e6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _cmp_config::enableHysteresis</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0a06e95df57687f8045560e1402a77d1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _cmp_config::enableLowPower</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga8b6413b07d768817e75758d8a6ce612b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_CMP_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="a00242.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2U, 2U, 1U))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga1fab2bc8df2f92de6896a4e6624a2dfb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00010.html#ga40d12c8a743f5b7a64fe13c4b9581671">_cmp_vref_source</a> <a class="el" href="a00010.html#ga1fab2bc8df2f92de6896a4e6624a2dfb">cmp_vref_source_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gafbb250eeb0a9362fc681ac4dc0f3522e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00010.html#ga30fe80c3ec5901c74c67dca407517290">_cmp_filtercgf_samplemode</a> <a class="el" href="a00010.html#gafbb250eeb0a9362fc681ac4dc0f3522e">cmp_filtercgf_samplemode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga9d22199879bcc7b28973f024e2ade1dc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00010.html#gae8d659ed4125494a59f6339faf855152">_cmp_filtercgf_clkdiv</a> <a class="el" href="a00010.html#ga9d22199879bcc7b28973f024e2ade1dc">cmp_filtercgf_clkdiv_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga09627e0e7baa3c87d42f7f2c786f2673"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00010.html#a00303">_cmp_config</a> <a class="el" href="a00010.html#ga09627e0e7baa3c87d42f7f2c786f2673">cmp_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga01254612ee48dd97ff1adb3d860507cd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00010.html#ga01254612ee48dd97ff1adb3d860507cd">_cmp_input_mux</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="gga01254612ee48dd97ff1adb3d860507cda6bbc15c4432f49debb792a15fa0bbbfa"></a>kCMP_InputVREF</em>&nbsp;</td><td class="fielddoc">
<p>Cmp input from VREF. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga01254612ee48dd97ff1adb3d860507cda9e178b6d83a1d9826029540de60d2565"></a>kCMP_Input1</em>&nbsp;</td><td class="fielddoc">
<p>Cmp input source 1. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga01254612ee48dd97ff1adb3d860507cda4a55b80a7a27082baaeec855be29de0a"></a>kCMP_Input2</em>&nbsp;</td><td class="fielddoc">
<p>Cmp input source 2. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga01254612ee48dd97ff1adb3d860507cda93f9253ce871f29cfdb7a30c7391a2ea"></a>kCMP_Input3</em>&nbsp;</td><td class="fielddoc">
<p>Cmp input source 3. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga01254612ee48dd97ff1adb3d860507cda0155425dc354027e33d92433174b9bf3"></a>kCMP_Input4</em>&nbsp;</td><td class="fielddoc">
<p>Cmp input source 4. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga01254612ee48dd97ff1adb3d860507cda6711c2adc029b212232080a4e4b8b124"></a>kCMP_Input5</em>&nbsp;</td><td class="fielddoc">
<p>Cmp input source 5. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga296b0daf7a74da1189f9322b24c5f640"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00010.html#ga296b0daf7a74da1189f9322b24c5f640">_cmp_interrupt_type</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="gga296b0daf7a74da1189f9322b24c5f640a058e2aff0f62650a348d411182dc9573"></a>kCMP_EdgeDisable</em>&nbsp;</td><td class="fielddoc">
<p>Disable edge interupt. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga296b0daf7a74da1189f9322b24c5f640a621033493cbd1a2e81fab9cb10554f48"></a>kCMP_EdgeRising</em>&nbsp;</td><td class="fielddoc">
<p>Interrupt on falling edge. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga296b0daf7a74da1189f9322b24c5f640aef5d7e259921f9bcbe9c5a8b998dc251"></a>kCMP_EdgeFalling</em>&nbsp;</td><td class="fielddoc">
<p>Interrupt on rising edge. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga296b0daf7a74da1189f9322b24c5f640a1c569bfbea0b76704baa278acdd1bc92"></a>kCMP_EdgeRisingFalling</em>&nbsp;</td><td class="fielddoc">
<p>Interrupt on both rising and falling edges. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga296b0daf7a74da1189f9322b24c5f640a4815562814e55eefe6da4baa2c58362a"></a>kCMP_LevelDisable</em>&nbsp;</td><td class="fielddoc">
<p>Disable level interupt. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga296b0daf7a74da1189f9322b24c5f640ac04262ec16353f7a1a8a23f44b3cf060"></a>kCMP_LevelHigh</em>&nbsp;</td><td class="fielddoc">
<p>Interrupt on high level. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga296b0daf7a74da1189f9322b24c5f640ac91224c19eb0c84bd958f4f22a030263"></a>kCMP_LevelLow</em>&nbsp;</td><td class="fielddoc">
<p>Interrupt on low level. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga40d12c8a743f5b7a64fe13c4b9581671"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00010.html#ga40d12c8a743f5b7a64fe13c4b9581671">_cmp_vref_source</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="gga40d12c8a743f5b7a64fe13c4b9581671a0de26a0005f4f6f6fd4a1ec8ffd9e465"></a>KCMP_VREFSourceVDDA</em>&nbsp;</td><td class="fielddoc">
<p>Select VDDA as VREF. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga40d12c8a743f5b7a64fe13c4b9581671a7c99e7da82a9b06c74b2c0a012f94eeb"></a>KCMP_VREFSourceInternalVREF</em>&nbsp;</td><td class="fielddoc">
<p>Select internal VREF as VREF. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga30fe80c3ec5901c74c67dca407517290"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00010.html#ga30fe80c3ec5901c74c67dca407517290">_cmp_filtercgf_samplemode</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="gga30fe80c3ec5901c74c67dca407517290a2add28f7df934d29b7535c87f5869aec"></a>kCMP_FilterSampleMode0</em>&nbsp;</td><td class="fielddoc">
<p>Bypass mode. </p>
<p>Filtering is disabled. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga30fe80c3ec5901c74c67dca407517290af955663ecadcd75f9277e98db34b8c03"></a>kCMP_FilterSampleMode1</em>&nbsp;</td><td class="fielddoc">
<p>Filter 1 clock period. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga30fe80c3ec5901c74c67dca407517290a62f0debd8fb18813d59431ad2909d874"></a>kCMP_FilterSampleMode2</em>&nbsp;</td><td class="fielddoc">
<p>Filter 2 clock period. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga30fe80c3ec5901c74c67dca407517290a50f0b8cbfd58be447bbd4cf2502e71ee"></a>kCMP_FilterSampleMode3</em>&nbsp;</td><td class="fielddoc">
<p>Filter 3 clock period. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gae8d659ed4125494a59f6339faf855152"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00010.html#gae8d659ed4125494a59f6339faf855152">_cmp_filtercgf_clkdiv</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="ggae8d659ed4125494a59f6339faf855152adc4fdb627c94c27980f7fc5c0ac03070"></a>kCMP_FilterClockDivide1</em>&nbsp;</td><td class="fielddoc">
<p>Filter clock period duration equals 1 analog comparator clock period. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae8d659ed4125494a59f6339faf855152a299b114200cc71ef16efcae7de1b3e3f"></a>kCMP_FilterClockDivide2</em>&nbsp;</td><td class="fielddoc">
<p>Filter clock period duration equals 2 analog comparator clock period. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae8d659ed4125494a59f6339faf855152a4b177854e878227aab6260850f363082"></a>kCMP_FilterClockDivide4</em>&nbsp;</td><td class="fielddoc">
<p>Filter clock period duration equals 4 analog comparator clock period. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae8d659ed4125494a59f6339faf855152a09aeab4deaa367e481bfab949afaabb7"></a>kCMP_FilterClockDivide8</em>&nbsp;</td><td class="fielddoc">
<p>Filter clock period duration equals 8 analog comparator clock period. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae8d659ed4125494a59f6339faf855152a3d04c24b97d389272c92526bbccce452"></a>kCMP_FilterClockDivide16</em>&nbsp;</td><td class="fielddoc">
<p>Filter clock period duration equals 16 analog comparator clock period. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae8d659ed4125494a59f6339faf855152a23cd5f3368fb33802846241576252b0c"></a>kCMP_FilterClockDivide32</em>&nbsp;</td><td class="fielddoc">
<p>Filter clock period duration equals 32 analog comparator clock period. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae8d659ed4125494a59f6339faf855152aea69d2407460c2cc327923b0852bc742"></a>kCMP_FilterClockDivide64</em>&nbsp;</td><td class="fielddoc">
<p>Filter clock period duration equals 64 analog comparator clock period. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga3ee8a5f41142a020083defd0b43dbc40"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_Init </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00010.html#ga09627e0e7baa3c87d42f7f2c786f2673">cmp_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 enables the CMP module and do necessary settings.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to the configuration structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5ede18bed83c2867ebe7abcfc3b48f5b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_Deinit </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function gates the clock for CMP module. </p>
</div>
</div>
<a class="anchor" id="gae3f987e58dece632e66665514c01e109"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_GetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00010.html#ga09627e0e7baa3c87d42f7f2c786f2673">cmp_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 these default values. </p>
<div class="fragment"><div class="line">* config-&gt;enableHysteresis = <span class="keyword">true</span>;</div>
<div class="line">* config-&gt;enableLowPower = <span class="keyword">true</span>;</div>
<div class="line">* config-&gt;filterClockDivider = <a class="code" href="a00010.html#ggae8d659ed4125494a59f6339faf855152adc4fdb627c94c27980f7fc5c0ac03070">kCMP_FilterClockDivide1</a>;</div>
<div class="line">* config-&gt;filterSampleMode = <a class="code" href="a00010.html#gga30fe80c3ec5901c74c67dca407517290a2add28f7df934d29b7535c87f5869aec">kCMP_FilterSampleMode0</a>;</div>
<div class="line">* </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. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gacfb55efd6ccaad7023bd11d4b1397081"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_SetVREF </td>
<td>(</td>
<td class="paramtype">const cmp_vref_config_t *&#160;</td>
<td class="paramname"><em>config</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">config</td><td>Pointer to the configuration structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gabd6fdcb2602fc8d13398910bc686bdc9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool CMP_GetOutput </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></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="section return"><dt>Returns</dt><dd>The output result. true: voltage on positive side is greater than negative side. false: voltage on positive side is lower than negative side. </dd></dl>
</div>
</div>
<a class="anchor" id="ga27dbf970a81d3a055cbbb47385cd15ec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void CMP_EnableInterrupt </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>type</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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">type</td><td>CMP interrupt type. See "_cmp_interrupt_type". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga49f2a21ce902c594694071b04ba2b2a9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void CMP_EnableFilteredInterruptSource </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enable</td><td>false: Select Analog Comparator raw output (unfiltered) as input for interrupt detection. true: Select Analog Comparator filtered output as input for interrupt detection.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: When CMP is configured as the wakeup source in power down mode, this function must use the raw output as the interupt source, that is, call this function and set parameter enable to false. </dd></dl>
</div>
</div>
<a class="anchor" id="ga2c9998c1ef986b0a194587d31088f079"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool CMP_GetPreviousInterruptStatus </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></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="section return"><dt>Returns</dt><dd>Interrupt status. true: interrupt pending, false: no interrupt pending. </dd></dl>
</div>
</div>
<a class="anchor" id="gaa9d8b2cc527a9fdcaf2973ef52f9845e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool CMP_GetInterruptStatus </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></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="section return"><dt>Returns</dt><dd>Interrupt status. true: interrupt pending, false: no interrupt pending. </dd></dl>
</div>
</div>
<a class="anchor" id="ga1afcdf16e00578ca894eedae2c810731"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void CMP_FilterSampleConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00010.html#gafbb250eeb0a9362fc681ac4dc0f3522e">cmp_filtercgf_samplemode_t</a>&#160;</td>
<td class="paramname"><em>filterSampleMode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00010.html#ga9d22199879bcc7b28973f024e2ade1dc">cmp_filtercgf_clkdiv_t</a>&#160;</td>
<td class="paramname"><em>filterClockDivider</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">
<p>This function allows the users to configure the sampling mode and clock divider of the CMP Filter.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filterSampleMode</td><td>CMP Select filter sample mode </td></tr>
<tr><td class="paramname">filterClockDivider</td><td>CMP Set fileter clock divider </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>