MCUXpresso_MIMXRT1021xxxxx/docs/MCUXpresso SDK API Referenc.../a00013.html

1028 lines
56 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('a00013.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>
<p>The CMP driver is a basic comparator with advanced features. The APIs for the basic comparator enable the CMP to compare the two voltages of the two input channels and create the output of the comparator result. The APIs for advanced features can be used as the plug-in functions based on the basic comparator. They can process the comparator's output with hardware support.</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 </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 </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:a00312"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a00312">_cmp_config</a></td></tr>
<tr class="memdesc:a00312"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the comparator. <a href="a00013.html#a00312">More...</a><br/></td></tr>
<tr class="separator:a00312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00314"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a00314">_cmp_filter_config</a></td></tr>
<tr class="memdesc:a00314"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the filter. <a href="a00013.html#a00314">More...</a><br/></td></tr>
<tr class="separator:a00314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00313"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a00313">_cmp_dac_config</a></td></tr>
<tr class="memdesc:a00313"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the internal DAC. <a href="a00013.html#a00313">More...</a><br/></td></tr>
<tr class="separator:a00313"><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:gad606ea9114e4593de53101b73bb23da1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad606ea9114e4593de53101b73bb23da1"></a>
typedef enum <a class="el" href="a00013.html#ga99173caa09ae81a28f0284b345176811">_cmp_hysteresis_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#gad606ea9114e4593de53101b73bb23da1">cmp_hysteresis_mode_t</a></td></tr>
<tr class="memdesc:gad606ea9114e4593de53101b73bb23da1"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Hysteresis mode. <br/></td></tr>
<tr class="separator:gad606ea9114e4593de53101b73bb23da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3cd8ccd0cb5dc3836b212e9e3f10a020"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3cd8ccd0cb5dc3836b212e9e3f10a020"></a>
typedef enum <br class="typebreak"/>
<a class="el" href="a00013.html#ga8bbd3dfaa2704cc7db111cb555894ca0">_cmp_reference_voltage_source</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga3cd8ccd0cb5dc3836b212e9e3f10a020">cmp_reference_voltage_source_t</a></td></tr>
<tr class="memdesc:ga3cd8ccd0cb5dc3836b212e9e3f10a020"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Voltage Reference source. <br/></td></tr>
<tr class="separator:ga3cd8ccd0cb5dc3836b212e9e3f10a020"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09627e0e7baa3c87d42f7f2c786f2673"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga09627e0e7baa3c87d42f7f2c786f2673"></a>
typedef struct <a class="el" href="a00013.html#a00312">_cmp_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga09627e0e7baa3c87d42f7f2c786f2673">cmp_config_t</a></td></tr>
<tr class="memdesc:ga09627e0e7baa3c87d42f7f2c786f2673"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the comparator. <br/></td></tr>
<tr class="separator:ga09627e0e7baa3c87d42f7f2c786f2673"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5c9168316f2497bcba2848cdff18e0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad5c9168316f2497bcba2848cdff18e0b"></a>
typedef struct <a class="el" href="a00013.html#a00314">_cmp_filter_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#gad5c9168316f2497bcba2848cdff18e0b">cmp_filter_config_t</a></td></tr>
<tr class="memdesc:gad5c9168316f2497bcba2848cdff18e0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the filter. <br/></td></tr>
<tr class="separator:gad5c9168316f2497bcba2848cdff18e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga058f4e1be6fc2f948ee6f6715db7c547"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga058f4e1be6fc2f948ee6f6715db7c547"></a>
typedef struct <a class="el" href="a00013.html#a00313">_cmp_dac_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga058f4e1be6fc2f948ee6f6715db7c547">cmp_dac_config_t</a></td></tr>
<tr class="memdesc:ga058f4e1be6fc2f948ee6f6715db7c547"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the internal DAC. <br/></td></tr>
<tr class="separator:ga058f4e1be6fc2f948ee6f6715db7c547"><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:ga985bb411310dc841bb432072599dceb5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga985bb411310dc841bb432072599dceb5">_cmp_interrupt_enable</a> { <br/>
&#160;&#160;<a class="el" href="a00013.html#gga985bb411310dc841bb432072599dceb5a0ff51a957f1d4f252f6857731c0b5ca1">kCMP_OutputRisingInterruptEnable</a> = CMP_SCR_IER_MASK,
<br/>
&#160;&#160;<a class="el" href="a00013.html#gga985bb411310dc841bb432072599dceb5a8976b76c2ef49c93106d9f561ca666d2">kCMP_OutputFallingInterruptEnable</a> = CMP_SCR_IEF_MASK
<br/>
}</td></tr>
<tr class="memdesc:ga985bb411310dc841bb432072599dceb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt enable/disable mask. <a href="a00013.html#ga985bb411310dc841bb432072599dceb5">More...</a><br/></td></tr>
<tr class="separator:ga985bb411310dc841bb432072599dceb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga948ec869580a67bebaff6f2e0f3e42c8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga948ec869580a67bebaff6f2e0f3e42c8">_cmp_status_flags</a> { <br/>
&#160;&#160;<a class="el" href="a00013.html#gga948ec869580a67bebaff6f2e0f3e42c8aa646eb5f296db0906e89322ca6ec0da1">kCMP_OutputRisingEventFlag</a> = CMP_SCR_CFR_MASK,
<br/>
&#160;&#160;<a class="el" href="a00013.html#gga948ec869580a67bebaff6f2e0f3e42c8a1c9bd8b6e0825ad465a47c60a3dad473">kCMP_OutputFallingEventFlag</a> = CMP_SCR_CFF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00013.html#gga948ec869580a67bebaff6f2e0f3e42c8a9b4382c01c2497d4a8510fe8cd009def">kCMP_OutputAssertEventFlag</a> = CMP_SCR_COUT_MASK
<br/>
}</td></tr>
<tr class="memdesc:ga948ec869580a67bebaff6f2e0f3e42c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status flags' mask. <a href="a00013.html#ga948ec869580a67bebaff6f2e0f3e42c8">More...</a><br/></td></tr>
<tr class="separator:ga948ec869580a67bebaff6f2e0f3e42c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99173caa09ae81a28f0284b345176811"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga99173caa09ae81a28f0284b345176811">_cmp_hysteresis_mode</a> { <br/>
&#160;&#160;<a class="el" href="a00013.html#gga99173caa09ae81a28f0284b345176811a204ac01271f075b8f56785c3777b61ba">kCMP_HysteresisLevel0</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00013.html#gga99173caa09ae81a28f0284b345176811a1f34db50168b964cf653f7ee8b8a3afb">kCMP_HysteresisLevel1</a> = 1U,
<br/>
&#160;&#160;<a class="el" href="a00013.html#gga99173caa09ae81a28f0284b345176811a5e86245ea1f88cdcc54482707c7dc2d2">kCMP_HysteresisLevel2</a> = 2U,
<br/>
&#160;&#160;<a class="el" href="a00013.html#gga99173caa09ae81a28f0284b345176811a3923e973b3f6a0f2b6d0ffd271b3735d">kCMP_HysteresisLevel3</a> = 3U
<br/>
}</td></tr>
<tr class="memdesc:ga99173caa09ae81a28f0284b345176811"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Hysteresis mode. <a href="a00013.html#ga99173caa09ae81a28f0284b345176811">More...</a><br/></td></tr>
<tr class="separator:ga99173caa09ae81a28f0284b345176811"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8bbd3dfaa2704cc7db111cb555894ca0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga8bbd3dfaa2704cc7db111cb555894ca0">_cmp_reference_voltage_source</a> { <br/>
&#160;&#160;<a class="el" href="a00013.html#gga8bbd3dfaa2704cc7db111cb555894ca0ac567b56a364a1bc2816bfe68a4696b95">kCMP_VrefSourceVin1</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00013.html#gga8bbd3dfaa2704cc7db111cb555894ca0a4debdbdd1f9e6ade8b7ef646332251ca">kCMP_VrefSourceVin2</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:ga8bbd3dfaa2704cc7db111cb555894ca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Voltage Reference source. <a href="a00013.html#ga8bbd3dfaa2704cc7db111cb555894ca0">More...</a><br/></td></tr>
<tr class="separator:ga8bbd3dfaa2704cc7db111cb555894ca0"><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="a00013.html#ga8b6413b07d768817e75758d8a6ce612b">FSL_CMP_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="a00260.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 0, 3))</td></tr>
<tr class="memdesc:ga8b6413b07d768817e75758d8a6ce612b"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP driver version 2.0.3. <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</h2></td></tr>
<tr class="memitem:ga6f62245ac63801ce51bfaf9188c9bc99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga6f62245ac63801ce51bfaf9188c9bc99">CMP_Init</a> (CMP_Type *base, const <a class="el" href="a00013.html#ga09627e0e7baa3c87d42f7f2c786f2673">cmp_config_t</a> *config)</td></tr>
<tr class="memdesc:ga6f62245ac63801ce51bfaf9188c9bc99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the CMP. <a href="#ga6f62245ac63801ce51bfaf9188c9bc99">More...</a><br/></td></tr>
<tr class="separator:ga6f62245ac63801ce51bfaf9188c9bc99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b6fb1ead2c6dd4b13246b630a91f4d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga3b6fb1ead2c6dd4b13246b630a91f4d8">CMP_Deinit</a> (CMP_Type *base)</td></tr>
<tr class="memdesc:ga3b6fb1ead2c6dd4b13246b630a91f4d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes the CMP module. <a href="#ga3b6fb1ead2c6dd4b13246b630a91f4d8">More...</a><br/></td></tr>
<tr class="separator:ga3b6fb1ead2c6dd4b13246b630a91f4d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga265b23b5d173fc389289aeac99f94402"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga265b23b5d173fc389289aeac99f94402">CMP_Enable</a> (CMP_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga265b23b5d173fc389289aeac99f94402"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the CMP module. <a href="#ga265b23b5d173fc389289aeac99f94402">More...</a><br/></td></tr>
<tr class="separator:ga265b23b5d173fc389289aeac99f94402"><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="a00013.html#gae3f987e58dece632e66665514c01e109">CMP_GetDefaultConfig</a> (<a class="el" href="a00013.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>
<tr class="memitem:ga7021cf6a3df2d233781d9763d4562260"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga7021cf6a3df2d233781d9763d4562260">CMP_SetInputChannels</a> (CMP_Type *base, uint8_t positiveChannel, uint8_t negativeChannel)</td></tr>
<tr class="memdesc:ga7021cf6a3df2d233781d9763d4562260"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the input channels for the comparator. <a href="#ga7021cf6a3df2d233781d9763d4562260">More...</a><br/></td></tr>
<tr class="separator:ga7021cf6a3df2d233781d9763d4562260"><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>
Advanced Features</h2></td></tr>
<tr class="memitem:gaf2a4aaf25e16818814fd9d68d81e705c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#gaf2a4aaf25e16818814fd9d68d81e705c">CMP_EnableDMA</a> (CMP_Type *base, bool enable)</td></tr>
<tr class="memdesc:gaf2a4aaf25e16818814fd9d68d81e705c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the DMA request for rising/falling events. <a href="#gaf2a4aaf25e16818814fd9d68d81e705c">More...</a><br/></td></tr>
<tr class="separator:gaf2a4aaf25e16818814fd9d68d81e705c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51ddc6286d9078a971af1c21fcd67b35"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga51ddc6286d9078a971af1c21fcd67b35">CMP_EnableWindowMode</a> (CMP_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga51ddc6286d9078a971af1c21fcd67b35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the window mode. <a href="#ga51ddc6286d9078a971af1c21fcd67b35">More...</a><br/></td></tr>
<tr class="separator:ga51ddc6286d9078a971af1c21fcd67b35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57bade782c390ef4b805bde6198fa611"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga57bade782c390ef4b805bde6198fa611">CMP_SetFilterConfig</a> (CMP_Type *base, const <a class="el" href="a00013.html#gad5c9168316f2497bcba2848cdff18e0b">cmp_filter_config_t</a> *config)</td></tr>
<tr class="memdesc:ga57bade782c390ef4b805bde6198fa611"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the filter. <a href="#ga57bade782c390ef4b805bde6198fa611">More...</a><br/></td></tr>
<tr class="separator:ga57bade782c390ef4b805bde6198fa611"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61434c1828d7ef35a349eef6ec37d0c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga61434c1828d7ef35a349eef6ec37d0c2">CMP_SetDACConfig</a> (CMP_Type *base, const <a class="el" href="a00013.html#ga058f4e1be6fc2f948ee6f6715db7c547">cmp_dac_config_t</a> *config)</td></tr>
<tr class="memdesc:ga61434c1828d7ef35a349eef6ec37d0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the internal DAC. <a href="#ga61434c1828d7ef35a349eef6ec37d0c2">More...</a><br/></td></tr>
<tr class="separator:ga61434c1828d7ef35a349eef6ec37d0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e7dc0f35a19a4b10894d0eca547befb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga9e7dc0f35a19a4b10894d0eca547befb">CMP_EnableInterrupts</a> (CMP_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga9e7dc0f35a19a4b10894d0eca547befb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the interrupts. <a href="#ga9e7dc0f35a19a4b10894d0eca547befb">More...</a><br/></td></tr>
<tr class="separator:ga9e7dc0f35a19a4b10894d0eca547befb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10b5e9acf21bc30c754b76dc9afd0db6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga10b5e9acf21bc30c754b76dc9afd0db6">CMP_DisableInterrupts</a> (CMP_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga10b5e9acf21bc30c754b76dc9afd0db6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the interrupts. <a href="#ga10b5e9acf21bc30c754b76dc9afd0db6">More...</a><br/></td></tr>
<tr class="separator:ga10b5e9acf21bc30c754b76dc9afd0db6"><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>
Results</h2></td></tr>
<tr class="memitem:ga383d33c2a6b879aabfe2e5edf283ee3a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ga383d33c2a6b879aabfe2e5edf283ee3a">CMP_GetStatusFlags</a> (CMP_Type *base)</td></tr>
<tr class="memdesc:ga383d33c2a6b879aabfe2e5edf283ee3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the status flags. <a href="#ga383d33c2a6b879aabfe2e5edf283ee3a">More...</a><br/></td></tr>
<tr class="separator:ga383d33c2a6b879aabfe2e5edf283ee3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9ff11446780bc7a7e76a66660a5072a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#gae9ff11446780bc7a7e76a66660a5072a">CMP_ClearStatusFlags</a> (CMP_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:gae9ff11446780bc7a7e76a66660a5072a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the status flags. <a href="#gae9ff11446780bc7a7e76a66660a5072a">More...</a><br/></td></tr>
<tr class="separator:gae9ff11446780bc7a7e76a66660a5072a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00312" id="a00312"></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:afed45b7b1d675c55e5c9c5c26600e9c9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#afed45b7b1d675c55e5c9c5c26600e9c9">enableCmp</a></td></tr>
<tr class="memdesc:afed45b7b1d675c55e5c9c5c26600e9c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the CMP module. <a href="#afed45b7b1d675c55e5c9c5c26600e9c9">More...</a><br/></td></tr>
<tr class="separator:afed45b7b1d675c55e5c9c5c26600e9c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a334c5f94f4eec56c197c86fb820951af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00013.html#gad606ea9114e4593de53101b73bb23da1">cmp_hysteresis_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a334c5f94f4eec56c197c86fb820951af">hysteresisMode</a></td></tr>
<tr class="memdesc:a334c5f94f4eec56c197c86fb820951af"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMP Hysteresis mode. <a href="#a334c5f94f4eec56c197c86fb820951af">More...</a><br/></td></tr>
<tr class="separator:a334c5f94f4eec56c197c86fb820951af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fe079694afdfc0273499b3deb368909"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a5fe079694afdfc0273499b3deb368909">enableHighSpeed</a></td></tr>
<tr class="memdesc:a5fe079694afdfc0273499b3deb368909"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable High-speed (HS) comparison mode. <a href="#a5fe079694afdfc0273499b3deb368909">More...</a><br/></td></tr>
<tr class="separator:a5fe079694afdfc0273499b3deb368909"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae45d5e73c1a0ae12a3994dea77479f08"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ae45d5e73c1a0ae12a3994dea77479f08">enableInvertOutput</a></td></tr>
<tr class="memdesc:ae45d5e73c1a0ae12a3994dea77479f08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the inverted comparator output. <a href="#ae45d5e73c1a0ae12a3994dea77479f08">More...</a><br/></td></tr>
<tr class="separator:ae45d5e73c1a0ae12a3994dea77479f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa24d83ef6008baab057c6142c97b3b34"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#aa24d83ef6008baab057c6142c97b3b34">useUnfilteredOutput</a></td></tr>
<tr class="memdesc:aa24d83ef6008baab057c6142c97b3b34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the compare output(COUT) to equal COUTA(true) or COUT(false). <a href="#aa24d83ef6008baab057c6142c97b3b34">More...</a><br/></td></tr>
<tr class="separator:aa24d83ef6008baab057c6142c97b3b34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af54e86e502b0065d7ad715d82508cf4e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#af54e86e502b0065d7ad715d82508cf4e">enablePinOut</a></td></tr>
<tr class="memdesc:af54e86e502b0065d7ad715d82508cf4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The comparator output is available on the associated pin. <a href="#af54e86e502b0065d7ad715d82508cf4e">More...</a><br/></td></tr>
<tr class="separator:af54e86e502b0065d7ad715d82508cf4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="afed45b7b1d675c55e5c9c5c26600e9c9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _cmp_config::enableCmp</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a334c5f94f4eec56c197c86fb820951af"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00013.html#gad606ea9114e4593de53101b73bb23da1">cmp_hysteresis_mode_t</a> _cmp_config::hysteresisMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5fe079694afdfc0273499b3deb368909"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _cmp_config::enableHighSpeed</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae45d5e73c1a0ae12a3994dea77479f08"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _cmp_config::enableInvertOutput</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa24d83ef6008baab057c6142c97b3b34"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _cmp_config::useUnfilteredOutput</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af54e86e502b0065d7ad715d82508cf4e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _cmp_config::enablePinOut</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00314" id="a00314"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _cmp_filter_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:aaaaa4cd46c1880e1237fd4b014a7dfa7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#aaaaa4cd46c1880e1237fd4b014a7dfa7">enableSample</a></td></tr>
<tr class="memdesc:aaaaa4cd46c1880e1237fd4b014a7dfa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Using the external SAMPLE as a sampling clock input or using a divided bus clock. <a href="#aaaaa4cd46c1880e1237fd4b014a7dfa7">More...</a><br/></td></tr>
<tr class="separator:aaaaa4cd46c1880e1237fd4b014a7dfa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0a31df25618c3ede2511e940fe0afa2"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#af0a31df25618c3ede2511e940fe0afa2">filterCount</a></td></tr>
<tr class="memdesc:af0a31df25618c3ede2511e940fe0afa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter Sample Count. <a href="#af0a31df25618c3ede2511e940fe0afa2">More...</a><br/></td></tr>
<tr class="separator:af0a31df25618c3ede2511e940fe0afa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0334dcbdcb9564440b62f81b7b5979c8"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a0334dcbdcb9564440b62f81b7b5979c8">filterPeriod</a></td></tr>
<tr class="memdesc:a0334dcbdcb9564440b62f81b7b5979c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter Sample Period. <a href="#a0334dcbdcb9564440b62f81b7b5979c8">More...</a><br/></td></tr>
<tr class="separator:a0334dcbdcb9564440b62f81b7b5979c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="aaaaa4cd46c1880e1237fd4b014a7dfa7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _cmp_filter_config::enableSample</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af0a31df25618c3ede2511e940fe0afa2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _cmp_filter_config::filterCount</td>
</tr>
</table>
</div><div class="memdoc">
<p>Available range is 1-7; 0 disables the filter. </p>
</div>
</div>
<a class="anchor" id="a0334dcbdcb9564440b62f81b7b5979c8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _cmp_filter_config::filterPeriod</td>
</tr>
</table>
</div><div class="memdoc">
<p>The divider to the bus clock. Available range is 0-255. </p>
</div>
</div>
</div>
</div>
<a name="a00313" id="a00313"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _cmp_dac_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:aaca56ee51e349356986acc0024c0a6d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00013.html#ga3cd8ccd0cb5dc3836b212e9e3f10a020">cmp_reference_voltage_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#aaca56ee51e349356986acc0024c0a6d3">referenceVoltageSource</a></td></tr>
<tr class="memdesc:aaca56ee51e349356986acc0024c0a6d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supply voltage reference source. <a href="#aaca56ee51e349356986acc0024c0a6d3">More...</a><br/></td></tr>
<tr class="separator:aaca56ee51e349356986acc0024c0a6d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9903a46fab79c7ea854ae520dd88c96"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ac9903a46fab79c7ea854ae520dd88c96">DACValue</a></td></tr>
<tr class="memdesc:ac9903a46fab79c7ea854ae520dd88c96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value for the DAC Output Voltage. <a href="#ac9903a46fab79c7ea854ae520dd88c96">More...</a><br/></td></tr>
<tr class="separator:ac9903a46fab79c7ea854ae520dd88c96"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="aaca56ee51e349356986acc0024c0a6d3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00013.html#ga3cd8ccd0cb5dc3836b212e9e3f10a020">cmp_reference_voltage_source_t</a> _cmp_dac_config::referenceVoltageSource</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac9903a46fab79c7ea854ae520dd88c96"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _cmp_dac_config::DACValue</td>
</tr>
</table>
</div><div class="memdoc">
<p>Available range is 0-63. </p>
</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="a00260.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 0, 3))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga985bb411310dc841bb432072599dceb5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00013.html#ga985bb411310dc841bb432072599dceb5">_cmp_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="gga985bb411310dc841bb432072599dceb5a0ff51a957f1d4f252f6857731c0b5ca1"></a>kCMP_OutputRisingInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Comparator interrupt enable rising. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga985bb411310dc841bb432072599dceb5a8976b76c2ef49c93106d9f561ca666d2"></a>kCMP_OutputFallingInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Comparator interrupt enable falling. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga948ec869580a67bebaff6f2e0f3e42c8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00013.html#ga948ec869580a67bebaff6f2e0f3e42c8">_cmp_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="gga948ec869580a67bebaff6f2e0f3e42c8aa646eb5f296db0906e89322ca6ec0da1"></a>kCMP_OutputRisingEventFlag</em>&nbsp;</td><td class="fielddoc">
<p>Rising-edge on the comparison output has occurred. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga948ec869580a67bebaff6f2e0f3e42c8a1c9bd8b6e0825ad465a47c60a3dad473"></a>kCMP_OutputFallingEventFlag</em>&nbsp;</td><td class="fielddoc">
<p>Falling-edge on the comparison output has occurred. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga948ec869580a67bebaff6f2e0f3e42c8a9b4382c01c2497d4a8510fe8cd009def"></a>kCMP_OutputAssertEventFlag</em>&nbsp;</td><td class="fielddoc">
<p>Return the current value of the analog comparator output. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga99173caa09ae81a28f0284b345176811"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00013.html#ga99173caa09ae81a28f0284b345176811">_cmp_hysteresis_mode</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="gga99173caa09ae81a28f0284b345176811a204ac01271f075b8f56785c3777b61ba"></a>kCMP_HysteresisLevel0</em>&nbsp;</td><td class="fielddoc">
<p>Hysteresis level 0. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga99173caa09ae81a28f0284b345176811a1f34db50168b964cf653f7ee8b8a3afb"></a>kCMP_HysteresisLevel1</em>&nbsp;</td><td class="fielddoc">
<p>Hysteresis level 1. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga99173caa09ae81a28f0284b345176811a5e86245ea1f88cdcc54482707c7dc2d2"></a>kCMP_HysteresisLevel2</em>&nbsp;</td><td class="fielddoc">
<p>Hysteresis level 2. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga99173caa09ae81a28f0284b345176811a3923e973b3f6a0f2b6d0ffd271b3735d"></a>kCMP_HysteresisLevel3</em>&nbsp;</td><td class="fielddoc">
<p>Hysteresis level 3. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga8bbd3dfaa2704cc7db111cb555894ca0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00013.html#ga8bbd3dfaa2704cc7db111cb555894ca0">_cmp_reference_voltage_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="gga8bbd3dfaa2704cc7db111cb555894ca0ac567b56a364a1bc2816bfe68a4696b95"></a>kCMP_VrefSourceVin1</em>&nbsp;</td><td class="fielddoc">
<p>Vin1 is selected as a resistor ladder network supply reference Vin. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga8bbd3dfaa2704cc7db111cb555894ca0a4debdbdd1f9e6ade8b7ef646332251ca"></a>kCMP_VrefSourceVin2</em>&nbsp;</td><td class="fielddoc">
<p>Vin2 is selected as a resistor ladder network supply reference Vin. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga6f62245ac63801ce51bfaf9188c9bc99"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_Init </td>
<td>(</td>
<td class="paramtype">CMP_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="a00013.html#ga09627e0e7baa3c87d42f7f2c786f2673">cmp_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 CMP module. The operations included are as follows.</p>
<ul>
<li>Enabling the clock for CMP module.</li>
<li>Configuring the comparator.</li>
<li>Enabling the CMP module. Note that for some devices, multiple CMP instances share the same clock gate. In this case, to enable the clock for any instance enables all CMPs. See the appropriate MCU reference manual for the clock assignment of the CMP.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>CMP peripheral base address. </td></tr>
<tr><td class="paramname">config</td><td>Pointer to the configuration structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga3b6fb1ead2c6dd4b13246b630a91f4d8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_Deinit </td>
<td>(</td>
<td class="paramtype">CMP_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 CMP module. The operations included are as follows.</p>
<ul>
<li>Disabling the CMP module.</li>
<li>Disabling the clock for CMP module.</li>
</ul>
<p>This function disables the clock for the CMP. Note that for some devices, multiple CMP instances share the same clock gate. In this case, before disabling the clock for the CMP, ensure that all the CMP instances are not used.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>CMP peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga265b23b5d173fc389289aeac99f94402"></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_Enable </td>
<td>(</td>
<td class="paramtype">CMP_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>CMP peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>Enables or disables the module. </td></tr>
</table>
</dd>
</dl>
</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="a00013.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;enableCmp = <span class="keyword">true</span>;</div>
<div class="line">* config-&gt;hysteresisMode = <a class="code" href="a00013.html#gga99173caa09ae81a28f0284b345176811a204ac01271f075b8f56785c3777b61ba">kCMP_HysteresisLevel0</a>;</div>
<div class="line">* config-&gt;enableHighSpeed = <span class="keyword">false</span>;</div>
<div class="line">* config-&gt;enableInvertOutput = <span class="keyword">false</span>;</div>
<div class="line">* config-&gt;useUnfilteredOutput = <span class="keyword">false</span>;</div>
<div class="line">* config-&gt;enablePinOut = <span class="keyword">false</span>;</div>
<div class="line">* config-&gt;enableTriggerMode = <span class="keyword">false</span>;</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="ga7021cf6a3df2d233781d9763d4562260"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_SetInputChannels </td>
<td>(</td>
<td class="paramtype">CMP_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>positiveChannel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>negativeChannel</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets the input channels for the comparator. Note that two input channels cannot be set the same way in the application. When the user selects the same input from the analog mux to the positive and negative port, the comparator is disabled automatically.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>CMP peripheral base address. </td></tr>
<tr><td class="paramname">positiveChannel</td><td>Positive side input channel number. Available range is 0-7. </td></tr>
<tr><td class="paramname">negativeChannel</td><td>Negative side input channel number. Available range is 0-7. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf2a4aaf25e16818814fd9d68d81e705c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_EnableDMA </td>
<td>(</td>
<td class="paramtype">CMP_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>
</div><div class="memdoc">
<p>This function enables/disables the DMA request for rising/falling events. Either event triggers the generation of the DMA request from CMP if the DMA feature is enabled. Both events are ignored for generating the DMA request from the CMP if the DMA is disabled.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>CMP peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>Enables or disables the feature. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga51ddc6286d9078a971af1c21fcd67b35"></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_EnableWindowMode </td>
<td>(</td>
<td class="paramtype">CMP_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>CMP peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>Enables or disables the feature. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga57bade782c390ef4b805bde6198fa611"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_SetFilterConfig </td>
<td>(</td>
<td class="paramtype">CMP_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="a00013.html#gad5c9168316f2497bcba2848cdff18e0b">cmp_filter_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>CMP peripheral base address. </td></tr>
<tr><td class="paramname">config</td><td>Pointer to the configuration structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga61434c1828d7ef35a349eef6ec37d0c2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_SetDACConfig </td>
<td>(</td>
<td class="paramtype">CMP_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="a00013.html#ga058f4e1be6fc2f948ee6f6715db7c547">cmp_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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>CMP peripheral base address. </td></tr>
<tr><td class="paramname">config</td><td>Pointer to the configuration structure. "NULL" disables the feature. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9e7dc0f35a19a4b10894d0eca547befb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_EnableInterrupts </td>
<td>(</td>
<td class="paramtype">CMP_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>CMP peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>Mask value for interrupts. See "_cmp_interrupt_enable". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga10b5e9acf21bc30c754b76dc9afd0db6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_DisableInterrupts </td>
<td>(</td>
<td class="paramtype">CMP_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>CMP peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>Mask value for interrupts. See "_cmp_interrupt_enable". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga383d33c2a6b879aabfe2e5edf283ee3a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t CMP_GetStatusFlags </td>
<td>(</td>
<td class="paramtype">CMP_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>CMP peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Mask value for the asserted flags. See "_cmp_status_flags". </dd></dl>
</div>
</div>
<a class="anchor" id="gae9ff11446780bc7a7e76a66660a5072a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CMP_ClearStatusFlags </td>
<td>(</td>
<td class="paramtype">CMP_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>CMP peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>Mask value for the flags. See "_cmp_status_flags". </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>