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

2595 lines
158 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: LPI2C Master 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('a00045.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">LPI2C Master Driver<div class="ingroups"><a class="el" href="a00268.html">LPI2C: Low Power Inter-Integrated Circuit Driver</a></div></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<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:a00409"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a00409">_lpi2c_master_config</a></td></tr>
<tr class="memdesc:a00409"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure with settings to initialize the LPI2C master module. <a href="a00045.html#a00409">More...</a><br/></td></tr>
<tr class="separator:a00409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00413"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a00413">_lpi2c_match_config</a></td></tr>
<tr class="memdesc:a00413"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C master data match configuration structure. <a href="a00045.html#a00413">More...</a><br/></td></tr>
<tr class="separator:a00413"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00412"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a00412">_lpi2c_master_transfer</a></td></tr>
<tr class="memdesc:a00412"><td class="mdescLeft">&#160;</td><td class="mdescRight">Non-blocking transfer descriptor structure. <a href="a00045.html#a00412">More...</a><br/></td></tr>
<tr class="separator:a00412"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00411"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a00411">_lpi2c_master_handle</a></td></tr>
<tr class="memdesc:a00411"><td class="mdescLeft">&#160;</td><td class="mdescRight">Driver handle for master non-blocking APIs. <a href="a00045.html#a00411">More...</a><br/></td></tr>
<tr class="separator:a00411"><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:ga1f7d7abfaf3f3b927dc0c3cac2ca4247"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00045.html#ga3af0809d0dd890e9cf71012c87f2d9ab">_lpi2c_direction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga1f7d7abfaf3f3b927dc0c3cac2ca4247">lpi2c_direction_t</a></td></tr>
<tr class="memdesc:ga1f7d7abfaf3f3b927dc0c3cac2ca4247"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction of master and slave transfers. <a href="#ga1f7d7abfaf3f3b927dc0c3cac2ca4247">More...</a><br/></td></tr>
<tr class="separator:ga1f7d7abfaf3f3b927dc0c3cac2ca4247"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae138f6ef3c0bf321fbb91d3282757c4b"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="a00045.html#gadb22011c36ba20a78a165da294a7f5f9">_lpi2c_master_pin_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#gae138f6ef3c0bf321fbb91d3282757c4b">lpi2c_master_pin_config_t</a></td></tr>
<tr class="memdesc:gae138f6ef3c0bf321fbb91d3282757c4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C pin configuration. <a href="#gae138f6ef3c0bf321fbb91d3282757c4b">More...</a><br/></td></tr>
<tr class="separator:gae138f6ef3c0bf321fbb91d3282757c4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb08c31c073d73cb9f4b4ec9355e5ce3"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="a00045.html#ga53b91f9a7a24bd114109c4a707c04e1f">_lpi2c_host_request_source</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#gafb08c31c073d73cb9f4b4ec9355e5ce3">lpi2c_host_request_source_t</a></td></tr>
<tr class="memdesc:gafb08c31c073d73cb9f4b4ec9355e5ce3"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C master host request selection. <a href="#gafb08c31c073d73cb9f4b4ec9355e5ce3">More...</a><br/></td></tr>
<tr class="separator:gafb08c31c073d73cb9f4b4ec9355e5ce3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ba05d38f59653bf8ae998d12e6908af"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="a00045.html#ga65e6dbe3f418c915ccdd9236f3648939">_lpi2c_host_request_polarity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga5ba05d38f59653bf8ae998d12e6908af">lpi2c_host_request_polarity_t</a></td></tr>
<tr class="memdesc:ga5ba05d38f59653bf8ae998d12e6908af"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C master host request pin polarity configuration. <a href="#ga5ba05d38f59653bf8ae998d12e6908af">More...</a><br/></td></tr>
<tr class="separator:ga5ba05d38f59653bf8ae998d12e6908af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c66f4eea3a073f257429d57dc4cd2c0"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00045.html#a00409">_lpi2c_master_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga7c66f4eea3a073f257429d57dc4cd2c0">lpi2c_master_config_t</a></td></tr>
<tr class="memdesc:ga7c66f4eea3a073f257429d57dc4cd2c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure with settings to initialize the LPI2C master module. <a href="#ga7c66f4eea3a073f257429d57dc4cd2c0">More...</a><br/></td></tr>
<tr class="separator:ga7c66f4eea3a073f257429d57dc4cd2c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4bf8bf623faecb12226ffae053509876"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="a00045.html#ga7dcb50f2abdbbcf0d4fd0618659c34d8">_lpi2c_data_match_config_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga4bf8bf623faecb12226ffae053509876">lpi2c_data_match_config_mode_t</a></td></tr>
<tr class="memdesc:ga4bf8bf623faecb12226ffae053509876"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C master data match configuration modes. <a href="#ga4bf8bf623faecb12226ffae053509876">More...</a><br/></td></tr>
<tr class="separator:ga4bf8bf623faecb12226ffae053509876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga454ba39e5b8274ff98ea4db8fabd9ac2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00045.html#a00413">_lpi2c_match_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga454ba39e5b8274ff98ea4db8fabd9ac2">lpi2c_data_match_config_t</a></td></tr>
<tr class="memdesc:ga454ba39e5b8274ff98ea4db8fabd9ac2"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C master data match configuration structure. <a href="#ga454ba39e5b8274ff98ea4db8fabd9ac2">More...</a><br/></td></tr>
<tr class="separator:ga454ba39e5b8274ff98ea4db8fabd9ac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ca84881363fc4223677496feefecb93"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="a00045.html#a00412">_lpi2c_master_transfer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga3ca84881363fc4223677496feefecb93">lpi2c_master_transfer_t</a></td></tr>
<tr class="memdesc:ga3ca84881363fc4223677496feefecb93"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C master descriptor of the transfer. <a href="#ga3ca84881363fc4223677496feefecb93">More...</a><br/></td></tr>
<tr class="separator:ga3ca84881363fc4223677496feefecb93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5244060eefa022eab46035e93b993b1f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00045.html#a00411">_lpi2c_master_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a></td></tr>
<tr class="memdesc:ga5244060eefa022eab46035e93b993b1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C master handle of the transfer. <a href="#ga5244060eefa022eab46035e93b993b1f">More...</a><br/></td></tr>
<tr class="separator:ga5244060eefa022eab46035e93b993b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62ccf3faece8d48363807833b8c58bf2"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga62ccf3faece8d48363807833b8c58bf2">lpi2c_master_transfer_callback_t</a> )(LPI2C_Type *base, <a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a> *handle, <a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> completionStatus, void *userData)</td></tr>
<tr class="memdesc:ga62ccf3faece8d48363807833b8c58bf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Master completion callback function pointer type. <a href="#ga62ccf3faece8d48363807833b8c58bf2">More...</a><br/></td></tr>
<tr class="separator:ga62ccf3faece8d48363807833b8c58bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafec474a625b178e148fcc930f230be75"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafec474a625b178e148fcc930f230be75"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#gafec474a625b178e148fcc930f230be75">lpi2c_master_isr_t</a> )(LPI2C_Type *base, void *handle)</td></tr>
<tr class="memdesc:gafec474a625b178e148fcc930f230be75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef for master interrupt handler, used internally for LPI2C master interrupt and EDMA transactional APIs. <br/></td></tr>
<tr class="separator:gafec474a625b178e148fcc930f230be75"><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:ga830bba7ea584a7f98d3fb6afd946d739"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga830bba7ea584a7f98d3fb6afd946d739">_lpi2c_master_flags</a> { <br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739af3208f156244a4b1c520db35b147ee33">kLPI2C_MasterTxReadyFlag</a> = LPI2C_MSR_TDF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739ae09650509ffef3de4ede348c4ac66be5">kLPI2C_MasterRxReadyFlag</a> = LPI2C_MSR_RDF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739adf431b1a9475437d7089df5abcea7122">kLPI2C_MasterEndOfPacketFlag</a> = LPI2C_MSR_EPF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739aad8d90df6216a4d27680fd530c42710d">kLPI2C_MasterStopDetectFlag</a> = LPI2C_MSR_SDF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a3ea7b4560b395c82e5293678228fff81">kLPI2C_MasterNackDetectFlag</a> = LPI2C_MSR_NDF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a9e012e945342b8f0333e59060affb0b1">kLPI2C_MasterArbitrationLostFlag</a> = LPI2C_MSR_ALF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739aac4e2ec9c92ea22b5246bb62000f93a9">kLPI2C_MasterFifoErrFlag</a> = LPI2C_MSR_FEF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a37ceb9a9bdaa1ec7261d7265a51a5f17">kLPI2C_MasterPinLowTimeoutFlag</a> = LPI2C_MSR_PLTF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739aaaad4c02a63dcf7d021baa5c4a9dcf2e">kLPI2C_MasterDataMatchFlag</a> = LPI2C_MSR_DMF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739ac1de9e29d8ffe76b10b8425f81db1368">kLPI2C_MasterBusyFlag</a> = LPI2C_MSR_MBF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a408ed7773539a17625803f6c9d3a6629">kLPI2C_MasterBusBusyFlag</a> = LPI2C_MSR_BBF_MASK,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739acdc753a79a4f88e35035bfec194ef8d3">kLPI2C_MasterClearFlags</a>,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a05b681a219360ade22758c0a73b98593">kLPI2C_MasterIrqFlags</a>,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739af7ace370cb49c849f12c878eefa23118">kLPI2C_MasterErrorFlags</a>
<br/>
}</td></tr>
<tr class="memdesc:ga830bba7ea584a7f98d3fb6afd946d739"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C master peripheral flags. <a href="a00045.html#ga830bba7ea584a7f98d3fb6afd946d739">More...</a><br/></td></tr>
<tr class="separator:ga830bba7ea584a7f98d3fb6afd946d739"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3af0809d0dd890e9cf71012c87f2d9ab"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga3af0809d0dd890e9cf71012c87f2d9ab">_lpi2c_direction</a> { <br/>
&#160;&#160;<a class="el" href="a00045.html#gga3af0809d0dd890e9cf71012c87f2d9aba4a913c200cf54c773380ea8271e7b42b">kLPI2C_Write</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga3af0809d0dd890e9cf71012c87f2d9aba50ba3a53d79baed347bb8fa07d7884ab">kLPI2C_Read</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:ga3af0809d0dd890e9cf71012c87f2d9ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction of master and slave transfers. <a href="a00045.html#ga3af0809d0dd890e9cf71012c87f2d9ab">More...</a><br/></td></tr>
<tr class="separator:ga3af0809d0dd890e9cf71012c87f2d9ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb22011c36ba20a78a165da294a7f5f9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#gadb22011c36ba20a78a165da294a7f5f9">_lpi2c_master_pin_config</a> { <br/>
&#160;&#160;<a class="el" href="a00045.html#ggadb22011c36ba20a78a165da294a7f5f9ada174b660785782567aee14c05918d89">kLPI2C_2PinOpenDrain</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#ggadb22011c36ba20a78a165da294a7f5f9a9a8053876d619b3beeb745b212b9a1fb">kLPI2C_2PinOutputOnly</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#ggadb22011c36ba20a78a165da294a7f5f9a53f8d0708cfc2ea887abb2e2d440d29e">kLPI2C_2PinPushPull</a> = 0x2U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#ggadb22011c36ba20a78a165da294a7f5f9a9642890d09eeb5ed0b8d9e59aac6e3b7">kLPI2C_4PinPushPull</a> = 0x3U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#ggadb22011c36ba20a78a165da294a7f5f9ad809117a74ffea333e273e97dc93aff7">kLPI2C_2PinOpenDrainWithSeparateSlave</a>,
<br/>
&#160;&#160;<a class="el" href="a00045.html#ggadb22011c36ba20a78a165da294a7f5f9a297f630d584519da05064b2962596ee5">kLPI2C_2PinOutputOnlyWithSeparateSlave</a>,
<br/>
&#160;&#160;<a class="el" href="a00045.html#ggadb22011c36ba20a78a165da294a7f5f9a5e8d93f3f8f55f5c9a47c7cddd4df495">kLPI2C_2PinPushPullWithSeparateSlave</a>,
<br/>
&#160;&#160;<a class="el" href="a00045.html#ggadb22011c36ba20a78a165da294a7f5f9acb4290916ade8b65741bc18d632acbd6">kLPI2C_4PinPushPullWithInvertedOutput</a> = 0x7U
<br/>
}</td></tr>
<tr class="memdesc:gadb22011c36ba20a78a165da294a7f5f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C pin configuration. <a href="a00045.html#gadb22011c36ba20a78a165da294a7f5f9">More...</a><br/></td></tr>
<tr class="separator:gadb22011c36ba20a78a165da294a7f5f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53b91f9a7a24bd114109c4a707c04e1f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga53b91f9a7a24bd114109c4a707c04e1f">_lpi2c_host_request_source</a> { <br/>
&#160;&#160;<a class="el" href="a00045.html#gga53b91f9a7a24bd114109c4a707c04e1fa4634268e7c377ffd2e7db9a93b2776eb">kLPI2C_HostRequestExternalPin</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga53b91f9a7a24bd114109c4a707c04e1fa1a8773fbec157bc1a069826af08a2aae">kLPI2C_HostRequestInputTrigger</a> = 0x1U
<br/>
}</td></tr>
<tr class="memdesc:ga53b91f9a7a24bd114109c4a707c04e1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C master host request selection. <a href="a00045.html#ga53b91f9a7a24bd114109c4a707c04e1f">More...</a><br/></td></tr>
<tr class="separator:ga53b91f9a7a24bd114109c4a707c04e1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65e6dbe3f418c915ccdd9236f3648939"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga65e6dbe3f418c915ccdd9236f3648939">_lpi2c_host_request_polarity</a> { <br/>
&#160;&#160;<a class="el" href="a00045.html#gga65e6dbe3f418c915ccdd9236f3648939aab540d2690ea7446d68f0106e46cfb36">kLPI2C_HostRequestPinActiveLow</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga65e6dbe3f418c915ccdd9236f3648939a1f72f10b4bfe685cc57e8994df237a16">kLPI2C_HostRequestPinActiveHigh</a> = 0x1U
<br/>
}</td></tr>
<tr class="memdesc:ga65e6dbe3f418c915ccdd9236f3648939"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C master host request pin polarity configuration. <a href="a00045.html#ga65e6dbe3f418c915ccdd9236f3648939">More...</a><br/></td></tr>
<tr class="separator:ga65e6dbe3f418c915ccdd9236f3648939"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7dcb50f2abdbbcf0d4fd0618659c34d8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga7dcb50f2abdbbcf0d4fd0618659c34d8">_lpi2c_data_match_config_mode</a> { <br/>
&#160;&#160;<a class="el" href="a00045.html#gga7dcb50f2abdbbcf0d4fd0618659c34d8a00ef085f1047daf41240a7c9daa7aee5">kLPI2C_MatchDisabled</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga7dcb50f2abdbbcf0d4fd0618659c34d8ae41fc9d1480c995ecab8be9afc489108">kLPI2C_1stWordEqualsM0OrM1</a> = 0x2U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga7dcb50f2abdbbcf0d4fd0618659c34d8af994783c76b2008af82fa9209d1fb746">kLPI2C_AnyWordEqualsM0OrM1</a> = 0x3U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga7dcb50f2abdbbcf0d4fd0618659c34d8a309463f537d290dc18770d4245e0046e">kLPI2C_1stWordEqualsM0And2ndWordEqualsM1</a>,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga7dcb50f2abdbbcf0d4fd0618659c34d8a747cdb86ebade4b5d09fc25a0f199aee">kLPI2C_AnyWordEqualsM0AndNextWordEqualsM1</a>,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga7dcb50f2abdbbcf0d4fd0618659c34d8a1b963126207a01049b68b0fd7645ff4a">kLPI2C_1stWordAndM1EqualsM0AndM1</a>,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga7dcb50f2abdbbcf0d4fd0618659c34d8a37e28fca69438b64be9ca862bade372b">kLPI2C_AnyWordAndM1EqualsM0AndM1</a>
<br/>
}</td></tr>
<tr class="memdesc:ga7dcb50f2abdbbcf0d4fd0618659c34d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C master data match configuration modes. <a href="a00045.html#ga7dcb50f2abdbbcf0d4fd0618659c34d8">More...</a><br/></td></tr>
<tr class="separator:ga7dcb50f2abdbbcf0d4fd0618659c34d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d8e7ad8c6f187673a91247a23a52dc1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga6d8e7ad8c6f187673a91247a23a52dc1">_lpi2c_master_transfer_flags</a> { <br/>
&#160;&#160;<a class="el" href="a00045.html#gga6d8e7ad8c6f187673a91247a23a52dc1a413ec0da1a0be18365a3ba1285fe78f4">kLPI2C_TransferDefaultFlag</a> = 0x00U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga6d8e7ad8c6f187673a91247a23a52dc1adc9924923c68af7960d4b8cf43e5609e">kLPI2C_TransferNoStartFlag</a> = 0x01U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga6d8e7ad8c6f187673a91247a23a52dc1a2d6fdbacf571dc6eea70ef0349c73ccb">kLPI2C_TransferRepeatedStartFlag</a> = 0x02U,
<br/>
&#160;&#160;<a class="el" href="a00045.html#gga6d8e7ad8c6f187673a91247a23a52dc1a56c1abdffee0978f6d5aeedba30971c3">kLPI2C_TransferNoStopFlag</a> = 0x04U
<br/>
}</td></tr>
<tr class="memdesc:ga6d8e7ad8c6f187673a91247a23a52dc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer option flags. <a href="a00045.html#ga6d8e7ad8c6f187673a91247a23a52dc1">More...</a><br/></td></tr>
<tr class="separator:ga6d8e7ad8c6f187673a91247a23a52dc1"><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:gaf1753f02b6a39bb4391250c646236eae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#gaf1753f02b6a39bb4391250c646236eae">LPI2C_MasterGetDefaultConfig</a> (<a class="el" href="a00045.html#ga7c66f4eea3a073f257429d57dc4cd2c0">lpi2c_master_config_t</a> *masterConfig)</td></tr>
<tr class="memdesc:gaf1753f02b6a39bb4391250c646236eae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a default configuration for the LPI2C master peripheral. <a href="#gaf1753f02b6a39bb4391250c646236eae">More...</a><br/></td></tr>
<tr class="separator:gaf1753f02b6a39bb4391250c646236eae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga31c7e21bae74602cb831109e7de33ade"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga31c7e21bae74602cb831109e7de33ade">LPI2C_MasterInit</a> (LPI2C_Type *base, const <a class="el" href="a00045.html#ga7c66f4eea3a073f257429d57dc4cd2c0">lpi2c_master_config_t</a> *masterConfig, uint32_t sourceClock_Hz)</td></tr>
<tr class="memdesc:ga31c7e21bae74602cb831109e7de33ade"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the LPI2C master peripheral. <a href="#ga31c7e21bae74602cb831109e7de33ade">More...</a><br/></td></tr>
<tr class="separator:ga31c7e21bae74602cb831109e7de33ade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e5ac26414d36018ac33f31332026b82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga1e5ac26414d36018ac33f31332026b82">LPI2C_MasterDeinit</a> (LPI2C_Type *base)</td></tr>
<tr class="memdesc:ga1e5ac26414d36018ac33f31332026b82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deinitializes the LPI2C master peripheral. <a href="#ga1e5ac26414d36018ac33f31332026b82">More...</a><br/></td></tr>
<tr class="separator:ga1e5ac26414d36018ac33f31332026b82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga050bfe41a14a866968dbf8e88d4a7159"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga050bfe41a14a866968dbf8e88d4a7159">LPI2C_MasterConfigureDataMatch</a> (LPI2C_Type *base, const <a class="el" href="a00045.html#ga454ba39e5b8274ff98ea4db8fabd9ac2">lpi2c_data_match_config_t</a> *matchConfig)</td></tr>
<tr class="memdesc:ga050bfe41a14a866968dbf8e88d4a7159"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures LPI2C master data match feature. <a href="#ga050bfe41a14a866968dbf8e88d4a7159">More...</a><br/></td></tr>
<tr class="separator:ga050bfe41a14a866968dbf8e88d4a7159"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f45d7022fbebbf34ca852e2b61ddb14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga3f45d7022fbebbf34ca852e2b61ddb14">LPI2C_MasterCheckAndClearError</a> (LPI2C_Type *base, uint32_t status)</td></tr>
<tr class="memdesc:ga3f45d7022fbebbf34ca852e2b61ddb14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert provided flags to status code, and clear any errors if present. <a href="#ga3f45d7022fbebbf34ca852e2b61ddb14">More...</a><br/></td></tr>
<tr class="separator:ga3f45d7022fbebbf34ca852e2b61ddb14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga699f43147cfc18f479f8dad8bbefc973"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga699f43147cfc18f479f8dad8bbefc973">LPI2C_CheckForBusyBus</a> (LPI2C_Type *base)</td></tr>
<tr class="memdesc:ga699f43147cfc18f479f8dad8bbefc973"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make sure the bus isn't already busy. <a href="#ga699f43147cfc18f479f8dad8bbefc973">More...</a><br/></td></tr>
<tr class="separator:ga699f43147cfc18f479f8dad8bbefc973"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75ac46a8612bfb21b52699a3feb2cd03"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga75ac46a8612bfb21b52699a3feb2cd03">LPI2C_MasterReset</a> (LPI2C_Type *base)</td></tr>
<tr class="memdesc:ga75ac46a8612bfb21b52699a3feb2cd03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a software reset. <a href="#ga75ac46a8612bfb21b52699a3feb2cd03">More...</a><br/></td></tr>
<tr class="separator:ga75ac46a8612bfb21b52699a3feb2cd03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46bd9c4d6579fa0273c3a1cc1c94b65a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga46bd9c4d6579fa0273c3a1cc1c94b65a">LPI2C_MasterEnable</a> (LPI2C_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga46bd9c4d6579fa0273c3a1cc1c94b65a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the LPI2C module as master. <a href="#ga46bd9c4d6579fa0273c3a1cc1c94b65a">More...</a><br/></td></tr>
<tr class="separator:ga46bd9c4d6579fa0273c3a1cc1c94b65a"><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</h2></td></tr>
<tr class="memitem:ga02cab0c6281b9532bd6f8e2b04e5a2ba"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga02cab0c6281b9532bd6f8e2b04e5a2ba">LPI2C_MasterGetStatusFlags</a> (LPI2C_Type *base)</td></tr>
<tr class="memdesc:ga02cab0c6281b9532bd6f8e2b04e5a2ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the LPI2C master status flags. <a href="#ga02cab0c6281b9532bd6f8e2b04e5a2ba">More...</a><br/></td></tr>
<tr class="separator:ga02cab0c6281b9532bd6f8e2b04e5a2ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga27324dea42cdddefdfdf53a034118522"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga27324dea42cdddefdfdf53a034118522">LPI2C_MasterClearStatusFlags</a> (LPI2C_Type *base, uint32_t statusMask)</td></tr>
<tr class="memdesc:ga27324dea42cdddefdfdf53a034118522"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the LPI2C master status flag state. <a href="#ga27324dea42cdddefdfdf53a034118522">More...</a><br/></td></tr>
<tr class="separator:ga27324dea42cdddefdfdf53a034118522"><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>
Interrupts</h2></td></tr>
<tr class="memitem:ga41f9e18b131a5a3ed0f0573c468c3123"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga41f9e18b131a5a3ed0f0573c468c3123">LPI2C_MasterEnableInterrupts</a> (LPI2C_Type *base, uint32_t interruptMask)</td></tr>
<tr class="memdesc:ga41f9e18b131a5a3ed0f0573c468c3123"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the LPI2C master interrupt requests. <a href="#ga41f9e18b131a5a3ed0f0573c468c3123">More...</a><br/></td></tr>
<tr class="separator:ga41f9e18b131a5a3ed0f0573c468c3123"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50ab891c01b147071d465138b144fce7"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga50ab891c01b147071d465138b144fce7">LPI2C_MasterDisableInterrupts</a> (LPI2C_Type *base, uint32_t interruptMask)</td></tr>
<tr class="memdesc:ga50ab891c01b147071d465138b144fce7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the LPI2C master interrupt requests. <a href="#ga50ab891c01b147071d465138b144fce7">More...</a><br/></td></tr>
<tr class="separator:ga50ab891c01b147071d465138b144fce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8894194d00537fa3a5bae2b88910790c"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga8894194d00537fa3a5bae2b88910790c">LPI2C_MasterGetEnabledInterrupts</a> (LPI2C_Type *base)</td></tr>
<tr class="memdesc:ga8894194d00537fa3a5bae2b88910790c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the set of currently enabled LPI2C master interrupt requests. <a href="#ga8894194d00537fa3a5bae2b88910790c">More...</a><br/></td></tr>
<tr class="separator:ga8894194d00537fa3a5bae2b88910790c"><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>
DMA control</h2></td></tr>
<tr class="memitem:ga682c0d77de6725eb842b8bf26d70ef6e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga682c0d77de6725eb842b8bf26d70ef6e">LPI2C_MasterEnableDMA</a> (LPI2C_Type *base, bool enableTx, bool enableRx)</td></tr>
<tr class="memdesc:ga682c0d77de6725eb842b8bf26d70ef6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables LPI2C master DMA requests. <a href="#ga682c0d77de6725eb842b8bf26d70ef6e">More...</a><br/></td></tr>
<tr class="separator:ga682c0d77de6725eb842b8bf26d70ef6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5350c8b782a982c3a2a7103a32a55569"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga5350c8b782a982c3a2a7103a32a55569">LPI2C_MasterGetTxFifoAddress</a> (LPI2C_Type *base)</td></tr>
<tr class="memdesc:ga5350c8b782a982c3a2a7103a32a55569"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets LPI2C master transmit data register address for DMA transfer. <a href="#ga5350c8b782a982c3a2a7103a32a55569">More...</a><br/></td></tr>
<tr class="separator:ga5350c8b782a982c3a2a7103a32a55569"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84da0ad9e383e1b06ddfce53a52f2777"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga84da0ad9e383e1b06ddfce53a52f2777">LPI2C_MasterGetRxFifoAddress</a> (LPI2C_Type *base)</td></tr>
<tr class="memdesc:ga84da0ad9e383e1b06ddfce53a52f2777"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets LPI2C master receive data register address for DMA transfer. <a href="#ga84da0ad9e383e1b06ddfce53a52f2777">More...</a><br/></td></tr>
<tr class="separator:ga84da0ad9e383e1b06ddfce53a52f2777"><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>
FIFO control</h2></td></tr>
<tr class="memitem:gaf0eb7016afbb3ab6bf8d624dbc95347d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#gaf0eb7016afbb3ab6bf8d624dbc95347d">LPI2C_MasterSetWatermarks</a> (LPI2C_Type *base, size_t txWords, size_t rxWords)</td></tr>
<tr class="memdesc:gaf0eb7016afbb3ab6bf8d624dbc95347d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the watermarks for LPI2C master FIFOs. <a href="#gaf0eb7016afbb3ab6bf8d624dbc95347d">More...</a><br/></td></tr>
<tr class="separator:gaf0eb7016afbb3ab6bf8d624dbc95347d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga485117a5769985079d759dbf083450fd"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga485117a5769985079d759dbf083450fd">LPI2C_MasterGetFifoCounts</a> (LPI2C_Type *base, size_t *rxCount, size_t *txCount)</td></tr>
<tr class="memdesc:ga485117a5769985079d759dbf083450fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current number of words in the LPI2C master FIFOs. <a href="#ga485117a5769985079d759dbf083450fd">More...</a><br/></td></tr>
<tr class="separator:ga485117a5769985079d759dbf083450fd"><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>
Bus operations</h2></td></tr>
<tr class="memitem:ga7f9f7d0d1c86fb7ee26d84dba706bc9a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga7f9f7d0d1c86fb7ee26d84dba706bc9a">LPI2C_MasterSetBaudRate</a> (LPI2C_Type *base, uint32_t sourceClock_Hz, uint32_t baudRate_Hz)</td></tr>
<tr class="memdesc:ga7f9f7d0d1c86fb7ee26d84dba706bc9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the I2C bus frequency for master transactions. <a href="#ga7f9f7d0d1c86fb7ee26d84dba706bc9a">More...</a><br/></td></tr>
<tr class="separator:ga7f9f7d0d1c86fb7ee26d84dba706bc9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b26965efb8b28aeedaf4d8e4491fb50"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga5b26965efb8b28aeedaf4d8e4491fb50">LPI2C_MasterGetBusIdleState</a> (LPI2C_Type *base)</td></tr>
<tr class="memdesc:ga5b26965efb8b28aeedaf4d8e4491fb50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the bus is idle. <a href="#ga5b26965efb8b28aeedaf4d8e4491fb50">More...</a><br/></td></tr>
<tr class="separator:ga5b26965efb8b28aeedaf4d8e4491fb50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5ec3758566b673bdec4f7030395b863"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#gad5ec3758566b673bdec4f7030395b863">LPI2C_MasterStart</a> (LPI2C_Type *base, uint8_t address, <a class="el" href="a00045.html#ga1f7d7abfaf3f3b927dc0c3cac2ca4247">lpi2c_direction_t</a> dir)</td></tr>
<tr class="memdesc:gad5ec3758566b673bdec4f7030395b863"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a START signal and slave address on the I2C bus. <a href="#gad5ec3758566b673bdec4f7030395b863">More...</a><br/></td></tr>
<tr class="separator:gad5ec3758566b673bdec4f7030395b863"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd57806adaf72ea3c3506414c3984f84"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#gacd57806adaf72ea3c3506414c3984f84">LPI2C_MasterRepeatedStart</a> (LPI2C_Type *base, uint8_t address, <a class="el" href="a00045.html#ga1f7d7abfaf3f3b927dc0c3cac2ca4247">lpi2c_direction_t</a> dir)</td></tr>
<tr class="memdesc:gacd57806adaf72ea3c3506414c3984f84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a repeated START signal and slave address on the I2C bus. <a href="#gacd57806adaf72ea3c3506414c3984f84">More...</a><br/></td></tr>
<tr class="separator:gacd57806adaf72ea3c3506414c3984f84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec5397831ec8c6099ce7fb1162821fd0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#gaec5397831ec8c6099ce7fb1162821fd0">LPI2C_MasterSend</a> (LPI2C_Type *base, void *txBuff, size_t txSize)</td></tr>
<tr class="memdesc:gaec5397831ec8c6099ce7fb1162821fd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a polling send transfer on the I2C bus. <a href="#gaec5397831ec8c6099ce7fb1162821fd0">More...</a><br/></td></tr>
<tr class="separator:gaec5397831ec8c6099ce7fb1162821fd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a80cb5c1ccdbac0c753f86e8dd4d00d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga6a80cb5c1ccdbac0c753f86e8dd4d00d">LPI2C_MasterReceive</a> (LPI2C_Type *base, void *rxBuff, size_t rxSize)</td></tr>
<tr class="memdesc:ga6a80cb5c1ccdbac0c753f86e8dd4d00d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a polling receive transfer on the I2C bus. <a href="#ga6a80cb5c1ccdbac0c753f86e8dd4d00d">More...</a><br/></td></tr>
<tr class="separator:ga6a80cb5c1ccdbac0c753f86e8dd4d00d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63d65ab0751f91adecb03944b117f3df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga63d65ab0751f91adecb03944b117f3df">LPI2C_MasterStop</a> (LPI2C_Type *base)</td></tr>
<tr class="memdesc:ga63d65ab0751f91adecb03944b117f3df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a STOP signal on the I2C bus. <a href="#ga63d65ab0751f91adecb03944b117f3df">More...</a><br/></td></tr>
<tr class="separator:ga63d65ab0751f91adecb03944b117f3df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96a4f46d70cf913dbd5c552ce89d2e2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga96a4f46d70cf913dbd5c552ce89d2e2c">LPI2C_MasterTransferBlocking</a> (LPI2C_Type *base, <a class="el" href="a00045.html#ga3ca84881363fc4223677496feefecb93">lpi2c_master_transfer_t</a> *transfer)</td></tr>
<tr class="memdesc:ga96a4f46d70cf913dbd5c552ce89d2e2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a master polling transfer on the I2C bus. <a href="#ga96a4f46d70cf913dbd5c552ce89d2e2c">More...</a><br/></td></tr>
<tr class="separator:ga96a4f46d70cf913dbd5c552ce89d2e2c"><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>
Non-blocking</h2></td></tr>
<tr class="memitem:gafa1c62e098fb418bca7cfbe1ffa6aeaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#gafa1c62e098fb418bca7cfbe1ffa6aeaf">LPI2C_MasterTransferCreateHandle</a> (LPI2C_Type *base, <a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a> *handle, <a class="el" href="a00045.html#ga62ccf3faece8d48363807833b8c58bf2">lpi2c_master_transfer_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:gafa1c62e098fb418bca7cfbe1ffa6aeaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new handle for the LPI2C master non-blocking APIs. <a href="#gafa1c62e098fb418bca7cfbe1ffa6aeaf">More...</a><br/></td></tr>
<tr class="separator:gafa1c62e098fb418bca7cfbe1ffa6aeaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b0c04b87bd15fcaeac176993969bc29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga2b0c04b87bd15fcaeac176993969bc29">LPI2C_MasterTransferNonBlocking</a> (LPI2C_Type *base, <a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a> *handle, <a class="el" href="a00045.html#ga3ca84881363fc4223677496feefecb93">lpi2c_master_transfer_t</a> *transfer)</td></tr>
<tr class="memdesc:ga2b0c04b87bd15fcaeac176993969bc29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a non-blocking transaction on the I2C bus. <a href="#ga2b0c04b87bd15fcaeac176993969bc29">More...</a><br/></td></tr>
<tr class="separator:ga2b0c04b87bd15fcaeac176993969bc29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d69127f2ea64b803c67861adea21413"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga5d69127f2ea64b803c67861adea21413">LPI2C_MasterTransferGetCount</a> (LPI2C_Type *base, <a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a> *handle, size_t *count)</td></tr>
<tr class="memdesc:ga5d69127f2ea64b803c67861adea21413"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns number of bytes transferred so far. <a href="#ga5d69127f2ea64b803c67861adea21413">More...</a><br/></td></tr>
<tr class="separator:ga5d69127f2ea64b803c67861adea21413"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0d4f78a7d8c34d85bea368822cdbbce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#gae0d4f78a7d8c34d85bea368822cdbbce">LPI2C_MasterTransferAbort</a> (LPI2C_Type *base, <a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a> *handle)</td></tr>
<tr class="memdesc:gae0d4f78a7d8c34d85bea368822cdbbce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminates a non-blocking LPI2C master transmission early. <a href="#gae0d4f78a7d8c34d85bea368822cdbbce">More...</a><br/></td></tr>
<tr class="separator:gae0d4f78a7d8c34d85bea368822cdbbce"><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>
IRQ handler</h2></td></tr>
<tr class="memitem:ga25d1c6f8210d300bbedfa3f8a5575c16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ga25d1c6f8210d300bbedfa3f8a5575c16">LPI2C_MasterTransferHandleIRQ</a> (LPI2C_Type *base, void *lpi2cMasterHandle)</td></tr>
<tr class="memdesc:ga25d1c6f8210d300bbedfa3f8a5575c16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reusable routine to handle master interrupts. <a href="#ga25d1c6f8210d300bbedfa3f8a5575c16">More...</a><br/></td></tr>
<tr class="separator:ga25d1c6f8210d300bbedfa3f8a5575c16"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00409" id="a00409"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _lpi2c_master_config</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><p>This structure holds configuration settings for the LPI2C peripheral. To initialize this structure to reasonable defaults, call the <a class="el" href="a00045.html#gaf1753f02b6a39bb4391250c646236eae" title="Provides a default configuration for the LPI2C master peripheral. ">LPI2C_MasterGetDefaultConfig()</a> function and pass a pointer to your configuration structure instance.</p>
<p>The configuration structure can be made constant so it resides in flash. </p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a75ff7ea48d319fe03c2ade2e28d278e7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a75ff7ea48d319fe03c2ade2e28d278e7">enableMaster</a></td></tr>
<tr class="memdesc:a75ff7ea48d319fe03c2ade2e28d278e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to enable master mode. <a href="#a75ff7ea48d319fe03c2ade2e28d278e7">More...</a><br/></td></tr>
<tr class="separator:a75ff7ea48d319fe03c2ade2e28d278e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c92d69d65e736a88589908cb56e35db"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a3c92d69d65e736a88589908cb56e35db">enableDoze</a></td></tr>
<tr class="memdesc:a3c92d69d65e736a88589908cb56e35db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether master is enabled in doze mode. <a href="#a3c92d69d65e736a88589908cb56e35db">More...</a><br/></td></tr>
<tr class="separator:a3c92d69d65e736a88589908cb56e35db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad64e790c7a7cfebd662f9b6dd4aec46d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ad64e790c7a7cfebd662f9b6dd4aec46d">debugEnable</a></td></tr>
<tr class="memdesc:ad64e790c7a7cfebd662f9b6dd4aec46d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable transfers to continue when halted in debug mode. <a href="#ad64e790c7a7cfebd662f9b6dd4aec46d">More...</a><br/></td></tr>
<tr class="separator:ad64e790c7a7cfebd662f9b6dd4aec46d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d4d6c1b7d2427194fe8b0e84279feb8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a3d4d6c1b7d2427194fe8b0e84279feb8">ignoreAck</a></td></tr>
<tr class="memdesc:a3d4d6c1b7d2427194fe8b0e84279feb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to ignore ACK/NACK. <a href="#a3d4d6c1b7d2427194fe8b0e84279feb8">More...</a><br/></td></tr>
<tr class="separator:a3d4d6c1b7d2427194fe8b0e84279feb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fbba946515ef5f33335fb651dce8228"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00045.html#gae138f6ef3c0bf321fbb91d3282757c4b">lpi2c_master_pin_config_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a0fbba946515ef5f33335fb651dce8228">pinConfig</a></td></tr>
<tr class="memdesc:a0fbba946515ef5f33335fb651dce8228"><td class="mdescLeft">&#160;</td><td class="mdescRight">The pin configuration option. <a href="#a0fbba946515ef5f33335fb651dce8228">More...</a><br/></td></tr>
<tr class="separator:a0fbba946515ef5f33335fb651dce8228"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb2fc8cea1adcd9615733f4d7a1638c0"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#acb2fc8cea1adcd9615733f4d7a1638c0">baudRate_Hz</a></td></tr>
<tr class="memdesc:acb2fc8cea1adcd9615733f4d7a1638c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Desired baud rate in Hertz. <a href="#acb2fc8cea1adcd9615733f4d7a1638c0">More...</a><br/></td></tr>
<tr class="separator:acb2fc8cea1adcd9615733f4d7a1638c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a753e34a46f65b03347a0f7d3e237d0ce"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a753e34a46f65b03347a0f7d3e237d0ce">busIdleTimeout_ns</a></td></tr>
<tr class="memdesc:a753e34a46f65b03347a0f7d3e237d0ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bus idle timeout in nanoseconds. <a href="#a753e34a46f65b03347a0f7d3e237d0ce">More...</a><br/></td></tr>
<tr class="separator:a753e34a46f65b03347a0f7d3e237d0ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a8ce7b57ccc4d67ce935aeb555feaa1"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a4a8ce7b57ccc4d67ce935aeb555feaa1">pinLowTimeout_ns</a></td></tr>
<tr class="memdesc:a4a8ce7b57ccc4d67ce935aeb555feaa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin low timeout in nanoseconds. <a href="#a4a8ce7b57ccc4d67ce935aeb555feaa1">More...</a><br/></td></tr>
<tr class="separator:a4a8ce7b57ccc4d67ce935aeb555feaa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f2df611dc2e263bfdf4dc44c379aaef"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a4f2df611dc2e263bfdf4dc44c379aaef">sdaGlitchFilterWidth_ns</a></td></tr>
<tr class="memdesc:a4f2df611dc2e263bfdf4dc44c379aaef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Width in nanoseconds of glitch filter on SDA pin. <a href="#a4f2df611dc2e263bfdf4dc44c379aaef">More...</a><br/></td></tr>
<tr class="separator:a4f2df611dc2e263bfdf4dc44c379aaef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6255f470466b44d028de44d82e463c6d"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a6255f470466b44d028de44d82e463c6d">sclGlitchFilterWidth_ns</a></td></tr>
<tr class="memdesc:a6255f470466b44d028de44d82e463c6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Width in nanoseconds of glitch filter on SCL pin. <a href="#a6255f470466b44d028de44d82e463c6d">More...</a><br/></td></tr>
<tr class="separator:a6255f470466b44d028de44d82e463c6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf7251f0d1f669748f7314faf964395c"><td class="memItemLeft" >struct {</td></tr>
<tr class="memitem:a1a99b742b210f2484d0f1d07666fcced"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="a00045.html#a25e1417deacf0de8e3f7e761123d93a3">enable</a></td></tr>
<tr class="memdesc:a1a99b742b210f2484d0f1d07666fcced"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable host request. <a href="#a1a99b742b210f2484d0f1d07666fcced">More...</a><br/></td></tr>
<tr class="separator:a1a99b742b210f2484d0f1d07666fcced"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb61f157dbdfbc939da9b138002341b8"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="a00045.html#gafb08c31c073d73cb9f4b4ec9355e5ce3">lpi2c_host_request_source_t</a>&#160;&#160;&#160;<a class="el" href="a00045.html#a838f77075b78812da990e220d0b4df3a">source</a></td></tr>
<tr class="memdesc:afb61f157dbdfbc939da9b138002341b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Host request source. <a href="#afb61f157dbdfbc939da9b138002341b8">More...</a><br/></td></tr>
<tr class="separator:afb61f157dbdfbc939da9b138002341b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52f86c1e906b80d397c644da8eae3a37"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="a00045.html#ga5ba05d38f59653bf8ae998d12e6908af">lpi2c_host_request_polarity_t</a>&#160;&#160;&#160;<a class="el" href="a00045.html#ac54e4718ad691c1b3f93e0846948a96e">polarity</a></td></tr>
<tr class="memdesc:a52f86c1e906b80d397c644da8eae3a37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Host request pin polarity. <a href="#a52f86c1e906b80d397c644da8eae3a37">More...</a><br/></td></tr>
<tr class="separator:a52f86c1e906b80d397c644da8eae3a37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf7251f0d1f669748f7314faf964395c"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#aaf7251f0d1f669748f7314faf964395c">hostRequest</a></td></tr>
<tr class="memdesc:aaf7251f0d1f669748f7314faf964395c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Host request options. <a href="#aaf7251f0d1f669748f7314faf964395c">More...</a><br/></td></tr>
<tr class="separator:aaf7251f0d1f669748f7314faf964395c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a75ff7ea48d319fe03c2ade2e28d278e7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _lpi2c_master_config::enableMaster</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3c92d69d65e736a88589908cb56e35db"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _lpi2c_master_config::enableDoze</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad64e790c7a7cfebd662f9b6dd4aec46d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _lpi2c_master_config::debugEnable</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3d4d6c1b7d2427194fe8b0e84279feb8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _lpi2c_master_config::ignoreAck</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0fbba946515ef5f33335fb651dce8228"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00045.html#gae138f6ef3c0bf321fbb91d3282757c4b">lpi2c_master_pin_config_t</a> _lpi2c_master_config::pinConfig</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="acb2fc8cea1adcd9615733f4d7a1638c0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _lpi2c_master_config::baudRate_Hz</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a753e34a46f65b03347a0f7d3e237d0ce"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _lpi2c_master_config::busIdleTimeout_ns</td>
</tr>
</table>
</div><div class="memdoc">
<p>Set to 0 to disable. </p>
</div>
</div>
<a class="anchor" id="a4a8ce7b57ccc4d67ce935aeb555feaa1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _lpi2c_master_config::pinLowTimeout_ns</td>
</tr>
</table>
</div><div class="memdoc">
<p>Set to 0 to disable. </p>
</div>
</div>
<a class="anchor" id="a4f2df611dc2e263bfdf4dc44c379aaef"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _lpi2c_master_config::sdaGlitchFilterWidth_ns</td>
</tr>
</table>
</div><div class="memdoc">
<p>Set to 0 to disable. </p>
</div>
</div>
<a class="anchor" id="a6255f470466b44d028de44d82e463c6d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _lpi2c_master_config::sclGlitchFilterWidth_ns</td>
</tr>
</table>
</div><div class="memdoc">
<p>Set to 0 to disable. </p>
</div>
</div>
<a class="anchor" id="a25e1417deacf0de8e3f7e761123d93a3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _lpi2c_master_config::enable</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a838f77075b78812da990e220d0b4df3a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00045.html#gafb08c31c073d73cb9f4b4ec9355e5ce3">lpi2c_host_request_source_t</a> _lpi2c_master_config::source</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac54e4718ad691c1b3f93e0846948a96e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00045.html#ga5ba05d38f59653bf8ae998d12e6908af">lpi2c_host_request_polarity_t</a> _lpi2c_master_config::polarity</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aaf7251f0d1f669748f7314faf964395c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct { ... } _lpi2c_master_config::hostRequest</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00413" id="a00413"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _lpi2c_match_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:ae95ba41c4d8ee32cdf1071f079fe0f88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00045.html#ga4bf8bf623faecb12226ffae053509876">lpi2c_data_match_config_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ae95ba41c4d8ee32cdf1071f079fe0f88">matchMode</a></td></tr>
<tr class="memdesc:ae95ba41c4d8ee32cdf1071f079fe0f88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data match configuration setting. <a href="#ae95ba41c4d8ee32cdf1071f079fe0f88">More...</a><br/></td></tr>
<tr class="separator:ae95ba41c4d8ee32cdf1071f079fe0f88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e8ae391cfc6d74a8dd65bf196aae1da"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a8e8ae391cfc6d74a8dd65bf196aae1da">rxDataMatchOnly</a></td></tr>
<tr class="memdesc:a8e8ae391cfc6d74a8dd65bf196aae1da"><td class="mdescLeft">&#160;</td><td class="mdescRight">When set to true, received data is ignored until a successful match. <a href="#a8e8ae391cfc6d74a8dd65bf196aae1da">More...</a><br/></td></tr>
<tr class="separator:a8e8ae391cfc6d74a8dd65bf196aae1da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a883539a05fa595ccf0cbb8836d8f9f24"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a883539a05fa595ccf0cbb8836d8f9f24">match0</a></td></tr>
<tr class="memdesc:a883539a05fa595ccf0cbb8836d8f9f24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Match value 0. <a href="#a883539a05fa595ccf0cbb8836d8f9f24">More...</a><br/></td></tr>
<tr class="separator:a883539a05fa595ccf0cbb8836d8f9f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a660d00fcd9fb6e619fb597cf1fbd0fcb"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a660d00fcd9fb6e619fb597cf1fbd0fcb">match1</a></td></tr>
<tr class="memdesc:a660d00fcd9fb6e619fb597cf1fbd0fcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Match value 1. <a href="#a660d00fcd9fb6e619fb597cf1fbd0fcb">More...</a><br/></td></tr>
<tr class="separator:a660d00fcd9fb6e619fb597cf1fbd0fcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="ae95ba41c4d8ee32cdf1071f079fe0f88"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00045.html#ga4bf8bf623faecb12226ffae053509876">lpi2c_data_match_config_mode_t</a> _lpi2c_match_config::matchMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8e8ae391cfc6d74a8dd65bf196aae1da"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _lpi2c_match_config::rxDataMatchOnly</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a883539a05fa595ccf0cbb8836d8f9f24"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _lpi2c_match_config::match0</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a660d00fcd9fb6e619fb597cf1fbd0fcb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _lpi2c_match_config::match1</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00412" id="a00412"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _lpi2c_master_transfer</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><p>This structure is used to pass transaction parameters to the <a class="el" href="a00045.html#ga2b0c04b87bd15fcaeac176993969bc29" title="Performs a non-blocking transaction on the I2C bus. ">LPI2C_MasterTransferNonBlocking()</a> API. </p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a6533bfb1994c17b45346c97e504d6eb1"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a6533bfb1994c17b45346c97e504d6eb1">flags</a></td></tr>
<tr class="memdesc:a6533bfb1994c17b45346c97e504d6eb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask of options for the transfer. <a href="#a6533bfb1994c17b45346c97e504d6eb1">More...</a><br/></td></tr>
<tr class="separator:a6533bfb1994c17b45346c97e504d6eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1048f987d2c513d653030a2faccb0390"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a1048f987d2c513d653030a2faccb0390">slaveAddress</a></td></tr>
<tr class="memdesc:a1048f987d2c513d653030a2faccb0390"><td class="mdescLeft">&#160;</td><td class="mdescRight">The 7-bit slave address. <a href="#a1048f987d2c513d653030a2faccb0390">More...</a><br/></td></tr>
<tr class="separator:a1048f987d2c513d653030a2faccb0390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad52448e432e47716a97df6ab134c57f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00045.html#ga1f7d7abfaf3f3b927dc0c3cac2ca4247">lpi2c_direction_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ad52448e432e47716a97df6ab134c57f6">direction</a></td></tr>
<tr class="memdesc:ad52448e432e47716a97df6ab134c57f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Either <a class="el" href="a00045.html#gga3af0809d0dd890e9cf71012c87f2d9aba50ba3a53d79baed347bb8fa07d7884ab" title="Master receive. ">kLPI2C_Read</a> or <a class="el" href="a00045.html#gga3af0809d0dd890e9cf71012c87f2d9aba4a913c200cf54c773380ea8271e7b42b" title="Master transmit. ">kLPI2C_Write</a>. <a href="#ad52448e432e47716a97df6ab134c57f6">More...</a><br/></td></tr>
<tr class="separator:ad52448e432e47716a97df6ab134c57f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1d27ee9c1424b3fd181bb9c5467f710"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ad1d27ee9c1424b3fd181bb9c5467f710">subaddress</a></td></tr>
<tr class="memdesc:ad1d27ee9c1424b3fd181bb9c5467f710"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub address. <a href="#ad1d27ee9c1424b3fd181bb9c5467f710">More...</a><br/></td></tr>
<tr class="separator:ad1d27ee9c1424b3fd181bb9c5467f710"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f85337350f82c7ea71a977b597af292"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a5f85337350f82c7ea71a977b597af292">subaddressSize</a></td></tr>
<tr class="memdesc:a5f85337350f82c7ea71a977b597af292"><td class="mdescLeft">&#160;</td><td class="mdescRight">Length of sub address to send in bytes. <a href="#a5f85337350f82c7ea71a977b597af292">More...</a><br/></td></tr>
<tr class="separator:a5f85337350f82c7ea71a977b597af292"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d334c7862e9bf45ddb6a6d7d0a8ca49"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a5d334c7862e9bf45ddb6a6d7d0a8ca49">data</a></td></tr>
<tr class="memdesc:a5d334c7862e9bf45ddb6a6d7d0a8ca49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to data to transfer. <a href="#a5d334c7862e9bf45ddb6a6d7d0a8ca49">More...</a><br/></td></tr>
<tr class="separator:a5d334c7862e9bf45ddb6a6d7d0a8ca49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebb7d33eb8e627c56540b43a891f3989"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#aebb7d33eb8e627c56540b43a891f3989">dataSize</a></td></tr>
<tr class="memdesc:aebb7d33eb8e627c56540b43a891f3989"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bytes to transfer. <a href="#aebb7d33eb8e627c56540b43a891f3989">More...</a><br/></td></tr>
<tr class="separator:aebb7d33eb8e627c56540b43a891f3989"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a6533bfb1994c17b45346c97e504d6eb1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _lpi2c_master_transfer::flags</td>
</tr>
</table>
</div><div class="memdoc">
<p>See enumeration <a class="el" href="a00045.html#ga6d8e7ad8c6f187673a91247a23a52dc1" title="Transfer option flags. ">_lpi2c_master_transfer_flags</a> for available options. Set to 0 or <a class="el" href="a00045.html#gga6d8e7ad8c6f187673a91247a23a52dc1a413ec0da1a0be18365a3ba1285fe78f4" title="Transfer starts with a start signal, stops with a stop signal. ">kLPI2C_TransferDefaultFlag</a> for normal transfers. </p>
</div>
</div>
<a class="anchor" id="a1048f987d2c513d653030a2faccb0390"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _lpi2c_master_transfer::slaveAddress</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad52448e432e47716a97df6ab134c57f6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00045.html#ga1f7d7abfaf3f3b927dc0c3cac2ca4247">lpi2c_direction_t</a> _lpi2c_master_transfer::direction</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad1d27ee9c1424b3fd181bb9c5467f710"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _lpi2c_master_transfer::subaddress</td>
</tr>
</table>
</div><div class="memdoc">
<p>Transferred MSB first. </p>
</div>
</div>
<a class="anchor" id="a5f85337350f82c7ea71a977b597af292"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t _lpi2c_master_transfer::subaddressSize</td>
</tr>
</table>
</div><div class="memdoc">
<p>Maximum size is 4 bytes. </p>
</div>
</div>
<a class="anchor" id="a5d334c7862e9bf45ddb6a6d7d0a8ca49"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* _lpi2c_master_transfer::data</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aebb7d33eb8e627c56540b43a891f3989"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t _lpi2c_master_transfer::dataSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00411" id="a00411"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _lpi2c_master_handle</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><dl class="section note"><dt>Note</dt><dd>The contents of this structure are private and subject to change. </dd></dl>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:ab71bbb48ee02d9ba9a916f7290c42654"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ab71bbb48ee02d9ba9a916f7290c42654">state</a></td></tr>
<tr class="memdesc:ab71bbb48ee02d9ba9a916f7290c42654"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer state machine current state. <a href="#ab71bbb48ee02d9ba9a916f7290c42654">More...</a><br/></td></tr>
<tr class="separator:ab71bbb48ee02d9ba9a916f7290c42654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0237592c3efb422804845a8900dcf525"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a0237592c3efb422804845a8900dcf525">remainingBytes</a></td></tr>
<tr class="memdesc:a0237592c3efb422804845a8900dcf525"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remaining byte count in current state. <a href="#a0237592c3efb422804845a8900dcf525">More...</a><br/></td></tr>
<tr class="separator:a0237592c3efb422804845a8900dcf525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7874ac02bba45dab209194265a6cc74a"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a7874ac02bba45dab209194265a6cc74a">buf</a></td></tr>
<tr class="memdesc:a7874ac02bba45dab209194265a6cc74a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer pointer for current state. <a href="#a7874ac02bba45dab209194265a6cc74a">More...</a><br/></td></tr>
<tr class="separator:a7874ac02bba45dab209194265a6cc74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c0013419d0b545cfd8a66354939d9b6"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a7c0013419d0b545cfd8a66354939d9b6">commandBuffer</a> [6]</td></tr>
<tr class="memdesc:a7c0013419d0b545cfd8a66354939d9b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPI2C command sequence. <a href="#a7c0013419d0b545cfd8a66354939d9b6">More...</a><br/></td></tr>
<tr class="separator:a7c0013419d0b545cfd8a66354939d9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e186a52f27436c46817ec3f3b882e51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00045.html#ga3ca84881363fc4223677496feefecb93">lpi2c_master_transfer_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a6e186a52f27436c46817ec3f3b882e51">transfer</a></td></tr>
<tr class="memdesc:a6e186a52f27436c46817ec3f3b882e51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy of the current transfer info. <a href="#a6e186a52f27436c46817ec3f3b882e51">More...</a><br/></td></tr>
<tr class="separator:a6e186a52f27436c46817ec3f3b882e51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77a26f20a00a02b8bbdd0eb97ce98fd0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00045.html#ga62ccf3faece8d48363807833b8c58bf2">lpi2c_master_transfer_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a77a26f20a00a02b8bbdd0eb97ce98fd0">completionCallback</a></td></tr>
<tr class="memdesc:a77a26f20a00a02b8bbdd0eb97ce98fd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function pointer. <a href="#a77a26f20a00a02b8bbdd0eb97ce98fd0">More...</a><br/></td></tr>
<tr class="separator:a77a26f20a00a02b8bbdd0eb97ce98fd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac800269ff647403735c1012a106fef48"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ac800269ff647403735c1012a106fef48">userData</a></td></tr>
<tr class="memdesc:ac800269ff647403735c1012a106fef48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Application data passed to callback. <a href="#ac800269ff647403735c1012a106fef48">More...</a><br/></td></tr>
<tr class="separator:ac800269ff647403735c1012a106fef48"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="ab71bbb48ee02d9ba9a916f7290c42654"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _lpi2c_master_handle::state</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0237592c3efb422804845a8900dcf525"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _lpi2c_master_handle::remainingBytes</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7874ac02bba45dab209194265a6cc74a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* _lpi2c_master_handle::buf</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7c0013419d0b545cfd8a66354939d9b6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _lpi2c_master_handle::commandBuffer[6]</td>
</tr>
</table>
</div><div class="memdoc">
<p>When all 6 command words are used: Start&amp;addr&amp;write[1 word] + subaddr[4 words] + restart&amp;addr&amp;read[1 word] </p>
</div>
</div>
<a class="anchor" id="a6e186a52f27436c46817ec3f3b882e51"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00045.html#ga3ca84881363fc4223677496feefecb93">lpi2c_master_transfer_t</a> _lpi2c_master_handle::transfer</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a77a26f20a00a02b8bbdd0eb97ce98fd0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00045.html#ga62ccf3faece8d48363807833b8c58bf2">lpi2c_master_transfer_callback_t</a> _lpi2c_master_handle::completionCallback</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac800269ff647403735c1012a106fef48"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* _lpi2c_master_handle::userData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga1f7d7abfaf3f3b927dc0c3cac2ca4247"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00045.html#ga3af0809d0dd890e9cf71012c87f2d9ab">_lpi2c_direction</a> <a class="el" href="a00045.html#ga1f7d7abfaf3f3b927dc0c3cac2ca4247">lpi2c_direction_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gae138f6ef3c0bf321fbb91d3282757c4b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00045.html#gadb22011c36ba20a78a165da294a7f5f9">_lpi2c_master_pin_config</a> <a class="el" href="a00045.html#gae138f6ef3c0bf321fbb91d3282757c4b">lpi2c_master_pin_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gafb08c31c073d73cb9f4b4ec9355e5ce3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00045.html#ga53b91f9a7a24bd114109c4a707c04e1f">_lpi2c_host_request_source</a> <a class="el" href="a00045.html#gafb08c31c073d73cb9f4b4ec9355e5ce3">lpi2c_host_request_source_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga5ba05d38f59653bf8ae998d12e6908af"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00045.html#ga65e6dbe3f418c915ccdd9236f3648939">_lpi2c_host_request_polarity</a> <a class="el" href="a00045.html#ga5ba05d38f59653bf8ae998d12e6908af">lpi2c_host_request_polarity_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga7c66f4eea3a073f257429d57dc4cd2c0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00045.html#a00409">_lpi2c_master_config</a> <a class="el" href="a00045.html#ga7c66f4eea3a073f257429d57dc4cd2c0">lpi2c_master_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This structure holds configuration settings for the LPI2C peripheral. To initialize this structure to reasonable defaults, call the <a class="el" href="a00045.html#gaf1753f02b6a39bb4391250c646236eae" title="Provides a default configuration for the LPI2C master peripheral. ">LPI2C_MasterGetDefaultConfig()</a> function and pass a pointer to your configuration structure instance.</p>
<p>The configuration structure can be made constant so it resides in flash. </p>
</div>
</div>
<a class="anchor" id="ga4bf8bf623faecb12226ffae053509876"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00045.html#ga7dcb50f2abdbbcf0d4fd0618659c34d8">_lpi2c_data_match_config_mode</a> <a class="el" href="a00045.html#ga4bf8bf623faecb12226ffae053509876">lpi2c_data_match_config_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga454ba39e5b8274ff98ea4db8fabd9ac2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00045.html#a00413">_lpi2c_match_config</a> <a class="el" href="a00045.html#ga454ba39e5b8274ff98ea4db8fabd9ac2">lpi2c_data_match_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga3ca84881363fc4223677496feefecb93"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00045.html#a00412">_lpi2c_master_transfer</a> <a class="el" href="a00045.html#ga3ca84881363fc4223677496feefecb93">lpi2c_master_transfer_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga5244060eefa022eab46035e93b993b1f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00045.html#a00411">_lpi2c_master_handle</a> <a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga62ccf3faece8d48363807833b8c58bf2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* lpi2c_master_transfer_callback_t)(LPI2C_Type *base, <a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a> *handle, <a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> completionStatus, void *userData)</td>
</tr>
</table>
</div><div class="memdoc">
<p>This callback is used only for the non-blocking master transfer API. Specify the callback you wish to use in the call to <a class="el" href="a00045.html#gafa1c62e098fb418bca7cfbe1ffa6aeaf" title="Creates a new handle for the LPI2C master non-blocking APIs. ">LPI2C_MasterTransferCreateHandle()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the LPI2C master driver handle. </td></tr>
<tr><td class="paramname">completionStatus</td><td>Either kStatus_Success or an error code describing how the transfer completed. </td></tr>
<tr><td class="paramname">userData</td><td>Arbitrary pointer-sized value passed from the application. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga830bba7ea584a7f98d3fb6afd946d739"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00045.html#ga830bba7ea584a7f98d3fb6afd946d739">_lpi2c_master_flags</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The following status register flags can be cleared:</p>
<ul>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739adf431b1a9475437d7089df5abcea7122" title="End Packet flag. ">kLPI2C_MasterEndOfPacketFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739aad8d90df6216a4d27680fd530c42710d" title="Stop detect flag. ">kLPI2C_MasterStopDetectFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a3ea7b4560b395c82e5293678228fff81" title="NACK detect flag. ">kLPI2C_MasterNackDetectFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a9e012e945342b8f0333e59060affb0b1" title="Arbitration lost flag. ">kLPI2C_MasterArbitrationLostFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739aac4e2ec9c92ea22b5246bb62000f93a9" title="FIFO error flag. ">kLPI2C_MasterFifoErrFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a37ceb9a9bdaa1ec7261d7265a51a5f17" title="Pin low timeout flag. ">kLPI2C_MasterPinLowTimeoutFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739aaaad4c02a63dcf7d021baa5c4a9dcf2e" title="Data match flag. ">kLPI2C_MasterDataMatchFlag</a></li>
</ul>
<p>All flags except <a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739ac1de9e29d8ffe76b10b8425f81db1368" title="Master busy flag. ">kLPI2C_MasterBusyFlag</a> and <a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a408ed7773539a17625803f6c9d3a6629" title="Bus busy flag. ">kLPI2C_MasterBusBusyFlag</a> can be enabled as interrupts.</p>
<dl class="section note"><dt>Note</dt><dd>These enums are meant to be OR'd together to form a bit mask. </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739af3208f156244a4b1c520db35b147ee33"></a>kLPI2C_MasterTxReadyFlag</em>&nbsp;</td><td class="fielddoc">
<p>Transmit data flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739ae09650509ffef3de4ede348c4ac66be5"></a>kLPI2C_MasterRxReadyFlag</em>&nbsp;</td><td class="fielddoc">
<p>Receive data flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739adf431b1a9475437d7089df5abcea7122"></a>kLPI2C_MasterEndOfPacketFlag</em>&nbsp;</td><td class="fielddoc">
<p>End Packet flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739aad8d90df6216a4d27680fd530c42710d"></a>kLPI2C_MasterStopDetectFlag</em>&nbsp;</td><td class="fielddoc">
<p>Stop detect flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739a3ea7b4560b395c82e5293678228fff81"></a>kLPI2C_MasterNackDetectFlag</em>&nbsp;</td><td class="fielddoc">
<p>NACK detect flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739a9e012e945342b8f0333e59060affb0b1"></a>kLPI2C_MasterArbitrationLostFlag</em>&nbsp;</td><td class="fielddoc">
<p>Arbitration lost flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739aac4e2ec9c92ea22b5246bb62000f93a9"></a>kLPI2C_MasterFifoErrFlag</em>&nbsp;</td><td class="fielddoc">
<p>FIFO error flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739a37ceb9a9bdaa1ec7261d7265a51a5f17"></a>kLPI2C_MasterPinLowTimeoutFlag</em>&nbsp;</td><td class="fielddoc">
<p>Pin low timeout flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739aaaad4c02a63dcf7d021baa5c4a9dcf2e"></a>kLPI2C_MasterDataMatchFlag</em>&nbsp;</td><td class="fielddoc">
<p>Data match flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739ac1de9e29d8ffe76b10b8425f81db1368"></a>kLPI2C_MasterBusyFlag</em>&nbsp;</td><td class="fielddoc">
<p>Master busy flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739a408ed7773539a17625803f6c9d3a6629"></a>kLPI2C_MasterBusBusyFlag</em>&nbsp;</td><td class="fielddoc">
<p>Bus busy flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739acdc753a79a4f88e35035bfec194ef8d3"></a>kLPI2C_MasterClearFlags</em>&nbsp;</td><td class="fielddoc">
<p>All flags which are cleared by the driver upon starting a transfer. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739a05b681a219360ade22758c0a73b98593"></a>kLPI2C_MasterIrqFlags</em>&nbsp;</td><td class="fielddoc">
<p>IRQ sources enabled by the non-blocking transactional API. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga830bba7ea584a7f98d3fb6afd946d739af7ace370cb49c849f12c878eefa23118"></a>kLPI2C_MasterErrorFlags</em>&nbsp;</td><td class="fielddoc">
<p>Errors to check for. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga3af0809d0dd890e9cf71012c87f2d9ab"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00045.html#ga3af0809d0dd890e9cf71012c87f2d9ab">_lpi2c_direction</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="gga3af0809d0dd890e9cf71012c87f2d9aba4a913c200cf54c773380ea8271e7b42b"></a>kLPI2C_Write</em>&nbsp;</td><td class="fielddoc">
<p>Master transmit. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3af0809d0dd890e9cf71012c87f2d9aba50ba3a53d79baed347bb8fa07d7884ab"></a>kLPI2C_Read</em>&nbsp;</td><td class="fielddoc">
<p>Master receive. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gadb22011c36ba20a78a165da294a7f5f9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00045.html#gadb22011c36ba20a78a165da294a7f5f9">_lpi2c_master_pin_config</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="ggadb22011c36ba20a78a165da294a7f5f9ada174b660785782567aee14c05918d89"></a>kLPI2C_2PinOpenDrain</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Configured for 2-pin open drain mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadb22011c36ba20a78a165da294a7f5f9a9a8053876d619b3beeb745b212b9a1fb"></a>kLPI2C_2PinOutputOnly</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Configured for 2-pin output only mode (ultra-fast mode) </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadb22011c36ba20a78a165da294a7f5f9a53f8d0708cfc2ea887abb2e2d440d29e"></a>kLPI2C_2PinPushPull</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Configured for 2-pin push-pull mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadb22011c36ba20a78a165da294a7f5f9a9642890d09eeb5ed0b8d9e59aac6e3b7"></a>kLPI2C_4PinPushPull</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Configured for 4-pin push-pull mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadb22011c36ba20a78a165da294a7f5f9ad809117a74ffea333e273e97dc93aff7"></a>kLPI2C_2PinOpenDrainWithSeparateSlave</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Configured for 2-pin open drain mode with separate LPI2C slave. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadb22011c36ba20a78a165da294a7f5f9a297f630d584519da05064b2962596ee5"></a>kLPI2C_2PinOutputOnlyWithSeparateSlave</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Configured for 2-pin output only mode(ultra-fast mode) with separate LPI2C slave. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadb22011c36ba20a78a165da294a7f5f9a5e8d93f3f8f55f5c9a47c7cddd4df495"></a>kLPI2C_2PinPushPullWithSeparateSlave</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Configured for 2-pin push-pull mode with separate LPI2C slave. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadb22011c36ba20a78a165da294a7f5f9acb4290916ade8b65741bc18d632acbd6"></a>kLPI2C_4PinPushPullWithInvertedOutput</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Configured for 4-pin push-pull mode(inverted outputs) </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga53b91f9a7a24bd114109c4a707c04e1f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00045.html#ga53b91f9a7a24bd114109c4a707c04e1f">_lpi2c_host_request_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="gga53b91f9a7a24bd114109c4a707c04e1fa4634268e7c377ffd2e7db9a93b2776eb"></a>kLPI2C_HostRequestExternalPin</em>&nbsp;</td><td class="fielddoc">
<p>Select the LPI2C_HREQ pin as the host request input. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga53b91f9a7a24bd114109c4a707c04e1fa1a8773fbec157bc1a069826af08a2aae"></a>kLPI2C_HostRequestInputTrigger</em>&nbsp;</td><td class="fielddoc">
<p>Select the input trigger as the host request input. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga65e6dbe3f418c915ccdd9236f3648939"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00045.html#ga65e6dbe3f418c915ccdd9236f3648939">_lpi2c_host_request_polarity</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="gga65e6dbe3f418c915ccdd9236f3648939aab540d2690ea7446d68f0106e46cfb36"></a>kLPI2C_HostRequestPinActiveLow</em>&nbsp;</td><td class="fielddoc">
<p>Configure the LPI2C_HREQ pin active low. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga65e6dbe3f418c915ccdd9236f3648939a1f72f10b4bfe685cc57e8994df237a16"></a>kLPI2C_HostRequestPinActiveHigh</em>&nbsp;</td><td class="fielddoc">
<p>Configure the LPI2C_HREQ pin active high. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga7dcb50f2abdbbcf0d4fd0618659c34d8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00045.html#ga7dcb50f2abdbbcf0d4fd0618659c34d8">_lpi2c_data_match_config_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="gga7dcb50f2abdbbcf0d4fd0618659c34d8a00ef085f1047daf41240a7c9daa7aee5"></a>kLPI2C_MatchDisabled</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Match Disabled. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga7dcb50f2abdbbcf0d4fd0618659c34d8ae41fc9d1480c995ecab8be9afc489108"></a>kLPI2C_1stWordEqualsM0OrM1</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Match Enabled and 1st data word equals MATCH0 OR MATCH1. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga7dcb50f2abdbbcf0d4fd0618659c34d8af994783c76b2008af82fa9209d1fb746"></a>kLPI2C_AnyWordEqualsM0OrM1</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Match Enabled and any data word equals MATCH0 OR MATCH1. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga7dcb50f2abdbbcf0d4fd0618659c34d8a309463f537d290dc18770d4245e0046e"></a>kLPI2C_1stWordEqualsM0And2ndWordEqualsM1</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Match Enabled and 1st data word equals MATCH0, 2nd data equals MATCH1. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga7dcb50f2abdbbcf0d4fd0618659c34d8a747cdb86ebade4b5d09fc25a0f199aee"></a>kLPI2C_AnyWordEqualsM0AndNextWordEqualsM1</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Match Enabled and any data word equals MATCH0, next data equals MATCH1. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga7dcb50f2abdbbcf0d4fd0618659c34d8a1b963126207a01049b68b0fd7645ff4a"></a>kLPI2C_1stWordAndM1EqualsM0AndM1</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Match Enabled and 1st data word and MATCH0 equals MATCH0 and MATCH1. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga7dcb50f2abdbbcf0d4fd0618659c34d8a37e28fca69438b64be9ca862bade372b"></a>kLPI2C_AnyWordAndM1EqualsM0AndM1</em>&nbsp;</td><td class="fielddoc">
<p>LPI2C Match Enabled and any data word and MATCH0 equals MATCH0 and MATCH1. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga6d8e7ad8c6f187673a91247a23a52dc1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00045.html#ga6d8e7ad8c6f187673a91247a23a52dc1">_lpi2c_master_transfer_flags</a></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>These enumerations are intended to be OR'd together to form a bit mask of options for the <a class="el" href="a00045.html#a6533bfb1994c17b45346c97e504d6eb1" title="Bit mask of options for the transfer. ">_lpi2c_master_transfer::flags</a> field. </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga6d8e7ad8c6f187673a91247a23a52dc1a413ec0da1a0be18365a3ba1285fe78f4"></a>kLPI2C_TransferDefaultFlag</em>&nbsp;</td><td class="fielddoc">
<p>Transfer starts with a start signal, stops with a stop signal. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6d8e7ad8c6f187673a91247a23a52dc1adc9924923c68af7960d4b8cf43e5609e"></a>kLPI2C_TransferNoStartFlag</em>&nbsp;</td><td class="fielddoc">
<p>Don't send a start condition, address, and sub address. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6d8e7ad8c6f187673a91247a23a52dc1a2d6fdbacf571dc6eea70ef0349c73ccb"></a>kLPI2C_TransferRepeatedStartFlag</em>&nbsp;</td><td class="fielddoc">
<p>Send a repeated start condition. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6d8e7ad8c6f187673a91247a23a52dc1a56c1abdffee0978f6d5aeedba30971c3"></a>kLPI2C_TransferNoStopFlag</em>&nbsp;</td><td class="fielddoc">
<p>Don't send a stop condition. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaf1753f02b6a39bb4391250c646236eae"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPI2C_MasterGetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00045.html#ga7c66f4eea3a073f257429d57dc4cd2c0">lpi2c_master_config_t</a> *&#160;</td>
<td class="paramname"><em>masterConfig</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function provides the following default configuration for the LPI2C master peripheral: </p>
<div class="fragment"><div class="line">* masterConfig-&gt;enableMaster = <span class="keyword">true</span>;</div>
<div class="line">* masterConfig-&gt;debugEnable = <span class="keyword">false</span>;</div>
<div class="line">* masterConfig-&gt;ignoreAck = <span class="keyword">false</span>;</div>
<div class="line">* masterConfig-&gt;pinConfig = <a class="code" href="a00045.html#ggadb22011c36ba20a78a165da294a7f5f9ada174b660785782567aee14c05918d89">kLPI2C_2PinOpenDrain</a>;</div>
<div class="line">* masterConfig-&gt;baudRate_Hz = 100000U;</div>
<div class="line">* masterConfig-&gt;busIdleTimeout_ns = 0;</div>
<div class="line">* masterConfig-&gt;pinLowTimeout_ns = 0;</div>
<div class="line">* masterConfig-&gt;sdaGlitchFilterWidth_ns = 0;</div>
<div class="line">* masterConfig-&gt;sclGlitchFilterWidth_ns = 0;</div>
<div class="line">* masterConfig-&gt;hostRequest.enable = <span class="keyword">false</span>;</div>
<div class="line">* masterConfig-&gt;hostRequest.source = <a class="code" href="a00045.html#gga53b91f9a7a24bd114109c4a707c04e1fa4634268e7c377ffd2e7db9a93b2776eb">kLPI2C_HostRequestExternalPin</a>;</div>
<div class="line">* masterConfig-&gt;hostRequest.polarity = <a class="code" href="a00045.html#gga65e6dbe3f418c915ccdd9236f3648939a1f72f10b4bfe685cc57e8994df237a16">kLPI2C_HostRequestPinActiveHigh</a>;</div>
<div class="line">* </div>
</div><!-- fragment --><p>After calling this function, you can override any settings in order to customize the configuration, prior to initializing the master driver with <a class="el" href="a00045.html#ga31c7e21bae74602cb831109e7de33ade" title="Initializes the LPI2C master peripheral. ">LPI2C_MasterInit()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">masterConfig</td><td>User provided configuration structure for default values. Refer to <a class="el" href="a00045.html#ga7c66f4eea3a073f257429d57dc4cd2c0" title="Structure with settings to initialize the LPI2C master module. ">lpi2c_master_config_t</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga31c7e21bae74602cb831109e7de33ade"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPI2C_MasterInit </td>
<td>(</td>
<td class="paramtype">LPI2C_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="a00045.html#ga7c66f4eea3a073f257429d57dc4cd2c0">lpi2c_master_config_t</a> *&#160;</td>
<td class="paramname"><em>masterConfig</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>sourceClock_Hz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function enables the peripheral clock and initializes the LPI2C master peripheral as described by the user provided configuration. A software reset is performed prior to configuration.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">masterConfig</td><td>User provided peripheral configuration. Use <a class="el" href="a00045.html#gaf1753f02b6a39bb4391250c646236eae" title="Provides a default configuration for the LPI2C master peripheral. ">LPI2C_MasterGetDefaultConfig()</a> to get a set of defaults that you can override. </td></tr>
<tr><td class="paramname">sourceClock_Hz</td><td>Frequency in Hertz of the LPI2C functional clock. Used to calculate the baud rate divisors, filter widths, and timeout periods. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga1e5ac26414d36018ac33f31332026b82"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPI2C_MasterDeinit </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function disables the LPI2C master peripheral and gates the clock. It also performs a software reset to restore the peripheral to reset conditions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga050bfe41a14a866968dbf8e88d4a7159"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPI2C_MasterConfigureDataMatch </td>
<td>(</td>
<td class="paramtype">LPI2C_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="a00045.html#ga454ba39e5b8274ff98ea4db8fabd9ac2">lpi2c_data_match_config_t</a> *&#160;</td>
<td class="paramname"><em>matchConfig</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>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">matchConfig</td><td>Settings for the data match feature. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga3f45d7022fbebbf34ca852e2b61ddb14"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> LPI2C_MasterCheckAndClearError </td>
<td>(</td>
<td class="paramtype">LPI2C_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>status</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>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">status</td><td>Current status flags value that will be checked. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname"><a class="el" href="a00260.html#gga0411cd49bb5b71852cecd93bcbf0ca2da829bee76c6b02225d9c891ae8ef70881" title="Generic status for Success. ">kStatus_Success</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89aa8c558fc024cbde751d7861ea6efca78" title="SCL or SDA were held low longer than the timeout. ">kStatus_LPI2C_PinLowTimeout</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a5169d7e655df8bde3b4fc6d49ae8777a" title="Arbitration lost error. ">kStatus_LPI2C_ArbitrationLost</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a75dbc01ed590c24e787fadb97ba2f684" title="The slave device sent a NAK in response to a byte. ">kStatus_LPI2C_Nak</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a5b3634e1fedb0ad8cc38476aac29477e" title="FIFO under run or overrun. ">kStatus_LPI2C_FifoError</a></td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga699f43147cfc18f479f8dad8bbefc973"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> LPI2C_CheckForBusyBus </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>A busy bus is allowed if we are the one driving it.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname"><a class="el" href="a00260.html#gga0411cd49bb5b71852cecd93bcbf0ca2da829bee76c6b02225d9c891ae8ef70881" title="Generic status for Success. ">kStatus_Success</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89af52a270e301641b8855edf3fcc843814" title="The master is already performing a transfer. ">kStatus_LPI2C_Busy</a></td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga75ac46a8612bfb21b52699a3feb2cd03"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void LPI2C_MasterReset </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Restores the LPI2C master peripheral to reset conditions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga46bd9c4d6579fa0273c3a1cc1c94b65a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void LPI2C_MasterEnable </td>
<td>(</td>
<td class="paramtype">LPI2C_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>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>Pass true to enable or false to disable the specified LPI2C as master. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga02cab0c6281b9532bd6f8e2b04e5a2ba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t LPI2C_MasterGetStatusFlags </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>A bit mask with the state of all LPI2C master status flags is returned. For each flag, the corresponding bit in the return value is set if the flag is asserted.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>State of the status flags:<ul>
<li>1: related status flag is set.</li>
<li>0: related status flag is not set. </li>
</ul>
</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00045.html#ga830bba7ea584a7f98d3fb6afd946d739" title="LPI2C master peripheral flags. ">_lpi2c_master_flags</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga27324dea42cdddefdfdf53a034118522"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void LPI2C_MasterClearStatusFlags </td>
<td>(</td>
<td class="paramtype">LPI2C_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>statusMask</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>The following status register flags can be cleared:</p>
<ul>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739adf431b1a9475437d7089df5abcea7122" title="End Packet flag. ">kLPI2C_MasterEndOfPacketFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739aad8d90df6216a4d27680fd530c42710d" title="Stop detect flag. ">kLPI2C_MasterStopDetectFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a3ea7b4560b395c82e5293678228fff81" title="NACK detect flag. ">kLPI2C_MasterNackDetectFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a9e012e945342b8f0333e59060affb0b1" title="Arbitration lost flag. ">kLPI2C_MasterArbitrationLostFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739aac4e2ec9c92ea22b5246bb62000f93a9" title="FIFO error flag. ">kLPI2C_MasterFifoErrFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a37ceb9a9bdaa1ec7261d7265a51a5f17" title="Pin low timeout flag. ">kLPI2C_MasterPinLowTimeoutFlag</a></li>
<li><a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739aaaad4c02a63dcf7d021baa5c4a9dcf2e" title="Data match flag. ">kLPI2C_MasterDataMatchFlag</a></li>
</ul>
<p>Attempts to clear other flags has no effect.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">statusMask</td><td>A bitmask of status flags that are to be cleared. The mask is composed of _lpi2c_master_flags enumerators OR'd together. You may pass the result of a previous call to <a class="el" href="a00045.html#ga02cab0c6281b9532bd6f8e2b04e5a2ba" title="Gets the LPI2C master status flags. ">LPI2C_MasterGetStatusFlags()</a>. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00045.html#ga830bba7ea584a7f98d3fb6afd946d739" title="LPI2C master peripheral flags. ">_lpi2c_master_flags</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="ga41f9e18b131a5a3ed0f0573c468c3123"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void LPI2C_MasterEnableInterrupts </td>
<td>(</td>
<td class="paramtype">LPI2C_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>interruptMask</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>All flags except <a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739ac1de9e29d8ffe76b10b8425f81db1368" title="Master busy flag. ">kLPI2C_MasterBusyFlag</a> and <a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a408ed7773539a17625803f6c9d3a6629" title="Bus busy flag. ">kLPI2C_MasterBusBusyFlag</a> can be enabled as interrupts.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">interruptMask</td><td>Bit mask of interrupts to enable. See _lpi2c_master_flags for the set of constants that should be OR'd together to form the bit mask. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga50ab891c01b147071d465138b144fce7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void LPI2C_MasterDisableInterrupts </td>
<td>(</td>
<td class="paramtype">LPI2C_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>interruptMask</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>All flags except <a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739ac1de9e29d8ffe76b10b8425f81db1368" title="Master busy flag. ">kLPI2C_MasterBusyFlag</a> and <a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739a408ed7773539a17625803f6c9d3a6629" title="Bus busy flag. ">kLPI2C_MasterBusBusyFlag</a> can be enabled as interrupts.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">interruptMask</td><td>Bit mask of interrupts to disable. See _lpi2c_master_flags for the set of constants that should be OR'd together to form the bit mask. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga8894194d00537fa3a5bae2b88910790c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t LPI2C_MasterGetEnabledInterrupts </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A bitmask composed of _lpi2c_master_flags enumerators OR'd together to indicate the set of enabled interrupts. </dd></dl>
</div>
</div>
<a class="anchor" id="ga682c0d77de6725eb842b8bf26d70ef6e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void LPI2C_MasterEnableDMA </td>
<td>(</td>
<td class="paramtype">LPI2C_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>enableTx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enableRx</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>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">enableTx</td><td>Enable flag for transmit DMA request. Pass true for enable, false for disable. </td></tr>
<tr><td class="paramname">enableRx</td><td>Enable flag for receive DMA request. Pass true for enable, false for disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5350c8b782a982c3a2a7103a32a55569"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t LPI2C_MasterGetTxFifoAddress </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The LPI2C Master Transmit Data Register address. </dd></dl>
</div>
</div>
<a class="anchor" id="ga84da0ad9e383e1b06ddfce53a52f2777"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t LPI2C_MasterGetRxFifoAddress </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The LPI2C Master Receive Data Register address. </dd></dl>
</div>
</div>
<a class="anchor" id="gaf0eb7016afbb3ab6bf8d624dbc95347d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void LPI2C_MasterSetWatermarks </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>txWords</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>rxWords</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>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">txWords</td><td>Transmit FIFO watermark value in words. The <a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739af3208f156244a4b1c520db35b147ee33" title="Transmit data flag. ">kLPI2C_MasterTxReadyFlag</a> flag is set whenever the number of words in the transmit FIFO is equal or less than <em>txWords</em>. Writing a value equal or greater than the FIFO size is truncated. </td></tr>
<tr><td class="paramname">rxWords</td><td>Receive FIFO watermark value in words. The <a class="el" href="a00045.html#gga830bba7ea584a7f98d3fb6afd946d739ae09650509ffef3de4ede348c4ac66be5" title="Receive data flag. ">kLPI2C_MasterRxReadyFlag</a> flag is set whenever the number of words in the receive FIFO is greater than <em>rxWords</em>. Writing a value equal or greater than the FIFO size is truncated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga485117a5769985079d759dbf083450fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void LPI2C_MasterGetFifoCounts </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>rxCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>txCount</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="paramdir"></td><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">txCount</td><td>Pointer through which the current number of words in the transmit FIFO is returned. Pass NULL if this value is not required. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">rxCount</td><td>Pointer through which the current number of words in the receive FIFO is returned. Pass NULL if this value is not required. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga7f9f7d0d1c86fb7ee26d84dba706bc9a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPI2C_MasterSetBaudRate </td>
<td>(</td>
<td class="paramtype">LPI2C_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>sourceClock_Hz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>baudRate_Hz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The LPI2C master is automatically disabled and re-enabled as necessary to configure the baud rate. Do not call this function during a transfer, or the transfer is aborted.</p>
<dl class="section note"><dt>Note</dt><dd>Please note that the second parameter is the clock frequency of LPI2C module, the third parameter means user configured bus baudrate, this implementation is different from other I2C drivers which use baudrate configuration as second parameter and source clock frequency as third parameter.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">sourceClock_Hz</td><td>LPI2C functional clock frequency in Hertz. </td></tr>
<tr><td class="paramname">baudRate_Hz</td><td>Requested bus frequency in Hertz. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5b26965efb8b28aeedaf4d8e4491fb50"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool LPI2C_MasterGetBusIdleState </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Requires the master mode to be enabled.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">true</td><td>Bus is busy. </td></tr>
<tr><td class="paramname">false</td><td>Bus is idle. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad5ec3758566b673bdec4f7030395b863"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> LPI2C_MasterStart </td>
<td>(</td>
<td class="paramtype">LPI2C_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>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00045.html#ga1f7d7abfaf3f3b927dc0c3cac2ca4247">lpi2c_direction_t</a>&#160;</td>
<td class="paramname"><em>dir</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is used to initiate a new master mode transfer. First, the bus state is checked to ensure that another master is not occupying the bus. Then a START signal is transmitted, followed by the 7-bit address specified in the <em>address</em> parameter. Note that this function does not actually wait until the START and address are successfully sent on the bus before returning.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">address</td><td>7-bit slave device address, in bits [6:0]. </td></tr>
<tr><td class="paramname">dir</td><td>Master transfer direction, either <a class="el" href="a00045.html#gga3af0809d0dd890e9cf71012c87f2d9aba50ba3a53d79baed347bb8fa07d7884ab" title="Master receive. ">kLPI2C_Read</a> or <a class="el" href="a00045.html#gga3af0809d0dd890e9cf71012c87f2d9aba4a913c200cf54c773380ea8271e7b42b" title="Master transmit. ">kLPI2C_Write</a>. This parameter is used to set the R/w bit (bit 0) in the transmitted slave address. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>START signal and address were successfully enqueued in the transmit FIFO. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89af52a270e301641b8855edf3fcc843814" title="The master is already performing a transfer. ">kStatus_LPI2C_Busy</a></td><td>Another master is currently utilizing the bus. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gacd57806adaf72ea3c3506414c3984f84"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> LPI2C_MasterRepeatedStart </td>
<td>(</td>
<td class="paramtype">LPI2C_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>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00045.html#ga1f7d7abfaf3f3b927dc0c3cac2ca4247">lpi2c_direction_t</a>&#160;</td>
<td class="paramname"><em>dir</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 is used to send a Repeated START signal when a transfer is already in progress. Like <a class="el" href="a00045.html#gad5ec3758566b673bdec4f7030395b863" title="Sends a START signal and slave address on the I2C bus. ">LPI2C_MasterStart()</a>, it also sends the specified 7-bit address.</p>
<dl class="section note"><dt>Note</dt><dd>This function exists primarily to maintain compatible APIs between LPI2C and I2C drivers, as well as to better document the intent of code that uses these APIs.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">address</td><td>7-bit slave device address, in bits [6:0]. </td></tr>
<tr><td class="paramname">dir</td><td>Master transfer direction, either <a class="el" href="a00045.html#gga3af0809d0dd890e9cf71012c87f2d9aba50ba3a53d79baed347bb8fa07d7884ab" title="Master receive. ">kLPI2C_Read</a> or <a class="el" href="a00045.html#gga3af0809d0dd890e9cf71012c87f2d9aba4a913c200cf54c773380ea8271e7b42b" title="Master transmit. ">kLPI2C_Write</a>. This parameter is used to set the R/w bit (bit 0) in the transmitted slave address. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Repeated START signal and address were successfully enqueued in the transmit FIFO. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89af52a270e301641b8855edf3fcc843814" title="The master is already performing a transfer. ">kStatus_LPI2C_Busy</a></td><td>Another master is currently utilizing the bus. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaec5397831ec8c6099ce7fb1162821fd0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> LPI2C_MasterSend </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>txBuff</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>txSize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends up to <em>txSize</em> number of bytes to the previously addressed slave device. The slave may reply with a NAK to any byte in order to terminate the transfer early. If this happens, this function returns <a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a75dbc01ed590c24e787fadb97ba2f684" title="The slave device sent a NAK in response to a byte. ">kStatus_LPI2C_Nak</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">txBuff</td><td>The pointer to the data to be transferred. </td></tr>
<tr><td class="paramname">txSize</td><td>The length in bytes of the data to be transferred. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Data was sent successfully. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89af52a270e301641b8855edf3fcc843814" title="The master is already performing a transfer. ">kStatus_LPI2C_Busy</a></td><td>Another master is currently utilizing the bus. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a75dbc01ed590c24e787fadb97ba2f684" title="The slave device sent a NAK in response to a byte. ">kStatus_LPI2C_Nak</a></td><td>The slave device sent a NAK in response to a byte. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a5b3634e1fedb0ad8cc38476aac29477e" title="FIFO under run or overrun. ">kStatus_LPI2C_FifoError</a></td><td>FIFO under run or over run. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a5169d7e655df8bde3b4fc6d49ae8777a" title="Arbitration lost error. ">kStatus_LPI2C_ArbitrationLost</a></td><td>Arbitration lost error. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89aa8c558fc024cbde751d7861ea6efca78" title="SCL or SDA were held low longer than the timeout. ">kStatus_LPI2C_PinLowTimeout</a></td><td>SCL or SDA were held low longer than the timeout. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6a80cb5c1ccdbac0c753f86e8dd4d00d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> LPI2C_MasterReceive </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>rxBuff</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>rxSize</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>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">rxBuff</td><td>The pointer to the data to be transferred. </td></tr>
<tr><td class="paramname">rxSize</td><td>The length in bytes of the data to be transferred. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Data was received successfully. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89af52a270e301641b8855edf3fcc843814" title="The master is already performing a transfer. ">kStatus_LPI2C_Busy</a></td><td>Another master is currently utilizing the bus. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a75dbc01ed590c24e787fadb97ba2f684" title="The slave device sent a NAK in response to a byte. ">kStatus_LPI2C_Nak</a></td><td>The slave device sent a NAK in response to a byte. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a5b3634e1fedb0ad8cc38476aac29477e" title="FIFO under run or overrun. ">kStatus_LPI2C_FifoError</a></td><td>FIFO under run or overrun. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a5169d7e655df8bde3b4fc6d49ae8777a" title="Arbitration lost error. ">kStatus_LPI2C_ArbitrationLost</a></td><td>Arbitration lost error. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89aa8c558fc024cbde751d7861ea6efca78" title="SCL or SDA were held low longer than the timeout. ">kStatus_LPI2C_PinLowTimeout</a></td><td>SCL or SDA were held low longer than the timeout. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga63d65ab0751f91adecb03944b117f3df"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> LPI2C_MasterStop </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function does not return until the STOP signal is seen on the bus, or an error occurs.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>The STOP signal was successfully sent on the bus and the transaction terminated. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89af52a270e301641b8855edf3fcc843814" title="The master is already performing a transfer. ">kStatus_LPI2C_Busy</a></td><td>Another master is currently utilizing the bus. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a75dbc01ed590c24e787fadb97ba2f684" title="The slave device sent a NAK in response to a byte. ">kStatus_LPI2C_Nak</a></td><td>The slave device sent a NAK in response to a byte. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a5b3634e1fedb0ad8cc38476aac29477e" title="FIFO under run or overrun. ">kStatus_LPI2C_FifoError</a></td><td>FIFO under run or overrun. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a5169d7e655df8bde3b4fc6d49ae8777a" title="Arbitration lost error. ">kStatus_LPI2C_ArbitrationLost</a></td><td>Arbitration lost error. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89aa8c558fc024cbde751d7861ea6efca78" title="SCL or SDA were held low longer than the timeout. ">kStatus_LPI2C_PinLowTimeout</a></td><td>SCL or SDA were held low longer than the timeout. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga96a4f46d70cf913dbd5c552ce89d2e2c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> LPI2C_MasterTransferBlocking </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00045.html#ga3ca84881363fc4223677496feefecb93">lpi2c_master_transfer_t</a> *&#160;</td>
<td class="paramname"><em>transfer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>The API does not return until the transfer succeeds or fails due to error happens during transfer.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">transfer</td><td>Pointer to the transfer structure. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Data was received successfully. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89af52a270e301641b8855edf3fcc843814" title="The master is already performing a transfer. ">kStatus_LPI2C_Busy</a></td><td>Another master is currently utilizing the bus. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a75dbc01ed590c24e787fadb97ba2f684" title="The slave device sent a NAK in response to a byte. ">kStatus_LPI2C_Nak</a></td><td>The slave device sent a NAK in response to a byte. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a5b3634e1fedb0ad8cc38476aac29477e" title="FIFO under run or overrun. ">kStatus_LPI2C_FifoError</a></td><td>FIFO under run or overrun. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89a5169d7e655df8bde3b4fc6d49ae8777a" title="Arbitration lost error. ">kStatus_LPI2C_ArbitrationLost</a></td><td>Arbitration lost error. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89aa8c558fc024cbde751d7861ea6efca78" title="SCL or SDA were held low longer than the timeout. ">kStatus_LPI2C_PinLowTimeout</a></td><td>SCL or SDA were held low longer than the timeout. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gafa1c62e098fb418bca7cfbe1ffa6aeaf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPI2C_MasterTransferCreateHandle </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00045.html#ga62ccf3faece8d48363807833b8c58bf2">lpi2c_master_transfer_callback_t</a>&#160;</td>
<td class="paramname"><em>callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The creation of a handle is for use with the non-blocking APIs. Once a handle is created, there is not a corresponding destroy handle. If the user wants to terminate a transfer, the <a class="el" href="a00045.html#gae0d4f78a7d8c34d85bea368822cdbbce" title="Terminates a non-blocking LPI2C master transmission early. ">LPI2C_MasterTransferAbort()</a> API shall be called.</p>
<dl class="section note"><dt>Note</dt><dd>The function also enables the NVIC IRQ for the input LPI2C. Need to notice that on some SoCs the LPI2C IRQ is connected to INTMUX, in this case user needs to enable the associated INTMUX IRQ in application.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">handle</td><td>Pointer to the LPI2C master driver handle. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">callback</td><td>User provided pointer to the asynchronous callback function. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">userData</td><td>User provided pointer to the application callback data. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2b0c04b87bd15fcaeac176993969bc29"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> LPI2C_MasterTransferNonBlocking </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00045.html#ga3ca84881363fc4223677496feefecb93">lpi2c_master_transfer_t</a> *&#160;</td>
<td class="paramname"><em>transfer</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>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the LPI2C master driver handle. </td></tr>
<tr><td class="paramname">transfer</td><td>The pointer to the transfer descriptor. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>The transaction was started successfully. </td></tr>
<tr><td class="paramname"><a class="el" href="a00268.html#gga84627a72058502328269676b81780f89af52a270e301641b8855edf3fcc843814" title="The master is already performing a transfer. ">kStatus_LPI2C_Busy</a></td><td>Either another master is currently utilizing the bus, or a non-blocking transaction is already in progress. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5d69127f2ea64b803c67861adea21413"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00260.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> LPI2C_MasterTransferGetCount </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>count</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="paramdir"></td><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">handle</td><td>Pointer to the LPI2C master driver handle. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">count</td><td>Number of bytes transferred so far by the non-blocking transaction. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td></td></tr>
<tr><td class="paramname">kStatus_NoTransferInProgress</td><td>There is not a non-blocking transaction currently in progress. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae0d4f78a7d8c34d85bea368822cdbbce"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPI2C_MasterTransferAbort </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00045.html#ga5244060eefa022eab46035e93b993b1f">lpi2c_master_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>It is not safe to call this function from an IRQ handler that has a higher priority than the LPI2C peripheral's IRQ priority.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the LPI2C master driver handle. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga25d1c6f8210d300bbedfa3f8a5575c16"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPI2C_MasterTransferHandleIRQ </td>
<td>(</td>
<td class="paramtype">LPI2C_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>lpi2cMasterHandle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This function does not need to be called unless you are reimplementing the nonblocking API's interrupt handler routines to add special functionality. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>The LPI2C peripheral base address. </td></tr>
<tr><td class="paramname">lpi2cMasterHandle</td><td>Pointer to the LPI2C master driver handle. </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>