1773 lines
108 KiB
HTML
1773 lines
108 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.6"/>
|
|
<title>Kinetis SDK v.2.0 API Reference Manual: FlexIO I2C 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">Kinetis SDK v.2.0 API Reference Manual
|
|
 <span id="projectnumber">Rev. 0</span>
|
|
</div>
|
|
<div id="projectbrief">Freescale Semiconductor, Inc.</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.6 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="modules.html"><span>API Reference</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<img id="MSearchSelect" src="search/mag_sel.png"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
alt=""/>
|
|
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){initNavTree('group__flexio__i2c__master.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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Pages</a></div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#files">Files</a> |
|
|
<a href="#nested-classes">Data Structures</a> |
|
|
<a href="#typedef-members">Typedefs</a> |
|
|
<a href="#enum-members">Enumerations</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">FlexIO I2C Master Driver<div class="ingroups"><a class="el" href="group__flexio.html">FlexIO: FlexIO Driver</a></div></div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
|
|
<p>The KSDK provides a peripheral driver for I2C master function using Flexible I/O module of Kinetis devices.</p>
|
|
<h1><a class="anchor" id="FLEXIO_I2COvw"></a>
|
|
Overview</h1>
|
|
<p>The FlexIO I2C master driver includes functional APIs and transactional APIs.</p>
|
|
<p>Functional APIs are feature/property target low level APIs. Functional APIs can be used for the FlexIO I2C master initialization/configuration/operation for optimization/customization purpose. Using the functional APIs requires the knowledge of the FlexIO I2C master peripheral and how to organize functional APIs to meet the application requirements. The FlexIO I2C master functional operation groups provide the functional APIs set.</p>
|
|
<p>Transactional APIs are transaction target high level APIs. The transactional APIs can be used to enable the peripheral quickly and also in the application if the code size and performance of transactional APIs satisfy the requirements. If the code size and performance are critical requirements, see the transactional API implementation and write custom code using the functional APIs or accessing the hardware registers.</p>
|
|
<p>Transactional APIs support asynchronous transfer. This means that the functions <a class="el" href="group__flexio__i2c__master.html#ga4e21323685831e0ee3f88d50e4c8872c" title="Performs a master interrupt non-blocking transfer on the I2C bus. ">FLEXIO_I2C_MasterTransferNonBlocking()</a> set up the interrupt non-blocking transfer. When the transfer completes, the upper layer is notified through a callback function with the kStatus_Success status.</p>
|
|
<h1><a class="anchor" id="FlexIO_I2CMasterCase"></a>
|
|
Typical use case</h1>
|
|
<h2><a class="anchor" id="FlexIO_I2CMasterCaseInterrupt"></a>
|
|
FlexIO I2C master transfer using an interrupt method</h2>
|
|
<div class="fragment"><div class="line">flexio_i2c_master_handle_t g_m_handle;</div>
|
|
<div class="line"><a class="code" href="group__flexio__i2c__master.html#structflexio__i2c__master__config__t">flexio_i2c_master_config_t</a> masterConfig;</div>
|
|
<div class="line"><a class="code" href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t">flexio_i2c_master_transfer_t</a> masterXfer;</div>
|
|
<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">bool</span> completionFlag = <span class="keyword">false</span>;</div>
|
|
<div class="line"><span class="keyword">const</span> uint8_t sendData[] = [......];</div>
|
|
<div class="line"><a class="code" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> i2cDev;</div>
|
|
<div class="line"></div>
|
|
<div class="line"><span class="keywordtype">void</span> FLEXIO_I2C_MasterCallback(<a class="code" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, status_t status, <span class="keywordtype">void</span> *userData)</div>
|
|
<div class="line">{</div>
|
|
<div class="line"> userData = userData;</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="keywordflow">if</span> (kStatus_Success == status)</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> completionFlag = <span class="keyword">true</span>;</div>
|
|
<div class="line"> }</div>
|
|
<div class="line">}</div>
|
|
<div class="line"></div>
|
|
<div class="line"><span class="keywordtype">void</span> main(<span class="keywordtype">void</span>)</div>
|
|
<div class="line">{</div>
|
|
<div class="line"> <span class="comment">//...</span></div>
|
|
<div class="line"></div>
|
|
<div class="line"> <a class="code" href="group__flexio__i2c__master.html#gaa85599771e53091102f0823217ad0bcc">FLEXIO_I2C_MasterGetDefaultConfig</a>(&masterConfig);</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <a class="code" href="group__flexio__i2c__master.html#ga2eaa70779023d5c04cbe1a1fcd85063e">FLEXIO_I2C_MasterInit</a>(&i2cDev, &user_config);</div>
|
|
<div class="line"> <a class="code" href="group__flexio__i2c__master.html#ga2d26c2cb21b034487ba8b8d4c5da2ef5">FLEXIO_I2C_MasterTransferCreateHandle</a>(&i2cDev, &g_m_handle, FLEXIO_I2C_MasterCallback, NULL);</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="comment">// Prepares to send.</span></div>
|
|
<div class="line"> masterXfer.<a class="code" href="group__flexio__i2c__master.html#ad9a4b7694d338eaa4d7b6b2e8ebcf6c5">slaveAddress</a> = g_accel_address[0];</div>
|
|
<div class="line"> masterXfer.<a class="code" href="group__flexio__i2c__master.html#a756cb7ae9db1832fcffcd736a7039369">direction</a> = <a class="code" href="group__i2c__driver.html#ggab49c827b45635206f06e5737606e4611a3a7bb24dc8d1c1be8925603eeafe9b30">kI2C_Read</a>;</div>
|
|
<div class="line"> masterXfer.<a class="code" href="group__flexio__i2c__master.html#a60552386bd16b5d17197660571638898">subaddress</a> = &who_am_i_reg;</div>
|
|
<div class="line"> masterXfer.<a class="code" href="group__flexio__i2c__master.html#a17d04e1156e9dd99026a4b527e487a96">subaddressSize</a> = 1;</div>
|
|
<div class="line"> masterXfer.<a class="code" href="group__flexio__i2c__master.html#a94b0a6518c96392dd0497350af675ada">data</a> = &who_am_i_value;</div>
|
|
<div class="line"> masterXfer.<a class="code" href="group__flexio__i2c__master.html#a5bd368a720ef8ed7df1601d7cac19ae2">dataSize</a> = 1;</div>
|
|
<div class="line"> masterXfer.<a class="code" href="group__flexio__i2c__master.html#a2695cc7566c8a4cbbcf837d1f7209b6a">flags</a> = <a class="code" href="group__i2c__driver.html#gga87ea07668194cfb46c7c368d2cb42433ae80f7b768b1621e42ac965d3d23de5e2">kI2C_TransferDefaultFlag</a>;</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="comment">// Sends out.</span></div>
|
|
<div class="line"> <a class="code" href="group__flexio__i2c__master.html#ga4e21323685831e0ee3f88d50e4c8872c">FLEXIO_I2C_MasterTransferNonBlocking</a>(&i2cDev, &g_m_handle, &masterXfer);</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="comment">// Wait for sending is complete.</span></div>
|
|
<div class="line"> <span class="keywordflow">while</span> (!completionFlag)</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="comment">// ...</span></div>
|
|
<div class="line">}</div>
|
|
</div><!-- fragment --> <table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
|
|
Files</h2></td></tr>
|
|
<tr class="memitem:fsl__flexio__i2c__master_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="fsl__flexio__i2c__master_8h.html">fsl_flexio_i2c_master.h</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
Data Structures</h2></td></tr>
|
|
<tr class="memitem:structFLEXIO__I2C__Type"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a></td></tr>
|
|
<tr class="memdesc:structFLEXIO__I2C__Type"><td class="mdescLeft"> </td><td class="mdescRight">Define FlexIO I2C master access structure typedef. <a href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">More...</a><br/></td></tr>
|
|
<tr class="separator:structFLEXIO__I2C__Type"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:structflexio__i2c__master__config__t"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__config__t">flexio_i2c_master_config_t</a></td></tr>
|
|
<tr class="memdesc:structflexio__i2c__master__config__t"><td class="mdescLeft"> </td><td class="mdescRight">Define FlexIO I2C master user configuration structure. <a href="group__flexio__i2c__master.html#structflexio__i2c__master__config__t">More...</a><br/></td></tr>
|
|
<tr class="separator:structflexio__i2c__master__config__t"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:structflexio__i2c__master__transfer__t"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t">flexio_i2c_master_transfer_t</a></td></tr>
|
|
<tr class="memdesc:structflexio__i2c__master__transfer__t"><td class="mdescLeft"> </td><td class="mdescRight">Define FlexIO I2C master transfer structure. <a href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t">More...</a><br/></td></tr>
|
|
<tr class="separator:structflexio__i2c__master__transfer__t"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:struct__flexio__i2c__master__handle"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#struct__flexio__i2c__master__handle">flexio_i2c_master_handle_t</a></td></tr>
|
|
<tr class="memdesc:struct__flexio__i2c__master__handle"><td class="mdescLeft"> </td><td class="mdescRight">Define FlexIO I2C master handle structure. <a href="group__flexio__i2c__master.html#struct__flexio__i2c__master__handle">More...</a><br/></td></tr>
|
|
<tr class="separator:struct__flexio__i2c__master__handle"><td class="memSeparator" colspan="2"> </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:ga4a92b2aafd0ea1e7746dc23a7b0f0691"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga4a92b2aafd0ea1e7746dc23a7b0f0691">flexio_i2c_master_transfer_callback_t</a> )(<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, flexio_i2c_master_handle_t *handle, status_t status, void *userData)</td></tr>
|
|
<tr class="memdesc:ga4a92b2aafd0ea1e7746dc23a7b0f0691"><td class="mdescLeft"> </td><td class="mdescRight">FlexIO I2C master transfer callback typedef. <a href="#ga4a92b2aafd0ea1e7746dc23a7b0f0691">More...</a><br/></td></tr>
|
|
<tr class="separator:ga4a92b2aafd0ea1e7746dc23a7b0f0691"><td class="memSeparator" colspan="2"> </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:gadba7c89564ab90e58acd911686edb637"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#gadba7c89564ab90e58acd911686edb637">_flexio_i2c_status</a> { <br/>
|
|
  <a class="el" href="group__flexio__i2c__master.html#ggadba7c89564ab90e58acd911686edb637a8ab8145bc386f3630f13b87c38496331">kStatus_FLEXIO_I2C_Busy</a> = MAKE_STATUS(kStatusGroup_FLEXIO_I2C, 0),
|
|
<br/>
|
|
  <a class="el" href="group__flexio__i2c__master.html#ggadba7c89564ab90e58acd911686edb637a2f105638fc06422cc54cf5337d507873">kStatus_FLEXIO_I2C_Idle</a> = MAKE_STATUS(kStatusGroup_FLEXIO_I2C, 1),
|
|
<br/>
|
|
  <a class="el" href="group__flexio__i2c__master.html#ggadba7c89564ab90e58acd911686edb637af5e4a932f6f9e6ae30a42dc31fab8bd5">kStatus_FLEXIO_I2C_Nak</a> = MAKE_STATUS(kStatusGroup_FLEXIO_I2C, 2)
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:gadba7c89564ab90e58acd911686edb637"><td class="mdescLeft"> </td><td class="mdescRight">FlexIO I2C transfer status. <a href="group__flexio__i2c__master.html#gadba7c89564ab90e58acd911686edb637">More...</a><br/></td></tr>
|
|
<tr class="separator:gadba7c89564ab90e58acd911686edb637"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaa4597b532bb2a564c329076dc5da8155"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#gaa4597b532bb2a564c329076dc5da8155">_flexio_i2c_master_interrupt</a> { <br/>
|
|
  <a class="el" href="group__flexio__i2c__master.html#ggaa4597b532bb2a564c329076dc5da8155ac34fefcbb2d45dd7bfd385586439923b">kFLEXIO_I2C_TxEmptyInterruptEnable</a> = 0x1U,
|
|
<br/>
|
|
  <a class="el" href="group__flexio__i2c__master.html#ggaa4597b532bb2a564c329076dc5da8155a46a53a6077c43dfb924d46e9a218eb6b">kFLEXIO_I2C_RxFullInterruptEnable</a> = 0x2U
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:gaa4597b532bb2a564c329076dc5da8155"><td class="mdescLeft"> </td><td class="mdescRight">Define FlexIO I2C master interrupt mask. <a href="group__flexio__i2c__master.html#gaa4597b532bb2a564c329076dc5da8155">More...</a><br/></td></tr>
|
|
<tr class="separator:gaa4597b532bb2a564c329076dc5da8155"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gafc92480bf28b1161b62a1f10a23e7458"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#gafc92480bf28b1161b62a1f10a23e7458">_flexio_i2c_master_status_flags</a> { <br/>
|
|
  <a class="el" href="group__flexio__i2c__master.html#ggafc92480bf28b1161b62a1f10a23e7458a5eb41467be294db469f4604a010405e3">kFLEXIO_I2C_TxEmptyFlag</a> = 0x1U,
|
|
<br/>
|
|
  <a class="el" href="group__flexio__i2c__master.html#ggafc92480bf28b1161b62a1f10a23e7458a4eba9f70c326fcea72a255cba80dc42d">kFLEXIO_I2C_RxFullFlag</a> = 0x2U,
|
|
<br/>
|
|
  <a class="el" href="group__flexio__i2c__master.html#ggafc92480bf28b1161b62a1f10a23e7458a8774a1fedf2a596d2647864bd4f27664">kFLEXIO_I2C_ReceiveNakFlag</a> = 0x4U
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:gafc92480bf28b1161b62a1f10a23e7458"><td class="mdescLeft"> </td><td class="mdescRight">Define FlexIO I2C master status mask. <a href="group__flexio__i2c__master.html#gafc92480bf28b1161b62a1f10a23e7458">More...</a><br/></td></tr>
|
|
<tr class="separator:gafc92480bf28b1161b62a1f10a23e7458"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gad7cd7cc57788188d0f804b5e3a549303"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#gad7cd7cc57788188d0f804b5e3a549303">flexio_i2c_direction_t</a> { <br/>
|
|
  <a class="el" href="group__flexio__i2c__master.html#ggad7cd7cc57788188d0f804b5e3a549303a666a4c181486b773264ce1e038e14850">kFLEXIO_I2C_Write</a> = 0x0U,
|
|
<br/>
|
|
  <a class="el" href="group__flexio__i2c__master.html#ggad7cd7cc57788188d0f804b5e3a549303aeac2a6bd710680e5f644763dea0c89c4">kFLEXIO_I2C_Read</a> = 0x1U
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:gad7cd7cc57788188d0f804b5e3a549303"><td class="mdescLeft"> </td><td class="mdescRight">Direction of master transfer. <a href="group__flexio__i2c__master.html#gad7cd7cc57788188d0f804b5e3a549303">More...</a><br/></td></tr>
|
|
<tr class="separator:gad7cd7cc57788188d0f804b5e3a549303"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
|
|
Driver version</h2></td></tr>
|
|
<tr class="memitem:ga869dccb29d32c1ccd2057003826d07cc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga869dccb29d32c1ccd2057003826d07cc">FSL_FLEXIO_I2C_MASTER_DRIVER_VERSION</a>   (<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 1, 0))</td></tr>
|
|
<tr class="memdesc:ga869dccb29d32c1ccd2057003826d07cc"><td class="mdescLeft"> </td><td class="mdescRight">FlexIO I2C master driver version 2.1.0. <a href="#ga869dccb29d32c1ccd2057003826d07cc">More...</a><br/></td></tr>
|
|
<tr class="separator:ga869dccb29d32c1ccd2057003826d07cc"><td class="memSeparator" colspan="2"> </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:ga2eaa70779023d5c04cbe1a1fcd85063e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga2eaa70779023d5c04cbe1a1fcd85063e">FLEXIO_I2C_MasterInit</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, <a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__config__t">flexio_i2c_master_config_t</a> *masterConfig, uint32_t srcClock_Hz)</td></tr>
|
|
<tr class="memdesc:ga2eaa70779023d5c04cbe1a1fcd85063e"><td class="mdescLeft"> </td><td class="mdescRight">Ungates the FlexIO clock, resets the FlexIO module, and configures the FlexIO I2C hardware configuration. <a href="#ga2eaa70779023d5c04cbe1a1fcd85063e">More...</a><br/></td></tr>
|
|
<tr class="separator:ga2eaa70779023d5c04cbe1a1fcd85063e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2da731bfa4e1e36b5d6d0235898b26dd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga2da731bfa4e1e36b5d6d0235898b26dd">FLEXIO_I2C_MasterDeinit</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base)</td></tr>
|
|
<tr class="memdesc:ga2da731bfa4e1e36b5d6d0235898b26dd"><td class="mdescLeft"> </td><td class="mdescRight">De-initializes the FlexIO I2C master peripheral. <a href="#ga2da731bfa4e1e36b5d6d0235898b26dd">More...</a><br/></td></tr>
|
|
<tr class="separator:ga2da731bfa4e1e36b5d6d0235898b26dd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaa85599771e53091102f0823217ad0bcc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#gaa85599771e53091102f0823217ad0bcc">FLEXIO_I2C_MasterGetDefaultConfig</a> (<a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__config__t">flexio_i2c_master_config_t</a> *masterConfig)</td></tr>
|
|
<tr class="memdesc:gaa85599771e53091102f0823217ad0bcc"><td class="mdescLeft"> </td><td class="mdescRight">Gets the default configuration to configure the FlexIO module. <a href="#gaa85599771e53091102f0823217ad0bcc">More...</a><br/></td></tr>
|
|
<tr class="separator:gaa85599771e53091102f0823217ad0bcc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga287dc7896229cd705bb8abbf51ca63a7"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga287dc7896229cd705bb8abbf51ca63a7">FLEXIO_I2C_MasterEnable</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, bool enable)</td></tr>
|
|
<tr class="memdesc:ga287dc7896229cd705bb8abbf51ca63a7"><td class="mdescLeft"> </td><td class="mdescRight">Enables/disables the FlexIO module operation. <a href="#ga287dc7896229cd705bb8abbf51ca63a7">More...</a><br/></td></tr>
|
|
<tr class="separator:ga287dc7896229cd705bb8abbf51ca63a7"><td class="memSeparator" colspan="2"> </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:ga5ac748fc7ff593cfa7a9b9a64cd479fa"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga5ac748fc7ff593cfa7a9b9a64cd479fa">FLEXIO_I2C_MasterGetStatusFlags</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base)</td></tr>
|
|
<tr class="memdesc:ga5ac748fc7ff593cfa7a9b9a64cd479fa"><td class="mdescLeft"> </td><td class="mdescRight">Gets the FlexIO I2C master status flags. <a href="#ga5ac748fc7ff593cfa7a9b9a64cd479fa">More...</a><br/></td></tr>
|
|
<tr class="separator:ga5ac748fc7ff593cfa7a9b9a64cd479fa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gad7509c6f4a8885650c313bb0b56e6bfc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#gad7509c6f4a8885650c313bb0b56e6bfc">FLEXIO_I2C_MasterClearStatusFlags</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, uint32_t mask)</td></tr>
|
|
<tr class="memdesc:gad7509c6f4a8885650c313bb0b56e6bfc"><td class="mdescLeft"> </td><td class="mdescRight">Clears the FlexIO I2C master status flags. <a href="#gad7509c6f4a8885650c313bb0b56e6bfc">More...</a><br/></td></tr>
|
|
<tr class="separator:gad7509c6f4a8885650c313bb0b56e6bfc"><td class="memSeparator" colspan="2"> </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:ga07198112aef949ac73874e7d446f7d38"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga07198112aef949ac73874e7d446f7d38">FLEXIO_I2C_MasterEnableInterrupts</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, uint32_t mask)</td></tr>
|
|
<tr class="memdesc:ga07198112aef949ac73874e7d446f7d38"><td class="mdescLeft"> </td><td class="mdescRight">Enables the FlexIO i2c master interrupt requests. <a href="#ga07198112aef949ac73874e7d446f7d38">More...</a><br/></td></tr>
|
|
<tr class="separator:ga07198112aef949ac73874e7d446f7d38"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga3fcce197e268d6e7310a0087d9288b08"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga3fcce197e268d6e7310a0087d9288b08">FLEXIO_I2C_MasterDisableInterrupts</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, uint32_t mask)</td></tr>
|
|
<tr class="memdesc:ga3fcce197e268d6e7310a0087d9288b08"><td class="mdescLeft"> </td><td class="mdescRight">Disables the FlexIO I2C master interrupt requests. <a href="#ga3fcce197e268d6e7310a0087d9288b08">More...</a><br/></td></tr>
|
|
<tr class="separator:ga3fcce197e268d6e7310a0087d9288b08"><td class="memSeparator" colspan="2"> </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:gac1cb6e0f52c2e9e2b4373415dff1f24c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#gac1cb6e0f52c2e9e2b4373415dff1f24c">FLEXIO_I2C_MasterSetBaudRate</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, uint32_t baudRate_Bps, uint32_t srcClock_Hz)</td></tr>
|
|
<tr class="memdesc:gac1cb6e0f52c2e9e2b4373415dff1f24c"><td class="mdescLeft"> </td><td class="mdescRight">Sets the FlexIO I2C master transfer baudrate. <a href="#gac1cb6e0f52c2e9e2b4373415dff1f24c">More...</a><br/></td></tr>
|
|
<tr class="separator:gac1cb6e0f52c2e9e2b4373415dff1f24c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6f9def4b064e4747675dfc16e9fdde00"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga6f9def4b064e4747675dfc16e9fdde00">FLEXIO_I2C_MasterStart</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, uint8_t address, <a class="el" href="group__flexio__i2c__master.html#gad7cd7cc57788188d0f804b5e3a549303">flexio_i2c_direction_t</a> direction)</td></tr>
|
|
<tr class="memdesc:ga6f9def4b064e4747675dfc16e9fdde00"><td class="mdescLeft"> </td><td class="mdescRight">Sends START + 7-bit address to the bus. <a href="#ga6f9def4b064e4747675dfc16e9fdde00">More...</a><br/></td></tr>
|
|
<tr class="separator:ga6f9def4b064e4747675dfc16e9fdde00"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6b921453ee8e263f9a2a198b497c88ec"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga6b921453ee8e263f9a2a198b497c88ec">FLEXIO_I2C_MasterStop</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base)</td></tr>
|
|
<tr class="memdesc:ga6b921453ee8e263f9a2a198b497c88ec"><td class="mdescLeft"> </td><td class="mdescRight">Sends the stop signal on the bus. <a href="#ga6b921453ee8e263f9a2a198b497c88ec">More...</a><br/></td></tr>
|
|
<tr class="separator:ga6b921453ee8e263f9a2a198b497c88ec"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga8c2b3776c1630e0bf8e64927a0012b2f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga8c2b3776c1630e0bf8e64927a0012b2f">FLEXIO_I2C_MasterRepeatedStart</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base)</td></tr>
|
|
<tr class="memdesc:ga8c2b3776c1630e0bf8e64927a0012b2f"><td class="mdescLeft"> </td><td class="mdescRight">Sends the repeated start signal on the bus. <a href="#ga8c2b3776c1630e0bf8e64927a0012b2f">More...</a><br/></td></tr>
|
|
<tr class="separator:ga8c2b3776c1630e0bf8e64927a0012b2f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga20efb0f28522d945694d509b5e4bf52d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga20efb0f28522d945694d509b5e4bf52d">FLEXIO_I2C_MasterAbortStop</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base)</td></tr>
|
|
<tr class="memdesc:ga20efb0f28522d945694d509b5e4bf52d"><td class="mdescLeft"> </td><td class="mdescRight">Sends the stop signal when transfer is still on-going. <a href="#ga20efb0f28522d945694d509b5e4bf52d">More...</a><br/></td></tr>
|
|
<tr class="separator:ga20efb0f28522d945694d509b5e4bf52d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaca2e797a84bc5b68a75ba10cf2750fc0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#gaca2e797a84bc5b68a75ba10cf2750fc0">FLEXIO_I2C_MasterEnableAck</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, bool enable)</td></tr>
|
|
<tr class="memdesc:gaca2e797a84bc5b68a75ba10cf2750fc0"><td class="mdescLeft"> </td><td class="mdescRight">Configures the sent ACK/NAK for the following byte. <a href="#gaca2e797a84bc5b68a75ba10cf2750fc0">More...</a><br/></td></tr>
|
|
<tr class="separator:gaca2e797a84bc5b68a75ba10cf2750fc0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gafbb79071dcdfdfe0102ea0d61cb5a5c8"><td class="memItemLeft" align="right" valign="top">status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#gafbb79071dcdfdfe0102ea0d61cb5a5c8">FLEXIO_I2C_MasterSetTransferCount</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, uint8_t count)</td></tr>
|
|
<tr class="memdesc:gafbb79071dcdfdfe0102ea0d61cb5a5c8"><td class="mdescLeft"> </td><td class="mdescRight">Sets the number of bytes to be transferred from a start signal to a stop signal. <a href="#gafbb79071dcdfdfe0102ea0d61cb5a5c8">More...</a><br/></td></tr>
|
|
<tr class="separator:gafbb79071dcdfdfe0102ea0d61cb5a5c8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga7e82edf243f26522ea3ecedddb4760ba"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga7e82edf243f26522ea3ecedddb4760ba">FLEXIO_I2C_MasterWriteByte</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, uint32_t data)</td></tr>
|
|
<tr class="memdesc:ga7e82edf243f26522ea3ecedddb4760ba"><td class="mdescLeft"> </td><td class="mdescRight">Writes one byte of data to the I2C bus. <a href="#ga7e82edf243f26522ea3ecedddb4760ba">More...</a><br/></td></tr>
|
|
<tr class="separator:ga7e82edf243f26522ea3ecedddb4760ba"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2a790d99cbabf8bf7df3216b6da904e5"><td class="memItemLeft" align="right" valign="top">static uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga2a790d99cbabf8bf7df3216b6da904e5">FLEXIO_I2C_MasterReadByte</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base)</td></tr>
|
|
<tr class="memdesc:ga2a790d99cbabf8bf7df3216b6da904e5"><td class="mdescLeft"> </td><td class="mdescRight">Reads one byte of data from the I2C bus. <a href="#ga2a790d99cbabf8bf7df3216b6da904e5">More...</a><br/></td></tr>
|
|
<tr class="separator:ga2a790d99cbabf8bf7df3216b6da904e5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga13c8be777cb7336878e161ab32fba000"><td class="memItemLeft" align="right" valign="top">status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga13c8be777cb7336878e161ab32fba000">FLEXIO_I2C_MasterWriteBlocking</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, const uint8_t *txBuff, uint8_t txSize)</td></tr>
|
|
<tr class="memdesc:ga13c8be777cb7336878e161ab32fba000"><td class="mdescLeft"> </td><td class="mdescRight">Sends a buffer of data in bytes. <a href="#ga13c8be777cb7336878e161ab32fba000">More...</a><br/></td></tr>
|
|
<tr class="separator:ga13c8be777cb7336878e161ab32fba000"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga029bc6387055ec2e878389217e484828"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga029bc6387055ec2e878389217e484828">FLEXIO_I2C_MasterReadBlocking</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, uint8_t *rxBuff, uint8_t rxSize)</td></tr>
|
|
<tr class="memdesc:ga029bc6387055ec2e878389217e484828"><td class="mdescLeft"> </td><td class="mdescRight">Receives a buffer of bytes. <a href="#ga029bc6387055ec2e878389217e484828">More...</a><br/></td></tr>
|
|
<tr class="separator:ga029bc6387055ec2e878389217e484828"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaaf698c2151836b2fd0b3aa1abd4f3db8"><td class="memItemLeft" align="right" valign="top">status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#gaaf698c2151836b2fd0b3aa1abd4f3db8">FLEXIO_I2C_MasterTransferBlocking</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, flexio_i2c_master_handle_t *handle, <a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t">flexio_i2c_master_transfer_t</a> *xfer)</td></tr>
|
|
<tr class="memdesc:gaaf698c2151836b2fd0b3aa1abd4f3db8"><td class="mdescLeft"> </td><td class="mdescRight">Performs a master polling transfer on the I2C bus. <a href="#gaaf698c2151836b2fd0b3aa1abd4f3db8">More...</a><br/></td></tr>
|
|
<tr class="separator:gaaf698c2151836b2fd0b3aa1abd4f3db8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
|
|
Transactional</h2></td></tr>
|
|
<tr class="memitem:ga2d26c2cb21b034487ba8b8d4c5da2ef5"><td class="memItemLeft" align="right" valign="top">status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga2d26c2cb21b034487ba8b8d4c5da2ef5">FLEXIO_I2C_MasterTransferCreateHandle</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, flexio_i2c_master_handle_t *handle, <a class="el" href="group__flexio__i2c__master.html#ga4a92b2aafd0ea1e7746dc23a7b0f0691">flexio_i2c_master_transfer_callback_t</a> callback, void *userData)</td></tr>
|
|
<tr class="memdesc:ga2d26c2cb21b034487ba8b8d4c5da2ef5"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the I2C handle which is used in transactional functions. <a href="#ga2d26c2cb21b034487ba8b8d4c5da2ef5">More...</a><br/></td></tr>
|
|
<tr class="separator:ga2d26c2cb21b034487ba8b8d4c5da2ef5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga4e21323685831e0ee3f88d50e4c8872c"><td class="memItemLeft" align="right" valign="top">status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga4e21323685831e0ee3f88d50e4c8872c">FLEXIO_I2C_MasterTransferNonBlocking</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, flexio_i2c_master_handle_t *handle, <a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t">flexio_i2c_master_transfer_t</a> *xfer)</td></tr>
|
|
<tr class="memdesc:ga4e21323685831e0ee3f88d50e4c8872c"><td class="mdescLeft"> </td><td class="mdescRight">Performs a master interrupt non-blocking transfer on the I2C bus. <a href="#ga4e21323685831e0ee3f88d50e4c8872c">More...</a><br/></td></tr>
|
|
<tr class="separator:ga4e21323685831e0ee3f88d50e4c8872c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga79fed99f5f4524619e2c2e28ad037544"><td class="memItemLeft" align="right" valign="top">status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga79fed99f5f4524619e2c2e28ad037544">FLEXIO_I2C_MasterTransferGetCount</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, flexio_i2c_master_handle_t *handle, size_t *count)</td></tr>
|
|
<tr class="memdesc:ga79fed99f5f4524619e2c2e28ad037544"><td class="mdescLeft"> </td><td class="mdescRight">Gets the master transfer status during a interrupt non-blocking transfer. <a href="#ga79fed99f5f4524619e2c2e28ad037544">More...</a><br/></td></tr>
|
|
<tr class="separator:ga79fed99f5f4524619e2c2e28ad037544"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga75ecfe909fcd0ae47303eb90af39dea2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga75ecfe909fcd0ae47303eb90af39dea2">FLEXIO_I2C_MasterTransferAbort</a> (<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, flexio_i2c_master_handle_t *handle)</td></tr>
|
|
<tr class="memdesc:ga75ecfe909fcd0ae47303eb90af39dea2"><td class="mdescLeft"> </td><td class="mdescRight">Aborts an interrupt non-blocking transfer early. <a href="#ga75ecfe909fcd0ae47303eb90af39dea2">More...</a><br/></td></tr>
|
|
<tr class="separator:ga75ecfe909fcd0ae47303eb90af39dea2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga29129d78b9166b7bcb585e336746bec6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ga29129d78b9166b7bcb585e336746bec6">FLEXIO_I2C_MasterTransferHandleIRQ</a> (void *i2cType, void *i2cHandle)</td></tr>
|
|
<tr class="memdesc:ga29129d78b9166b7bcb585e336746bec6"><td class="mdescLeft"> </td><td class="mdescRight">Master interrupt handler. <a href="#ga29129d78b9166b7bcb585e336746bec6">More...</a><br/></td></tr>
|
|
<tr class="separator:ga29129d78b9166b7bcb585e336746bec6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
|
|
<a name="structFLEXIO__I2C__Type" id="structFLEXIO__I2C__Type"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct FLEXIO_I2C_Type</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:a85065e51da3c0158d4b1d9254d691d26"><td class="memItemLeft" align="right" valign="top">FLEXIO_Type * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a85065e51da3c0158d4b1d9254d691d26">flexioBase</a></td></tr>
|
|
<tr class="memdesc:a85065e51da3c0158d4b1d9254d691d26"><td class="mdescLeft"> </td><td class="mdescRight">FlexIO base pointer. <a href="#a85065e51da3c0158d4b1d9254d691d26">More...</a><br/></td></tr>
|
|
<tr class="separator:a85065e51da3c0158d4b1d9254d691d26"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acf0bab2399a7d7013f3708feb4d74ff6"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#acf0bab2399a7d7013f3708feb4d74ff6">SDAPinIndex</a></td></tr>
|
|
<tr class="memdesc:acf0bab2399a7d7013f3708feb4d74ff6"><td class="mdescLeft"> </td><td class="mdescRight">Pin select for I2C SDA. <a href="#acf0bab2399a7d7013f3708feb4d74ff6">More...</a><br/></td></tr>
|
|
<tr class="separator:acf0bab2399a7d7013f3708feb4d74ff6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8ffb4cb7eac22b561f34ebcf4c309db9"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a8ffb4cb7eac22b561f34ebcf4c309db9">SCLPinIndex</a></td></tr>
|
|
<tr class="memdesc:a8ffb4cb7eac22b561f34ebcf4c309db9"><td class="mdescLeft"> </td><td class="mdescRight">Pin select for I2C SCL. <a href="#a8ffb4cb7eac22b561f34ebcf4c309db9">More...</a><br/></td></tr>
|
|
<tr class="separator:a8ffb4cb7eac22b561f34ebcf4c309db9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab1a64e477a45a6f98cd835644c6699ec"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ab1a64e477a45a6f98cd835644c6699ec">shifterIndex</a> [2]</td></tr>
|
|
<tr class="memdesc:ab1a64e477a45a6f98cd835644c6699ec"><td class="mdescLeft"> </td><td class="mdescRight">Shifter index used in FlexIO I2C. <a href="#ab1a64e477a45a6f98cd835644c6699ec">More...</a><br/></td></tr>
|
|
<tr class="separator:ab1a64e477a45a6f98cd835644c6699ec"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8350ae555c10de40f51f46479f43580e"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a8350ae555c10de40f51f46479f43580e">timerIndex</a> [2]</td></tr>
|
|
<tr class="memdesc:a8350ae555c10de40f51f46479f43580e"><td class="mdescLeft"> </td><td class="mdescRight">Timer index used in FlexIO I2C. <a href="#a8350ae555c10de40f51f46479f43580e">More...</a><br/></td></tr>
|
|
<tr class="separator:a8350ae555c10de40f51f46479f43580e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="a85065e51da3c0158d4b1d9254d691d26"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">FLEXIO_Type* FLEXIO_I2C_Type::flexioBase</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="acf0bab2399a7d7013f3708feb4d74ff6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint8_t FLEXIO_I2C_Type::SDAPinIndex</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a8ffb4cb7eac22b561f34ebcf4c309db9"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint8_t FLEXIO_I2C_Type::SCLPinIndex</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab1a64e477a45a6f98cd835644c6699ec"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint8_t FLEXIO_I2C_Type::shifterIndex[2]</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a8350ae555c10de40f51f46479f43580e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint8_t FLEXIO_I2C_Type::timerIndex[2]</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="structflexio__i2c__master__config__t" id="structflexio__i2c__master__config__t"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct flexio_i2c_master_config_t</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<div class="textblock"></div><table class="memberdecls">
|
|
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
|
|
<tr class="memitem:a4dcbed2930b467df1978f9bf2b71c128"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a4dcbed2930b467df1978f9bf2b71c128">enableMaster</a></td></tr>
|
|
<tr class="memdesc:a4dcbed2930b467df1978f9bf2b71c128"><td class="mdescLeft"> </td><td class="mdescRight">Enables the FLEXIO I2C peripheral at initialization time. <a href="#a4dcbed2930b467df1978f9bf2b71c128">More...</a><br/></td></tr>
|
|
<tr class="separator:a4dcbed2930b467df1978f9bf2b71c128"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad73b88c0700d82721ccbf0744d1b6780"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ad73b88c0700d82721ccbf0744d1b6780">enableInDoze</a></td></tr>
|
|
<tr class="memdesc:ad73b88c0700d82721ccbf0744d1b6780"><td class="mdescLeft"> </td><td class="mdescRight">Enable/disable FlexIO operation in doze mode. <a href="#ad73b88c0700d82721ccbf0744d1b6780">More...</a><br/></td></tr>
|
|
<tr class="separator:ad73b88c0700d82721ccbf0744d1b6780"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acf98ed2c52a014d2ed825a38293001d4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#acf98ed2c52a014d2ed825a38293001d4">enableInDebug</a></td></tr>
|
|
<tr class="memdesc:acf98ed2c52a014d2ed825a38293001d4"><td class="mdescLeft"> </td><td class="mdescRight">Enable/disable FlexIO operation in debug mode. <a href="#acf98ed2c52a014d2ed825a38293001d4">More...</a><br/></td></tr>
|
|
<tr class="separator:acf98ed2c52a014d2ed825a38293001d4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a89a0daa456c7d99a7144d5245f422bbe"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a89a0daa456c7d99a7144d5245f422bbe">enableFastAccess</a></td></tr>
|
|
<tr class="memdesc:a89a0daa456c7d99a7144d5245f422bbe"><td class="mdescLeft"> </td><td class="mdescRight">Enable/disable fast access to FlexIO registers, fast access requires the FlexIO clock to be at least twice the frequency of the bus clock. <a href="#a89a0daa456c7d99a7144d5245f422bbe">More...</a><br/></td></tr>
|
|
<tr class="separator:a89a0daa456c7d99a7144d5245f422bbe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a446dee2e270776aa6d462710e85b7454"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a446dee2e270776aa6d462710e85b7454">baudRate_Bps</a></td></tr>
|
|
<tr class="memdesc:a446dee2e270776aa6d462710e85b7454"><td class="mdescLeft"> </td><td class="mdescRight">Baud rate in Bps. <a href="#a446dee2e270776aa6d462710e85b7454">More...</a><br/></td></tr>
|
|
<tr class="separator:a446dee2e270776aa6d462710e85b7454"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="a4dcbed2930b467df1978f9bf2b71c128"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool flexio_i2c_master_config_t::enableMaster</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ad73b88c0700d82721ccbf0744d1b6780"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool flexio_i2c_master_config_t::enableInDoze</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="acf98ed2c52a014d2ed825a38293001d4"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool flexio_i2c_master_config_t::enableInDebug</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a89a0daa456c7d99a7144d5245f422bbe"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool flexio_i2c_master_config_t::enableFastAccess</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a446dee2e270776aa6d462710e85b7454"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t flexio_i2c_master_config_t::baudRate_Bps</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="structflexio__i2c__master__transfer__t" id="structflexio__i2c__master__transfer__t"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct flexio_i2c_master_transfer_t</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<div class="textblock"></div><table class="memberdecls">
|
|
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
|
|
<tr class="memitem:a2695cc7566c8a4cbbcf837d1f7209b6a"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a2695cc7566c8a4cbbcf837d1f7209b6a">flags</a></td></tr>
|
|
<tr class="memdesc:a2695cc7566c8a4cbbcf837d1f7209b6a"><td class="mdescLeft"> </td><td class="mdescRight">Transfer flag which controls the transfer, reserved for flexio i2c. <a href="#a2695cc7566c8a4cbbcf837d1f7209b6a">More...</a><br/></td></tr>
|
|
<tr class="separator:a2695cc7566c8a4cbbcf837d1f7209b6a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad9a4b7694d338eaa4d7b6b2e8ebcf6c5"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#ad9a4b7694d338eaa4d7b6b2e8ebcf6c5">slaveAddress</a></td></tr>
|
|
<tr class="memdesc:ad9a4b7694d338eaa4d7b6b2e8ebcf6c5"><td class="mdescLeft"> </td><td class="mdescRight">7-bit slave address. <a href="#ad9a4b7694d338eaa4d7b6b2e8ebcf6c5">More...</a><br/></td></tr>
|
|
<tr class="separator:ad9a4b7694d338eaa4d7b6b2e8ebcf6c5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a756cb7ae9db1832fcffcd736a7039369"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__flexio__i2c__master.html#gad7cd7cc57788188d0f804b5e3a549303">flexio_i2c_direction_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a756cb7ae9db1832fcffcd736a7039369">direction</a></td></tr>
|
|
<tr class="memdesc:a756cb7ae9db1832fcffcd736a7039369"><td class="mdescLeft"> </td><td class="mdescRight">Transfer direction, read or write. <a href="#a756cb7ae9db1832fcffcd736a7039369">More...</a><br/></td></tr>
|
|
<tr class="separator:a756cb7ae9db1832fcffcd736a7039369"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a60552386bd16b5d17197660571638898"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a60552386bd16b5d17197660571638898">subaddress</a></td></tr>
|
|
<tr class="memdesc:a60552386bd16b5d17197660571638898"><td class="mdescLeft"> </td><td class="mdescRight">Sub address. <a href="#a60552386bd16b5d17197660571638898">More...</a><br/></td></tr>
|
|
<tr class="separator:a60552386bd16b5d17197660571638898"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a17d04e1156e9dd99026a4b527e487a96"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a17d04e1156e9dd99026a4b527e487a96">subaddressSize</a></td></tr>
|
|
<tr class="memdesc:a17d04e1156e9dd99026a4b527e487a96"><td class="mdescLeft"> </td><td class="mdescRight">Size of command buffer. <a href="#a17d04e1156e9dd99026a4b527e487a96">More...</a><br/></td></tr>
|
|
<tr class="separator:a17d04e1156e9dd99026a4b527e487a96"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a94b0a6518c96392dd0497350af675ada"><td class="memItemLeft" align="right" valign="top">uint8_t volatile * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a94b0a6518c96392dd0497350af675ada">data</a></td></tr>
|
|
<tr class="memdesc:a94b0a6518c96392dd0497350af675ada"><td class="mdescLeft"> </td><td class="mdescRight">Transfer buffer. <a href="#a94b0a6518c96392dd0497350af675ada">More...</a><br/></td></tr>
|
|
<tr class="separator:a94b0a6518c96392dd0497350af675ada"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5bd368a720ef8ed7df1601d7cac19ae2"><td class="memItemLeft" align="right" valign="top">volatile size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a5bd368a720ef8ed7df1601d7cac19ae2">dataSize</a></td></tr>
|
|
<tr class="memdesc:a5bd368a720ef8ed7df1601d7cac19ae2"><td class="mdescLeft"> </td><td class="mdescRight">Transfer size. <a href="#a5bd368a720ef8ed7df1601d7cac19ae2">More...</a><br/></td></tr>
|
|
<tr class="separator:a5bd368a720ef8ed7df1601d7cac19ae2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="a2695cc7566c8a4cbbcf837d1f7209b6a"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t flexio_i2c_master_transfer_t::flags</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ad9a4b7694d338eaa4d7b6b2e8ebcf6c5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint8_t flexio_i2c_master_transfer_t::slaveAddress</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a756cb7ae9db1832fcffcd736a7039369"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__flexio__i2c__master.html#gad7cd7cc57788188d0f804b5e3a549303">flexio_i2c_direction_t</a> flexio_i2c_master_transfer_t::direction</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a60552386bd16b5d17197660571638898"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t flexio_i2c_master_transfer_t::subaddress</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Transferred MSB first. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a17d04e1156e9dd99026a4b527e487a96"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint8_t flexio_i2c_master_transfer_t::subaddressSize</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a94b0a6518c96392dd0497350af675ada"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint8_t volatile* flexio_i2c_master_transfer_t::data</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a5bd368a720ef8ed7df1601d7cac19ae2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">volatile size_t flexio_i2c_master_transfer_t::dataSize</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="struct__flexio__i2c__master__handle" id="struct__flexio__i2c__master__handle"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct _flexio_i2c_master_handle</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<div class="textblock"><p>FlexIO I2C master handle typedef.</p>
|
|
</div><table class="memberdecls">
|
|
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
|
|
<tr class="memitem:a60bd61f7bad1102b8ae17c147ebe7562"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t">flexio_i2c_master_transfer_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a60bd61f7bad1102b8ae17c147ebe7562">transfer</a></td></tr>
|
|
<tr class="memdesc:a60bd61f7bad1102b8ae17c147ebe7562"><td class="mdescLeft"> </td><td class="mdescRight">FlexIO I2C master transfer copy. <a href="#a60bd61f7bad1102b8ae17c147ebe7562">More...</a><br/></td></tr>
|
|
<tr class="separator:a60bd61f7bad1102b8ae17c147ebe7562"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a48d8d3dd2b37359e54ee1ac10d68bfa5"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a48d8d3dd2b37359e54ee1ac10d68bfa5">transferSize</a></td></tr>
|
|
<tr class="memdesc:a48d8d3dd2b37359e54ee1ac10d68bfa5"><td class="mdescLeft"> </td><td class="mdescRight">Total bytes to be transferred. <a href="#a48d8d3dd2b37359e54ee1ac10d68bfa5">More...</a><br/></td></tr>
|
|
<tr class="separator:a48d8d3dd2b37359e54ee1ac10d68bfa5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abdeb9df90f61127f95734a9ad2226de8"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#abdeb9df90f61127f95734a9ad2226de8">state</a></td></tr>
|
|
<tr class="memdesc:abdeb9df90f61127f95734a9ad2226de8"><td class="mdescLeft"> </td><td class="mdescRight">Transfer state maintained during transfer. <a href="#abdeb9df90f61127f95734a9ad2226de8">More...</a><br/></td></tr>
|
|
<tr class="separator:abdeb9df90f61127f95734a9ad2226de8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1b3ef650c54e91d7ae83998a7a3cb061"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__flexio__i2c__master.html#ga4a92b2aafd0ea1e7746dc23a7b0f0691">flexio_i2c_master_transfer_callback_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#a1b3ef650c54e91d7ae83998a7a3cb061">completionCallback</a></td></tr>
|
|
<tr class="memdesc:a1b3ef650c54e91d7ae83998a7a3cb061"><td class="mdescLeft"> </td><td class="mdescRight">Callback function called at transfer event. <a href="#a1b3ef650c54e91d7ae83998a7a3cb061">More...</a><br/></td></tr>
|
|
<tr class="separator:a1b3ef650c54e91d7ae83998a7a3cb061"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:affef8570c9455a63c5b0d67595f1dc6a"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__i2c__master.html#affef8570c9455a63c5b0d67595f1dc6a">userData</a></td></tr>
|
|
<tr class="memdesc:affef8570c9455a63c5b0d67595f1dc6a"><td class="mdescLeft"> </td><td class="mdescRight">Callback parameter passed to callback function. <a href="#affef8570c9455a63c5b0d67595f1dc6a">More...</a><br/></td></tr>
|
|
<tr class="separator:affef8570c9455a63c5b0d67595f1dc6a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="a60bd61f7bad1102b8ae17c147ebe7562"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t">flexio_i2c_master_transfer_t</a> flexio_i2c_master_handle_t::transfer</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a48d8d3dd2b37359e54ee1ac10d68bfa5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t flexio_i2c_master_handle_t::transferSize</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="abdeb9df90f61127f95734a9ad2226de8"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint8_t flexio_i2c_master_handle_t::state</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a1b3ef650c54e91d7ae83998a7a3cb061"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__flexio__i2c__master.html#ga4a92b2aafd0ea1e7746dc23a7b0f0691">flexio_i2c_master_transfer_callback_t</a> flexio_i2c_master_handle_t::completionCallback</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Callback function called at transfer event. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="affef8570c9455a63c5b0d67595f1dc6a"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void* flexio_i2c_master_handle_t::userData</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
<a class="anchor" id="ga869dccb29d32c1ccd2057003826d07cc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define FSL_FLEXIO_I2C_MASTER_DRIVER_VERSION   (<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 1, 0))</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Typedef Documentation</h2>
|
|
<a class="anchor" id="ga4a92b2aafd0ea1e7746dc23a7b0f0691"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef void(* flexio_i2c_master_transfer_callback_t)(<a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> *base, flexio_i2c_master_handle_t *handle, status_t status, void *userData)</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Enumeration Type Documentation</h2>
|
|
<a class="anchor" id="gadba7c89564ab90e58acd911686edb637"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__flexio__i2c__master.html#gadba7c89564ab90e58acd911686edb637">_flexio_i2c_status</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="ggadba7c89564ab90e58acd911686edb637a8ab8145bc386f3630f13b87c38496331"></a>kStatus_FLEXIO_I2C_Busy</em> </td><td class="fielddoc">
|
|
<p>I2C is busy doing transfer. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggadba7c89564ab90e58acd911686edb637a2f105638fc06422cc54cf5337d507873"></a>kStatus_FLEXIO_I2C_Idle</em> </td><td class="fielddoc">
|
|
<p>I2C is busy doing transfer. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggadba7c89564ab90e58acd911686edb637af5e4a932f6f9e6ae30a42dc31fab8bd5"></a>kStatus_FLEXIO_I2C_Nak</em> </td><td class="fielddoc">
|
|
<p>NAK received during transfer. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaa4597b532bb2a564c329076dc5da8155"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__flexio__i2c__master.html#gaa4597b532bb2a564c329076dc5da8155">_flexio_i2c_master_interrupt</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="ggaa4597b532bb2a564c329076dc5da8155ac34fefcbb2d45dd7bfd385586439923b"></a>kFLEXIO_I2C_TxEmptyInterruptEnable</em> </td><td class="fielddoc">
|
|
<p>Tx buffer empty interrupt enable. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggaa4597b532bb2a564c329076dc5da8155a46a53a6077c43dfb924d46e9a218eb6b"></a>kFLEXIO_I2C_RxFullInterruptEnable</em> </td><td class="fielddoc">
|
|
<p>Rx buffer full interrupt enable. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gafc92480bf28b1161b62a1f10a23e7458"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__flexio__i2c__master.html#gafc92480bf28b1161b62a1f10a23e7458">_flexio_i2c_master_status_flags</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggafc92480bf28b1161b62a1f10a23e7458a5eb41467be294db469f4604a010405e3"></a>kFLEXIO_I2C_TxEmptyFlag</em> </td><td class="fielddoc">
|
|
<p>Tx shifter empty flag. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggafc92480bf28b1161b62a1f10a23e7458a4eba9f70c326fcea72a255cba80dc42d"></a>kFLEXIO_I2C_RxFullFlag</em> </td><td class="fielddoc">
|
|
<p>Rx shifter full/Transfer complete flag. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggafc92480bf28b1161b62a1f10a23e7458a8774a1fedf2a596d2647864bd4f27664"></a>kFLEXIO_I2C_ReceiveNakFlag</em> </td><td class="fielddoc">
|
|
<p>Receive NAK flag. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gad7cd7cc57788188d0f804b5e3a549303"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__flexio__i2c__master.html#gad7cd7cc57788188d0f804b5e3a549303">flexio_i2c_direction_t</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad7cd7cc57788188d0f804b5e3a549303a666a4c181486b773264ce1e038e14850"></a>kFLEXIO_I2C_Write</em> </td><td class="fielddoc">
|
|
<p>Master send to slave. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggad7cd7cc57788188d0f804b5e3a549303aeac2a6bd710680e5f644763dea0c89c4"></a>kFLEXIO_I2C_Read</em> </td><td class="fielddoc">
|
|
<p>Master receive from slave. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Function Documentation</h2>
|
|
<a class="anchor" id="ga2eaa70779023d5c04cbe1a1fcd85063e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterInit </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__config__t">flexio_i2c_master_config_t</a> * </td>
|
|
<td class="paramname"><em>masterConfig</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>srcClock_Hz</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Example </p>
|
|
<div class="fragment"><div class="line"><a class="code" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> base = {</div>
|
|
<div class="line">.<a class="code" href="group__flexio__i2c__master.html#a85065e51da3c0158d4b1d9254d691d26">flexioBase</a> = FLEXIO,</div>
|
|
<div class="line">.SDAPinIndex = 0,</div>
|
|
<div class="line">.SCLPinIndex = 1,</div>
|
|
<div class="line">.shifterIndex = {0,1},</div>
|
|
<div class="line">.timerIndex = {0,1}</div>
|
|
<div class="line">};</div>
|
|
<div class="line"><a class="code" href="group__flexio__i2c__master.html#structflexio__i2c__master__config__t">flexio_i2c_master_config_t</a> config = {</div>
|
|
<div class="line">.<a class="code" href="group__flexio__camera.html#a2fad1c192bdc859ff5b756e15355edb7">enableInDoze</a> = <span class="keyword">false</span>,</div>
|
|
<div class="line">.enableInDebug = <span class="keyword">true</span>,</div>
|
|
<div class="line">.enableFastAccess = <span class="keyword">false</span>,</div>
|
|
<div class="line">.baudRate_Bps = 100000</div>
|
|
<div class="line">};</div>
|
|
<div class="line"><a class="code" href="group__flexio__i2c__master.html#ga2eaa70779023d5c04cbe1a1fcd85063e">FLEXIO_I2C_MasterInit</a>(base, &config, srcClock_Hz);</div>
|
|
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">masterConfig</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__config__t" title="Define FlexIO I2C master user configuration structure. ">flexio_i2c_master_config_t</a> structure. </td></tr>
|
|
<tr><td class="paramname">srcClock_Hz</td><td>FlexIO source clock in Hz. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga2da731bfa4e1e36b5d6d0235898b26dd"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterDeinit </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Calling this API gates the FlexIO clock, so the FlexIO I2C master module can't work unless call FLEXIO_I2C_MasterInit.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaa85599771e53091102f0823217ad0bcc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterGetDefaultConfig </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__config__t">flexio_i2c_master_config_t</a> * </td>
|
|
<td class="paramname"><em>masterConfig</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>The configuration can be used directly for calling <a class="el" href="group__flexio__i2c__master.html#ga2eaa70779023d5c04cbe1a1fcd85063e" title="Ungates the FlexIO clock, resets the FlexIO module, and configures the FlexIO I2C hardware configurat...">FLEXIO_I2C_MasterInit()</a>.</p>
|
|
<p>Example: </p>
|
|
<div class="fragment"><div class="line"><a class="code" href="group__flexio__i2c__master.html#structflexio__i2c__master__config__t">flexio_i2c_master_config_t</a> config;</div>
|
|
<div class="line"><a class="code" href="group__flexio__i2c__master.html#gaa85599771e53091102f0823217ad0bcc">FLEXIO_I2C_MasterGetDefaultConfig</a>(&config);</div>
|
|
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">masterConfig</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__config__t" title="Define FlexIO I2C master user configuration structure. ">flexio_i2c_master_config_t</a> structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga287dc7896229cd705bb8abbf51ca63a7"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void FLEXIO_I2C_MasterEnable </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>enable</em> </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>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">enable</td><td>pass true to enable module, false to disable module. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga5ac748fc7ff593cfa7a9b9a64cd479fa"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t FLEXIO_I2C_MasterGetStatusFlags </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>status flag, use status flag to AND <a class="el" href="group__flexio__i2c__master.html#gafc92480bf28b1161b62a1f10a23e7458" title="Define FlexIO I2C master status mask. ">_flexio_i2c_master_status_flags</a> could get the related status. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gad7509c6f4a8885650c313bb0b56e6bfc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterClearStatusFlags </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>mask</em> </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>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">mask</td><td>status flag. The parameter could be any combination of the following values: <ul>
|
|
<li>kFLEXIO_I2C_RxFullFlag </li>
|
|
<li>kFLEXIO_I2C_ReceiveNakFlag </li>
|
|
</ul>
|
|
</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga07198112aef949ac73874e7d446f7d38"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterEnableInterrupts </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>mask</em> </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>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">mask</td><td>interrupt source. Currently only one interrupt request source: <ul>
|
|
<li>kFLEXIO_I2C_TransferCompleteInterruptEnable </li>
|
|
</ul>
|
|
</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga3fcce197e268d6e7310a0087d9288b08"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterDisableInterrupts </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>mask</em> </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>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">mask</td><td>interrupt source. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gac1cb6e0f52c2e9e2b4373415dff1f24c"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterSetBaudRate </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>baudRate_Bps</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>srcClock_Hz</em> </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>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure </td></tr>
|
|
<tr><td class="paramname">baudRate_Bps</td><td>the baud rate value in HZ </td></tr>
|
|
<tr><td class="paramname">srcClock_Hz</td><td>source clock in HZ </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga6f9def4b064e4747675dfc16e9fdde00"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterStart </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>address</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#gad7cd7cc57788188d0f804b5e3a549303">flexio_i2c_direction_t</a> </td>
|
|
<td class="paramname"><em>direction</em> </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 is API should be called when transfer configuration is ready to send a START signal and 7-bit address to the bus. This is a non-blocking API, which returns directly after the address is put into the data register but not address transfer finished on the bus. Ensure that the kFLEXIO_I2C_RxFullFlag status is asserted before calling this API. </dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">address</td><td>7-bit address. </td></tr>
|
|
<tr><td class="paramname">direction</td><td>transfer direction. This parameter is one of the values in flexio_i2c_direction_t: <ul>
|
|
<li>kFLEXIO_I2C_Write: Transmit </li>
|
|
<li>kFLEXIO_I2C_Read: Receive </li>
|
|
</ul>
|
|
</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga6b921453ee8e263f9a2a198b497c88ec"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterStop </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga8c2b3776c1630e0bf8e64927a0012b2f"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterRepeatedStart </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga20efb0f28522d945694d509b5e4bf52d"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterAbortStop </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaca2e797a84bc5b68a75ba10cf2750fc0"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterEnableAck </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>enable</em> </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>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">enable</td><td>true to configure send ACK, false configure to send NAK. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gafbb79071dcdfdfe0102ea0d61cb5a5c8"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">status_t FLEXIO_I2C_MasterSetTransferCount </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>count</em> </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>Call this API before a transfer begins because the timer generates a number of clocks according to the number of bytes that need to be transferred.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">count</td><td>number of bytes need to be transferred from a start signal to a re-start/stop signal </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">kStatus_Success</td><td>Successfully configured the count. </td></tr>
|
|
<tr><td class="paramname">kStatus_InvalidArgument</td><td>Input argument is invalid. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga7e82edf243f26522ea3ecedddb4760ba"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void FLEXIO_I2C_MasterWriteByte </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>data</em> </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="section note"><dt>Note</dt><dd>This is a non-blocking API, which returns directly after the data is put into the data register but not data transfer finished on the bus. Ensure that the TxEmptyFlag is asserted before calling this API.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">data</td><td>a byte of data. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga2a790d99cbabf8bf7df3216b6da904e5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static uint8_t FLEXIO_I2C_MasterReadByte </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </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="section note"><dt>Note</dt><dd>This is a non-blocking API, which returns directly after the data is read from the data register. Ensure that the data is ready in the register.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>data byte read. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga13c8be777cb7336878e161ab32fba000"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">status_t FLEXIO_I2C_MasterWriteBlocking </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const uint8_t * </td>
|
|
<td class="paramname"><em>txBuff</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>txSize</em> </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 blocks via polling until all bytes have been sent.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">txBuff</td><td>The data bytes to send. </td></tr>
|
|
<tr><td class="paramname">txSize</td><td>The number of data bytes to send. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">kStatus_Success</td><td>Successfully write data. </td></tr>
|
|
<tr><td class="paramname">kStatus_FLEXIO_I2C_Nak</td><td>Receive NAK during writing data. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga029bc6387055ec2e878389217e484828"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterReadBlocking </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t * </td>
|
|
<td class="paramname"><em>rxBuff</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint8_t </td>
|
|
<td class="paramname"><em>rxSize</em> </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 blocks via polling until all bytes have been received.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">rxBuff</td><td>The buffer to store the received bytes. </td></tr>
|
|
<tr><td class="paramname">rxSize</td><td>The number of data bytes to be received. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaaf698c2151836b2fd0b3aa1abd4f3db8"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">status_t FLEXIO_I2C_MasterTransferBlocking </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">flexio_i2c_master_handle_t * </td>
|
|
<td class="paramname"><em>handle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t">flexio_i2c_master_transfer_t</a> * </td>
|
|
<td class="paramname"><em>xfer</em> </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 receiving NAK.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">handle</td><td>pointer to flexio_i2c_master_handle_t structure which stores the transfer state. </td></tr>
|
|
<tr><td class="paramname">xfer</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t" title="Define FlexIO I2C master transfer structure. ">flexio_i2c_master_transfer_t</a> structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>status of status_t. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga2d26c2cb21b034487ba8b8d4c5da2ef5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">status_t FLEXIO_I2C_MasterTransferCreateHandle </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">flexio_i2c_master_handle_t * </td>
|
|
<td class="paramname"><em>handle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#ga4a92b2aafd0ea1e7746dc23a7b0f0691">flexio_i2c_master_transfer_callback_t</a> </td>
|
|
<td class="paramname"><em>callback</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"><em>userData</em> </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>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">handle</td><td>pointer to flexio_i2c_master_handle_t structure to store the transfer state. </td></tr>
|
|
<tr><td class="paramname">callback</td><td>pointer to user callback function. </td></tr>
|
|
<tr><td class="paramname">userData</td><td>user param passed to the callback function. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">kStatus_Success</td><td>Successfully create the handle. </td></tr>
|
|
<tr><td class="paramname">kStatus_OutOfRange</td><td>The FlexIO type/handle/isr table out of range. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga4e21323685831e0ee3f88d50e4c8872c"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">status_t FLEXIO_I2C_MasterTransferNonBlocking </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">flexio_i2c_master_handle_t * </td>
|
|
<td class="paramname"><em>handle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t">flexio_i2c_master_transfer_t</a> * </td>
|
|
<td class="paramname"><em>xfer</em> </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 returns immediately after the transfer initiates. Call FLEXIO_I2C_MasterGetTransferCount to poll the transfer status to check whether the transfer is finished. If the return status is not kStatus_FLEXIO_I2C_Busy, the transfer is finished.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure </td></tr>
|
|
<tr><td class="paramname">handle</td><td>pointer to flexio_i2c_master_handle_t structure which stores the transfer state </td></tr>
|
|
<tr><td class="paramname">xfer</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t" title="Define FlexIO I2C master transfer structure. ">flexio_i2c_master_transfer_t</a> 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>Successfully start a transfer. </td></tr>
|
|
<tr><td class="paramname">kStatus_FLEXIO_I2C_Busy</td><td>FLEXIO I2C is not idle, is running another transfer. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga79fed99f5f4524619e2c2e28ad037544"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">status_t FLEXIO_I2C_MasterTransferGetCount </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">flexio_i2c_master_handle_t * </td>
|
|
<td class="paramname"><em>handle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">size_t * </td>
|
|
<td class="paramname"><em>count</em> </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>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure. </td></tr>
|
|
<tr><td class="paramname">handle</td><td>pointer to flexio_i2c_master_handle_t structure which stores the transfer state. </td></tr>
|
|
<tr><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_InvalidArgument</td><td>count is Invalid. </td></tr>
|
|
<tr><td class="paramname">kStatus_Success</td><td>Successfully return the count. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga75ecfe909fcd0ae47303eb90af39dea2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterTransferAbort </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type">FLEXIO_I2C_Type</a> * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">flexio_i2c_master_handle_t * </td>
|
|
<td class="paramname"><em>handle</em> </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 API can be called at any time when an interrupt non-blocking transfer initiates to abort the transfer early.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure </td></tr>
|
|
<tr><td class="paramname">handle</td><td>pointer to flexio_i2c_master_handle_t structure which stores the transfer state </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga29129d78b9166b7bcb585e336746bec6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FLEXIO_I2C_MasterTransferHandleIRQ </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"><em>i2cType</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"><em>i2cHandle</em> </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">i2cType</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structFLEXIO__I2C__Type" title="Define FlexIO I2C master access structure typedef. ">FLEXIO_I2C_Type</a> structure </td></tr>
|
|
<tr><td class="paramname">i2cHandle</td><td>pointer to <a class="el" href="group__flexio__i2c__master.html#structflexio__i2c__master__transfer__t" title="Define FlexIO I2C master transfer structure. ">flexio_i2c_master_transfer_t</a> structure </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">© 2016 NXP Semiconductors. All rights reserved.
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|