MCUXpresso_MIMXRT1052xxxxB/docs/MCUXpresso SDK API Referenc.../a00036.html

2762 lines
170 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>MCUXpresso SDK API Reference Manual: FlexIO SPI Driver</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">MCUXpresso SDK API Reference Manual
&#160;<span id="projectnumber">Rev 2.15.000</span>
</div>
<div id="projectbrief">NXP Semiconductors</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>API&#160;Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('a00036.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">FlexIO SPI Driver<div class="ingroups"><a class="el" href="a00278.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 MCUXpresso SDK provides a peripheral driver for an SPI function using the Flexible I/O module of MCUXpresso SDK devices.</p>
<p>FlexIO SPI driver includes functional APIs and transactional APIs.</p>
<p>Functional APIs target low-level APIs. Functional APIs can be used for FlexIO SPI initialization/configuration/operation for optimization/customization purpose. Using the functional API requires the knowledge of the FlexIO SPI peripheral and how to organize functional APIs to meet the application requirements. All functional API use the FLEXIO_SPI_Type *base as the first parameter. FlexIO SPI functional operation groups provide the functional API set.</p>
<p>Transactional APIs target high-level APIs. Transactional APIs can be used to enable the peripheral and also in the application if the code size and performance of transactional APIs can satisfy requirements. If the code size and performance are critical requirements, see the transactional API implementation and write custom code. All transactional APIs use the flexio_spi_master_handle_t/flexio_spi_slave_handle_t as the second parameter. Initialize the handle by calling the <a class="el" href="a00036.html#ga0123f1825a83093ad07377d86f4e2bf1" title="Initializes the FlexIO SPI Master handle, which is used in transactional functions. ">FLEXIO_SPI_MasterTransferCreateHandle()</a> or <a class="el" href="a00036.html#ga76d12767d4023268a3aa9cde5e072b29" title="Initializes the FlexIO SPI Slave handle, which is used in transactional functions. ">FLEXIO_SPI_SlaveTransferCreateHandle()</a> API.</p>
<p>Transactional APIs support asynchronous transfer. This means that the functions <a class="el" href="a00036.html#gabcfcbee985cb49bdbd02ab1698d2c041" title="Master transfer data using IRQ. ">FLEXIO_SPI_MasterTransferNonBlocking()</a>/FLEXIO_SPI_SlaveTransferNonBlocking() set up an interrupt for data transfer. When the transfer is complete, the upper layer is notified through a callback function with the kStatus_FLEXIO_SPI_Idle status.</p>
<p>Note that the FlexIO SPI slave driver only supports discontinuous PCS access, which is a limitation. The FlexIO SPI slave driver can support continuous PCS, but the slave cannot adapt discontinuous and continuous PCS automatically. Users can change the timer disable mode in FLEXIO_SPI_SlaveInit manually, from kFLEXIO_TimerDisableOnTimerCompare to kFLEXIO_TimerDisableNever to enable a discontinuous PCS access. Only CPHA = 0 is supported.</p>
<h1><a class="anchor" id="FlexIO_SPICase"></a>
Typical use case</h1>
<h2><a class="anchor" id="FlexIO_SPICaseInterrupt"></a>
FlexIO SPI send/receive using an interrupt method</h2>
<div class="fragment"><div class="line"><a class="code" href="a00036.html#a00406">flexio_spi_master_handle_t</a> g_spiHandle;</div>
<div class="line"><a class="code" href="a00036.html#a00409">FLEXIO_SPI_Type</a> spiDev;</div>
<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">bool</span> txFinished;</div>
<div class="line"><span class="keyword">static</span> uint8_t srcBuff[BUFFER_SIZE];</div>
<div class="line"><span class="keyword">static</span> uint8_t destBuff[BUFFER_SIZE];</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> FLEXIO_SPI_MasterUserCallback(<a class="code" href="a00036.html#a00409">FLEXIO_SPI_Type</a> *base, <a class="code" href="a00036.html#a00406">flexio_spi_master_handle_t</a> *handle, <a class="code" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> 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> (<a class="code" href="a00036.html#gga77867ab4129f63159b37bca3b652a798a69ccc78c05f6f6ed17f4d48e20323ec8">kStatus_FLEXIO_SPI_Idle</a> == status)</div>
<div class="line"> {</div>
<div class="line"> txFinished = <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"> <a class="code" href="a00036.html#a00408">flexio_spi_transfer_t</a> xfer = {0};</div>
<div class="line"> <a class="code" href="a00036.html#a00404">flexio_spi_master_config_t</a> userConfig;</div>
<div class="line"></div>
<div class="line"> <a class="code" href="a00036.html#ga2d99f8a94f95262fc821b42e3812ee7e">FLEXIO_SPI_MasterGetDefaultConfig</a>(&amp;userConfig);</div>
<div class="line"> userConfig.<a class="code" href="a00036.html#a0b29db4775a69b9a97ec326da0d14d25">baudRate_Bps</a> = 500000U;</div>
<div class="line"></div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a4dc08bcdfef224a823fe5655f1351079">flexioBase</a> = BOARD_FLEXIO_BASE;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a13c3a1fc33229ca2958e0a74c6675dc4">SDOPinIndex</a> = FLEXIO_SPI_MOSI_PIN;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a27df7a01b0fed892b728fe34587fe983">SDIPinIndex</a> = FLEXIO_SPI_MISO_PIN;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#ab045d54defde2a17569dba649a4a7b2a">SCKPinIndex</a> = FLEXIO_SPI_SCK_PIN;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#ae876af2d130b3624acc52b97a3aff3bf">CSnPinIndex</a> = FLEXIO_SPI_CSn_PIN;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a8b4806ac616f6fbbab5edb677cf4561c">shifterIndex</a>[0] = 0U;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a8b4806ac616f6fbbab5edb677cf4561c">shifterIndex</a>[1] = 1U;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a24ab8783c327151df41d4cd5fe0c9f30">timerIndex</a>[0] = 0U;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a24ab8783c327151df41d4cd5fe0c9f30">timerIndex</a>[1] = 1U;</div>
<div class="line"></div>
<div class="line"> <a class="code" href="a00036.html#gacc68d67c46d897e6e9b2268c0fe999d2">FLEXIO_SPI_MasterInit</a>(&amp;spiDev, &amp;userConfig, FLEXIO_CLOCK_FREQUENCY);</div>
<div class="line"></div>
<div class="line"> xfer.<a class="code" href="a00036.html#a25d9c2eba39a591d122105446594d628">txData</a> = srcBuff;</div>
<div class="line"> xfer.<a class="code" href="a00036.html#a5790b55749df9533289b7a3df2a2a62e">rxData</a> = destBuff;</div>
<div class="line"> xfer.<a class="code" href="a00036.html#a5ef46e695ae4a85fd4eb767b359bc949">dataSize</a> = BUFFER_SIZE;</div>
<div class="line"> xfer.<a class="code" href="a00036.html#a0287079938a673a719ab4efc7e185e15">flags</a> = <a class="code" href="a00036.html#ggabf4ebfbc0d68b969e1b7dd838c45512da7979c2a48d6662af1777827c1afa5537">kFLEXIO_SPI_8bitMsb</a>;</div>
<div class="line"> <a class="code" href="a00036.html#ga0123f1825a83093ad07377d86f4e2bf1">FLEXIO_SPI_MasterTransferCreateHandle</a>(&amp;spiDev, &amp;g_spiHandle, FLEXIO_SPI_MasterUserCallback, NULL);</div>
<div class="line"> <a class="code" href="a00036.html#gabcfcbee985cb49bdbd02ab1698d2c041">FLEXIO_SPI_MasterTransferNonBlocking</a>(&amp;spiDev, &amp;g_spiHandle, &amp;xfer);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Send finished.</span></div>
<div class="line"> <span class="keywordflow">while</span> (!txFinished)</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 --><h2><a class="anchor" id="FlexIO_SPICaseDma"></a>
FlexIO_SPI Send/Receive in DMA way</h2>
<div class="fragment"><div class="line"> dma_handle_t g_spiTxDmaHandle;</div>
<div class="line"> dma_handle_t g_spiRxDmaHandle;</div>
<div class="line"> <a class="code" href="a00036.html#a00406">flexio_spi_master_handle_t</a> g_spiHandle;</div>
<div class="line"> <a class="code" href="a00036.html#a00409">FLEXIO_SPI_Type</a> spiDev;</div>
<div class="line"> <span class="keyword">volatile</span> <span class="keywordtype">bool</span> txFinished;</div>
<div class="line"> <span class="keyword">static</span> uint8_t srcBuff[BUFFER_SIZE];</div>
<div class="line"> <span class="keyword">static</span> uint8_t destBuff[BUFFER_SIZE];</div>
<div class="line"> <span class="keywordtype">void</span> FLEXIO_SPI_MasterUserCallback(<a class="code" href="a00036.html#a00409">FLEXIO_SPI_Type</a> *base, flexio_spi_master_dma_handle_t *handle, <a class="code" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> 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> (<a class="code" href="a00036.html#gga77867ab4129f63159b37bca3b652a798a69ccc78c05f6f6ed17f4d48e20323ec8">kStatus_FLEXIO_SPI_Idle</a> == status)</div>
<div class="line"> {</div>
<div class="line"> txFinished = <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"> <a class="code" href="a00036.html#a00408">flexio_spi_transfer_t</a> xfer = {0};</div>
<div class="line"> <a class="code" href="a00036.html#a00404">flexio_spi_master_config_t</a> userConfig;</div>
<div class="line"></div>
<div class="line"> <a class="code" href="a00036.html#ga2d99f8a94f95262fc821b42e3812ee7e">FLEXIO_SPI_MasterGetDefaultConfig</a>(&amp;userConfig);</div>
<div class="line"> userConfig.<a class="code" href="a00036.html#a0b29db4775a69b9a97ec326da0d14d25">baudRate_Bps</a> = 500000U;</div>
<div class="line"></div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a4dc08bcdfef224a823fe5655f1351079">flexioBase</a> = BOARD_FLEXIO_BASE;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a13c3a1fc33229ca2958e0a74c6675dc4">SDOPinIndex</a> = FLEXIO_SPI_MOSI_PIN;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a27df7a01b0fed892b728fe34587fe983">SDIPinIndex</a> = FLEXIO_SPI_MISO_PIN;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#ab045d54defde2a17569dba649a4a7b2a">SCKPinIndex</a> = FLEXIO_SPI_SCK_PIN;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#ae876af2d130b3624acc52b97a3aff3bf">CSnPinIndex</a> = FLEXIO_SPI_CSn_PIN;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a8b4806ac616f6fbbab5edb677cf4561c">shifterIndex</a>[0] = 0U;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a8b4806ac616f6fbbab5edb677cf4561c">shifterIndex</a>[1] = 1U;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a24ab8783c327151df41d4cd5fe0c9f30">timerIndex</a>[0] = 0U;</div>
<div class="line"> spiDev.<a class="code" href="a00036.html#a24ab8783c327151df41d4cd5fe0c9f30">timerIndex</a>[1] = 1U;</div>
<div class="line"></div>
<div class="line"> <span class="comment">/* Init DMAMUX. */</span></div>
<div class="line"> <a class="code" href="a00275.html#ga850545ac61a004df8ca312db2ca9db73">DMAMUX_Init</a>(EXAMPLE_FLEXIO_SPI_DMAMUX_BASEADDR)</div>
<div class="line"></div>
<div class="line"> <span class="comment">/* Init the DMA/EDMA module */</span></div>
<div class="line"><span class="preprocessor">#if defined(FSL_FEATURE_SOC_DMA_COUNT) &amp;&amp; FSL_FEATURE_SOC_DMA_COUNT &gt; 0U</span></div>
<div class="line"><span class="preprocessor"></span> DMA_Init(EXAMPLE_FLEXIO_SPI_DMA_BASEADDR);</div>
<div class="line"> DMA_CreateHandle(&amp;txHandle, EXAMPLE_FLEXIO_SPI_DMA_BASEADDR, FLEXIO_SPI_TX_DMA_CHANNEL);</div>
<div class="line"> DMA_CreateHandle(&amp;rxHandle, EXAMPLE_FLEXIO_SPI_DMA_BASEADDR, FLEXIO_SPI_RX_DMA_CHANNEL);</div>
<div class="line"><span class="preprocessor">#endif </span><span class="comment">/* FSL_FEATURE_SOC_DMA_COUNT */</span><span class="preprocessor"></span></div>
<div class="line"><span class="preprocessor"></span></div>
<div class="line"><span class="preprocessor">#if defined(FSL_FEATURE_SOC_EDMA_COUNT) &amp;&amp; FSL_FEATURE_SOC_EDMA_COUNT &gt; 0U</span></div>
<div class="line"><span class="preprocessor"></span> <a class="code" href="a00022.html#a00351">edma_config_t</a> edmaConfig;</div>
<div class="line"></div>
<div class="line"> <a class="code" href="a00022.html#ga9851dc5addd6a1fc557bfdb625aa5c19">EDMA_GetDefaultConfig</a>(&amp;edmaConfig);</div>
<div class="line"> <a class="code" href="a00022.html#gaf7588eb4b54499f0f55c698bd98bc1bb">EDMA_Init</a>(EXAMPLE_FLEXIO_SPI_DMA_BASEADDR, &amp;edmaConfig);</div>
<div class="line"> <a class="code" href="a00022.html#gae71842684e693908395784e8b7f7ef55">EDMA_CreateHandle</a>(&amp;txHandle, EXAMPLE_FLEXIO_SPI_DMA_BASEADDR, FLEXIO_SPI_TX_DMA_CHANNEL);</div>
<div class="line"> <a class="code" href="a00022.html#gae71842684e693908395784e8b7f7ef55">EDMA_CreateHandle</a>(&amp;rxHandle, EXAMPLE_FLEXIO_SPI_DMA_BASEADDR, FLEXIO_SPI_RX_DMA_CHANNEL);</div>
<div class="line"><span class="preprocessor">#endif </span><span class="comment">/* FSL_FEATURE_SOC_EDMA_COUNT */</span><span class="preprocessor"></span></div>
<div class="line"><span class="preprocessor"></span></div>
<div class="line"> dma_request_source_tx = (dma_request_source_t)(FLEXIO_DMA_REQUEST_BASE + spiDev.<a class="code" href="a00036.html#a8b4806ac616f6fbbab5edb677cf4561c">shifterIndex</a>[0]);</div>
<div class="line"> dma_request_source_rx = (dma_request_source_t)(FLEXIO_DMA_REQUEST_BASE + spiDev.<a class="code" href="a00036.html#a8b4806ac616f6fbbab5edb677cf4561c">shifterIndex</a>[1]);</div>
<div class="line"></div>
<div class="line"> <span class="comment">/* Requests DMA channels for transmit and receive. */</span></div>
<div class="line"> <a class="code" href="a00275.html#gab4cfa329d636dc52dffb7fedef84367e">DMAMUX_SetSource</a>(EXAMPLE_FLEXIO_SPI_DMAMUX_BASEADDR, FLEXIO_SPI_TX_DMA_CHANNEL, (dma_request_source_t)dma_request_source_tx);</div>
<div class="line"> <a class="code" href="a00275.html#gab4cfa329d636dc52dffb7fedef84367e">DMAMUX_SetSource</a>(EXAMPLE_FLEXIO_SPI_DMAMUX_BASEADDR, FLEXIO_SPI_RX_DMA_CHANNEL, (dma_request_source_t)dma_request_source_rx);</div>
<div class="line"> <a class="code" href="a00275.html#gaecac68802d961c31a06389caa97387f5">DMAMUX_EnableChannel</a>(EXAMPLE_FLEXIO_SPI_DMAMUX_BASEADDR, FLEXIO_SPI_TX_DMA_CHANNEL);</div>
<div class="line"> <a class="code" href="a00275.html#gaecac68802d961c31a06389caa97387f5">DMAMUX_EnableChannel</a>(EXAMPLE_FLEXIO_SPI_DMAMUX_BASEADDR, FLEXIO_SPI_RX_DMA_CHANNEL);</div>
<div class="line"></div>
<div class="line"> <a class="code" href="a00036.html#gacc68d67c46d897e6e9b2268c0fe999d2">FLEXIO_SPI_MasterInit</a>(&amp;spiDev, &amp;userConfig, FLEXIO_CLOCK_FREQUENCY);</div>
<div class="line"></div>
<div class="line"> <span class="comment">/* Initializes the buffer. */</span></div>
<div class="line"> <span class="keywordflow">for</span> (i = 0; i &lt; BUFFER_SIZE; i++)</div>
<div class="line"> {</div>
<div class="line"> srcBuff[i] = i;</div>
<div class="line"> }</div>
<div class="line"></div>
<div class="line"> <span class="comment">/* Sends to the slave. */</span></div>
<div class="line"> xfer.<a class="code" href="a00036.html#a25d9c2eba39a591d122105446594d628">txData</a> = srcBuff;</div>
<div class="line"> xfer.<a class="code" href="a00036.html#a5790b55749df9533289b7a3df2a2a62e">rxData</a> = destBuff;</div>
<div class="line"> xfer.<a class="code" href="a00036.html#a5ef46e695ae4a85fd4eb767b359bc949">dataSize</a> = BUFFER_SIZE;</div>
<div class="line"> xfer.<a class="code" href="a00036.html#a0287079938a673a719ab4efc7e185e15">flags</a> = <a class="code" href="a00036.html#ggabf4ebfbc0d68b969e1b7dd838c45512da7979c2a48d6662af1777827c1afa5537">kFLEXIO_SPI_8bitMsb</a>;</div>
<div class="line"> FLEXIO_SPI_MasterTransferCreateHandleDMA(&amp;spiDev, &amp;g_spiHandle, FLEXIO_SPI_MasterUserCallback, NULL, &amp;g_spiTxDmaHandle, &amp;g_spiRxDmaHandle);</div>
<div class="line"> FLEXIO_SPI_MasterTransferDMA(&amp;spiDev, &amp;g_spiHandle, &amp;xfer);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Send finished.</span></div>
<div class="line"> <span class="keywordflow">while</span> (!txFinished)</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="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:a00037"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html">FlexIO eDMA SPI Driver</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:a00409"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a00409">_flexio_spi_type</a></td></tr>
<tr class="memdesc:a00409"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI access structure typedef. <a href="a00036.html#a00409">More...</a><br/></td></tr>
<tr class="separator:a00409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00404"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a00404">_flexio_spi_master_config</a></td></tr>
<tr class="memdesc:a00404"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI master configuration structure. <a href="a00036.html#a00404">More...</a><br/></td></tr>
<tr class="separator:a00404"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00407"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a00407">_flexio_spi_slave_config</a></td></tr>
<tr class="memdesc:a00407"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI slave configuration structure. <a href="a00036.html#a00407">More...</a><br/></td></tr>
<tr class="separator:a00407"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00408"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a00408">_flexio_spi_transfer</a></td></tr>
<tr class="memdesc:a00408"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI transfer structure. <a href="a00036.html#a00408">More...</a><br/></td></tr>
<tr class="separator:a00408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00406"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a00406">_flexio_spi_master_handle</a></td></tr>
<tr class="memdesc:a00406"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI handle structure. <a href="a00036.html#a00406">More...</a><br/></td></tr>
<tr class="separator:a00406"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gad411a43e379e70215b462831b24c5c5b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gad411a43e379e70215b462831b24c5c5b">FLEXIO_SPI_DUMMYDATA</a>&#160;&#160;&#160;(0x00U)</td></tr>
<tr class="memdesc:gad411a43e379e70215b462831b24c5c5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI dummy transfer data, the data is sent while txData is NULL. <a href="#gad411a43e379e70215b462831b24c5c5b">More...</a><br/></td></tr>
<tr class="separator:gad411a43e379e70215b462831b24c5c5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa4717c15ca9604c505a5e5c60df29ebe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gaa4717c15ca9604c505a5e5c60df29ebe">SPI_RETRY_TIMES</a>&#160;&#160;&#160;0U /* Define to zero means keep waiting until the flag is assert/deassert. */</td></tr>
<tr class="memdesc:gaa4717c15ca9604c505a5e5c60df29ebe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retry times for waiting flag. <a href="#gaa4717c15ca9604c505a5e5c60df29ebe">More...</a><br/></td></tr>
<tr class="separator:gaa4717c15ca9604c505a5e5c60df29ebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b59f53366b1e5bb10a0491a20543382"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga7b59f53366b1e5bb10a0491a20543382">FLEXIO_SPI_XFER_DATA_FORMAT</a>(flag)&#160;&#160;&#160;((flag) &amp; (0x7U))</td></tr>
<tr class="memdesc:ga7b59f53366b1e5bb10a0491a20543382"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the transfer data format of width and bit order. <a href="#ga7b59f53366b1e5bb10a0491a20543382">More...</a><br/></td></tr>
<tr class="separator:ga7b59f53366b1e5bb10a0491a20543382"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaf8848e79c5dc0c60907289557dca3acf"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="a00036.html#ga8766d433030d910dc953df84de513e94">_flexio_spi_clock_phase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gaf8848e79c5dc0c60907289557dca3acf">flexio_spi_clock_phase_t</a></td></tr>
<tr class="memdesc:gaf8848e79c5dc0c60907289557dca3acf"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI clock phase configuration. <a href="#gaf8848e79c5dc0c60907289557dca3acf">More...</a><br/></td></tr>
<tr class="separator:gaf8848e79c5dc0c60907289557dca3acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ee59b2ba60e4cfd1fcdd5f403968759"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="a00036.html#ga94c0a678c0641bdad93ff2e6d8512301">_flexio_spi_shift_direction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a></td></tr>
<tr class="memdesc:ga8ee59b2ba60e4cfd1fcdd5f403968759"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI data shifter direction options. <a href="#ga8ee59b2ba60e4cfd1fcdd5f403968759">More...</a><br/></td></tr>
<tr class="separator:ga8ee59b2ba60e4cfd1fcdd5f403968759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35007f9d18a27c436b3342cd87d07763"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="a00036.html#gacb3d3ee6ee94929d708ec78489a83909">_flexio_spi_data_bitcount_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga35007f9d18a27c436b3342cd87d07763">flexio_spi_data_bitcount_mode_t</a></td></tr>
<tr class="memdesc:ga35007f9d18a27c436b3342cd87d07763"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI data length mode options. <a href="#ga35007f9d18a27c436b3342cd87d07763">More...</a><br/></td></tr>
<tr class="separator:ga35007f9d18a27c436b3342cd87d07763"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabbf9b6da1adb43559aa1b75433cdd7d1"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00036.html#a00409">_flexio_spi_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a></td></tr>
<tr class="memdesc:gabbf9b6da1adb43559aa1b75433cdd7d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI access structure typedef. <a href="#gabbf9b6da1adb43559aa1b75433cdd7d1">More...</a><br/></td></tr>
<tr class="separator:gabbf9b6da1adb43559aa1b75433cdd7d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec04efd2d8f6c4782eba4a1fe22387c0"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="a00036.html#a00404">_flexio_spi_master_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gaec04efd2d8f6c4782eba4a1fe22387c0">flexio_spi_master_config_t</a></td></tr>
<tr class="memdesc:gaec04efd2d8f6c4782eba4a1fe22387c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI master configuration structure. <a href="#gaec04efd2d8f6c4782eba4a1fe22387c0">More...</a><br/></td></tr>
<tr class="separator:gaec04efd2d8f6c4782eba4a1fe22387c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad203cea9b4cf3751fd78ddb36653246d"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="a00036.html#a00407">_flexio_spi_slave_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gad203cea9b4cf3751fd78ddb36653246d">flexio_spi_slave_config_t</a></td></tr>
<tr class="memdesc:gad203cea9b4cf3751fd78ddb36653246d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI slave configuration structure. <a href="#gad203cea9b4cf3751fd78ddb36653246d">More...</a><br/></td></tr>
<tr class="separator:gad203cea9b4cf3751fd78ddb36653246d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac381494803bf8b1c2dd9be82bae1f849"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00036.html#a00408">_flexio_spi_transfer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gac381494803bf8b1c2dd9be82bae1f849">flexio_spi_transfer_t</a></td></tr>
<tr class="memdesc:gac381494803bf8b1c2dd9be82bae1f849"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI transfer structure. <a href="#gac381494803bf8b1c2dd9be82bae1f849">More...</a><br/></td></tr>
<tr class="separator:gac381494803bf8b1c2dd9be82bae1f849"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae91f9b442547c1143f1d0a19deee74a2"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="a00036.html#a00406">_flexio_spi_master_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a></td></tr>
<tr class="memdesc:gae91f9b442547c1143f1d0a19deee74a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">typedef for flexio_spi_master_handle_t in advance. <a href="#gae91f9b442547c1143f1d0a19deee74a2">More...</a><br/></td></tr>
<tr class="separator:gae91f9b442547c1143f1d0a19deee74a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1950678efd37cb3665e303e094cec428"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a></td></tr>
<tr class="memdesc:ga1950678efd37cb3665e303e094cec428"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slave handle is the same with master handle. <a href="#ga1950678efd37cb3665e303e094cec428">More...</a><br/></td></tr>
<tr class="separator:ga1950678efd37cb3665e303e094cec428"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c8b509b90588dea1921de0bdb3cfec8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9c8b509b90588dea1921de0bdb3cfec8"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga9c8b509b90588dea1921de0bdb3cfec8">flexio_spi_master_transfer_callback_t</a> )(<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a> *handle, <a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> status, void *userData)</td></tr>
<tr class="memdesc:ga9c8b509b90588dea1921de0bdb3cfec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI master callback for finished transmit. <br/></td></tr>
<tr class="separator:ga9c8b509b90588dea1921de0bdb3cfec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2accadc980b51b0d65e41d122abe261"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad2accadc980b51b0d65e41d122abe261"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gad2accadc980b51b0d65e41d122abe261">flexio_spi_slave_transfer_callback_t</a> )(<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *handle, <a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> status, void *userData)</td></tr>
<tr class="memdesc:gad2accadc980b51b0d65e41d122abe261"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI slave callback for finished transmit. <br/></td></tr>
<tr class="separator:gad2accadc980b51b0d65e41d122abe261"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga77867ab4129f63159b37bca3b652a798"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00036.html#gga77867ab4129f63159b37bca3b652a798a9fd2c82e84cdc65b4c2d7c3d335bc4e1">kStatus_FLEXIO_SPI_Busy</a> = MAKE_STATUS(kStatusGroup_FLEXIO_SPI, 1),
<br/>
&#160;&#160;<a class="el" href="a00036.html#gga77867ab4129f63159b37bca3b652a798a69ccc78c05f6f6ed17f4d48e20323ec8">kStatus_FLEXIO_SPI_Idle</a> = MAKE_STATUS(kStatusGroup_FLEXIO_SPI, 2),
<br/>
&#160;&#160;<a class="el" href="a00036.html#gga77867ab4129f63159b37bca3b652a798a4ae19baeae73d05d2dcf34dc4c54c6c4">kStatus_FLEXIO_SPI_Error</a> = MAKE_STATUS(kStatusGroup_FLEXIO_SPI, 3),
<br/>
&#160;&#160;<a class="el" href="a00036.html#gga77867ab4129f63159b37bca3b652a798ae001cfaa37d2b750cd88808cbc3d7522">kStatus_FLEXIO_SPI_Timeout</a>
<br/>
}</td></tr>
<tr class="memdesc:ga77867ab4129f63159b37bca3b652a798"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error codes for the FlexIO SPI driver. <a href="a00036.html#ga77867ab4129f63159b37bca3b652a798">More...</a><br/></td></tr>
<tr class="separator:ga77867ab4129f63159b37bca3b652a798"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8766d433030d910dc953df84de513e94"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga8766d433030d910dc953df84de513e94">_flexio_spi_clock_phase</a> { <br/>
&#160;&#160;<a class="el" href="a00036.html#gga8766d433030d910dc953df84de513e94ad07a920661cea5317982da4405bfd9e1">kFLEXIO_SPI_ClockPhaseFirstEdge</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#gga8766d433030d910dc953df84de513e94a9d85a76b5ce670c1d47e5f95f4a46e6c">kFLEXIO_SPI_ClockPhaseSecondEdge</a> = 0x1U
<br/>
}</td></tr>
<tr class="memdesc:ga8766d433030d910dc953df84de513e94"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI clock phase configuration. <a href="a00036.html#ga8766d433030d910dc953df84de513e94">More...</a><br/></td></tr>
<tr class="separator:ga8766d433030d910dc953df84de513e94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94c0a678c0641bdad93ff2e6d8512301"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga94c0a678c0641bdad93ff2e6d8512301">_flexio_spi_shift_direction</a> { <br/>
&#160;&#160;<a class="el" href="a00036.html#gga94c0a678c0641bdad93ff2e6d8512301ad6c96f26bda5bc22af19be1e7906f3f2">kFLEXIO_SPI_MsbFirst</a> = 0,
<br/>
&#160;&#160;<a class="el" href="a00036.html#gga94c0a678c0641bdad93ff2e6d8512301aa2a981323f199d9359c61d39cb059795">kFLEXIO_SPI_LsbFirst</a> = 1
<br/>
}</td></tr>
<tr class="memdesc:ga94c0a678c0641bdad93ff2e6d8512301"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI data shifter direction options. <a href="a00036.html#ga94c0a678c0641bdad93ff2e6d8512301">More...</a><br/></td></tr>
<tr class="separator:ga94c0a678c0641bdad93ff2e6d8512301"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb3d3ee6ee94929d708ec78489a83909"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gacb3d3ee6ee94929d708ec78489a83909">_flexio_spi_data_bitcount_mode</a> { <br/>
&#160;&#160;<a class="el" href="a00036.html#ggacb3d3ee6ee94929d708ec78489a83909aef0c633539e44547b47ad7b754234752">kFLEXIO_SPI_8BitMode</a> = 0x08U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#ggacb3d3ee6ee94929d708ec78489a83909a343c7a9db539019f0c99fb82b4adab35">kFLEXIO_SPI_16BitMode</a> = 0x10U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#ggacb3d3ee6ee94929d708ec78489a83909a7f4a057b24ac43b60fa4795d2a79b25a">kFLEXIO_SPI_32BitMode</a> = 0x20U
<br/>
}</td></tr>
<tr class="memdesc:gacb3d3ee6ee94929d708ec78489a83909"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI data length mode options. <a href="a00036.html#gacb3d3ee6ee94929d708ec78489a83909">More...</a><br/></td></tr>
<tr class="separator:gacb3d3ee6ee94929d708ec78489a83909"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga239e9a0ff79e0d36ecf6ae7c68dfd357"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga239e9a0ff79e0d36ecf6ae7c68dfd357">_flexio_spi_interrupt_enable</a> { <br/>
&#160;&#160;<a class="el" href="a00036.html#gga239e9a0ff79e0d36ecf6ae7c68dfd357a5243ceb746eebfdeef2ba2d791e32ff9">kFLEXIO_SPI_TxEmptyInterruptEnable</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#gga239e9a0ff79e0d36ecf6ae7c68dfd357a3431c6c1875a70da30cba8b4185ad183">kFLEXIO_SPI_RxFullInterruptEnable</a> = 0x2U
<br/>
}</td></tr>
<tr class="memdesc:ga239e9a0ff79e0d36ecf6ae7c68dfd357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI interrupt mask. <a href="a00036.html#ga239e9a0ff79e0d36ecf6ae7c68dfd357">More...</a><br/></td></tr>
<tr class="separator:ga239e9a0ff79e0d36ecf6ae7c68dfd357"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5dec706a17cf2b92ef701f684503d4b2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga5dec706a17cf2b92ef701f684503d4b2">_flexio_spi_status_flags</a> { <br/>
&#160;&#160;<a class="el" href="a00036.html#gga5dec706a17cf2b92ef701f684503d4b2a80c0db2a058d82d018b2e8bc76f1aa6b">kFLEXIO_SPI_TxBufferEmptyFlag</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#gga5dec706a17cf2b92ef701f684503d4b2aa679f6244353e98ace08ec5d0281851b">kFLEXIO_SPI_RxBufferFullFlag</a> = 0x2U
<br/>
}</td></tr>
<tr class="memdesc:ga5dec706a17cf2b92ef701f684503d4b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI status mask. <a href="a00036.html#ga5dec706a17cf2b92ef701f684503d4b2">More...</a><br/></td></tr>
<tr class="separator:ga5dec706a17cf2b92ef701f684503d4b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga713aa7c7a59e84b9fdafb2923de177ef"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga713aa7c7a59e84b9fdafb2923de177ef">_flexio_spi_dma_enable</a> { <br/>
&#160;&#160;<a class="el" href="a00036.html#gga713aa7c7a59e84b9fdafb2923de177efa4cdf95c3f7a1b9ae7931166a8abe1542">kFLEXIO_SPI_TxDmaEnable</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#gga713aa7c7a59e84b9fdafb2923de177efa002de6d16630e5d11d94b871da9a8fbd">kFLEXIO_SPI_RxDmaEnable</a> = 0x2U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#gga713aa7c7a59e84b9fdafb2923de177efa6b4ccfcf63573b0a3b281c32c4913f49">kFLEXIO_SPI_DmaAllEnable</a> = 0x3U
<br/>
}</td></tr>
<tr class="memdesc:ga713aa7c7a59e84b9fdafb2923de177ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI DMA mask. <a href="a00036.html#ga713aa7c7a59e84b9fdafb2923de177ef">More...</a><br/></td></tr>
<tr class="separator:ga713aa7c7a59e84b9fdafb2923de177ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf4ebfbc0d68b969e1b7dd838c45512d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gabf4ebfbc0d68b969e1b7dd838c45512d">_flexio_spi_transfer_flags</a> { <br/>
&#160;&#160;<a class="el" href="a00036.html#ggabf4ebfbc0d68b969e1b7dd838c45512da7979c2a48d6662af1777827c1afa5537">kFLEXIO_SPI_8bitMsb</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#ggabf4ebfbc0d68b969e1b7dd838c45512da1d31a5996c45efebdc7aeb1a894647f8">kFLEXIO_SPI_8bitLsb</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#ggabf4ebfbc0d68b969e1b7dd838c45512dabeb4baa55114987385ab398ceda142f9">kFLEXIO_SPI_16bitMsb</a> = 0x2U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#ggabf4ebfbc0d68b969e1b7dd838c45512dad6774d8673e5aa247be136e38c8fad91">kFLEXIO_SPI_16bitLsb</a> = 0x3U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#ggabf4ebfbc0d68b969e1b7dd838c45512da79f81ba5984c5821bf9c42b0f3a3a4c1">kFLEXIO_SPI_32bitMsb</a> = 0x4U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#ggabf4ebfbc0d68b969e1b7dd838c45512daca30199b74b090f722c32b03b2762ac9">kFLEXIO_SPI_32bitLsb</a> = 0x5U,
<br/>
&#160;&#160;<a class="el" href="a00036.html#ggabf4ebfbc0d68b969e1b7dd838c45512da9ee2a3142a3bc89e1ff4d645d9118287">kFLEXIO_SPI_csContinuous</a> = 0x8U
<br/>
}</td></tr>
<tr class="memdesc:gabf4ebfbc0d68b969e1b7dd838c45512d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI transfer flags. <a href="a00036.html#gabf4ebfbc0d68b969e1b7dd838c45512d">More...</a><br/></td></tr>
<tr class="separator:gabf4ebfbc0d68b969e1b7dd838c45512d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Driver version</h2></td></tr>
<tr class="memitem:gadd4392d8b86be4236270866fa214dcbe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gadd4392d8b86be4236270866fa214dcbe">FSL_FLEXIO_SPI_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="a00272.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 3, 3))</td></tr>
<tr class="memdesc:gadd4392d8b86be4236270866fa214dcbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI driver version. <a href="#gadd4392d8b86be4236270866fa214dcbe">More...</a><br/></td></tr>
<tr class="separator:gadd4392d8b86be4236270866fa214dcbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
FlexIO SPI Configuration</h2></td></tr>
<tr class="memitem:gacc68d67c46d897e6e9b2268c0fe999d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gacc68d67c46d897e6e9b2268c0fe999d2">FLEXIO_SPI_MasterInit</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#gaec04efd2d8f6c4782eba4a1fe22387c0">flexio_spi_master_config_t</a> *masterConfig, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:gacc68d67c46d897e6e9b2268c0fe999d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ungates the FlexIO clock, resets the FlexIO module, configures the FlexIO SPI master hardware, and configures the FlexIO SPI with FlexIO SPI master configuration. <a href="#gacc68d67c46d897e6e9b2268c0fe999d2">More...</a><br/></td></tr>
<tr class="separator:gacc68d67c46d897e6e9b2268c0fe999d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae403f64c6c1268e5dfb62e0b20bd267c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gae403f64c6c1268e5dfb62e0b20bd267c">FLEXIO_SPI_MasterDeinit</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base)</td></tr>
<tr class="memdesc:gae403f64c6c1268e5dfb62e0b20bd267c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the FlexIO SPI timer and shifter config. <a href="#gae403f64c6c1268e5dfb62e0b20bd267c">More...</a><br/></td></tr>
<tr class="separator:gae403f64c6c1268e5dfb62e0b20bd267c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d99f8a94f95262fc821b42e3812ee7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga2d99f8a94f95262fc821b42e3812ee7e">FLEXIO_SPI_MasterGetDefaultConfig</a> (<a class="el" href="a00036.html#gaec04efd2d8f6c4782eba4a1fe22387c0">flexio_spi_master_config_t</a> *masterConfig)</td></tr>
<tr class="memdesc:ga2d99f8a94f95262fc821b42e3812ee7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the default configuration to configure the FlexIO SPI master. <a href="#ga2d99f8a94f95262fc821b42e3812ee7e">More...</a><br/></td></tr>
<tr class="separator:ga2d99f8a94f95262fc821b42e3812ee7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae14521e2d88c63c34a51a31c726bac48"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gae14521e2d88c63c34a51a31c726bac48">FLEXIO_SPI_SlaveInit</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#gad203cea9b4cf3751fd78ddb36653246d">flexio_spi_slave_config_t</a> *slaveConfig)</td></tr>
<tr class="memdesc:gae14521e2d88c63c34a51a31c726bac48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ungates the FlexIO clock, resets the FlexIO module, configures the FlexIO SPI slave hardware configuration, and configures the FlexIO SPI with FlexIO SPI slave configuration. <a href="#gae14521e2d88c63c34a51a31c726bac48">More...</a><br/></td></tr>
<tr class="separator:gae14521e2d88c63c34a51a31c726bac48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab02c0d21cfe44e81a2668facccdc587c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gab02c0d21cfe44e81a2668facccdc587c">FLEXIO_SPI_SlaveDeinit</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base)</td></tr>
<tr class="memdesc:gab02c0d21cfe44e81a2668facccdc587c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gates the FlexIO clock. <a href="#gab02c0d21cfe44e81a2668facccdc587c">More...</a><br/></td></tr>
<tr class="separator:gab02c0d21cfe44e81a2668facccdc587c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6979876d2c0b4f65deabd6f5ce16d41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gaa6979876d2c0b4f65deabd6f5ce16d41">FLEXIO_SPI_SlaveGetDefaultConfig</a> (<a class="el" href="a00036.html#gad203cea9b4cf3751fd78ddb36653246d">flexio_spi_slave_config_t</a> *slaveConfig)</td></tr>
<tr class="memdesc:gaa6979876d2c0b4f65deabd6f5ce16d41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the default configuration to configure the FlexIO SPI slave. <a href="#gaa6979876d2c0b4f65deabd6f5ce16d41">More...</a><br/></td></tr>
<tr class="separator:gaa6979876d2c0b4f65deabd6f5ce16d41"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Status</h2></td></tr>
<tr class="memitem:ga1b709c34a5861a755ef2365eca4aef6d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga1b709c34a5861a755ef2365eca4aef6d">FLEXIO_SPI_GetStatusFlags</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base)</td></tr>
<tr class="memdesc:ga1b709c34a5861a755ef2365eca4aef6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets FlexIO SPI status flags. <a href="#ga1b709c34a5861a755ef2365eca4aef6d">More...</a><br/></td></tr>
<tr class="separator:ga1b709c34a5861a755ef2365eca4aef6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53311c201694351c61d5d56f2924d73e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga53311c201694351c61d5d56f2924d73e">FLEXIO_SPI_ClearStatusFlags</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga53311c201694351c61d5d56f2924d73e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears FlexIO SPI status flags. <a href="#ga53311c201694351c61d5d56f2924d73e">More...</a><br/></td></tr>
<tr class="separator:ga53311c201694351c61d5d56f2924d73e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Interrupts</h2></td></tr>
<tr class="memitem:ga877ffb51ccf9f5a2ecd5bd5a23f208c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga877ffb51ccf9f5a2ecd5bd5a23f208c3">FLEXIO_SPI_EnableInterrupts</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga877ffb51ccf9f5a2ecd5bd5a23f208c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the FlexIO SPI interrupt. <a href="#ga877ffb51ccf9f5a2ecd5bd5a23f208c3">More...</a><br/></td></tr>
<tr class="separator:ga877ffb51ccf9f5a2ecd5bd5a23f208c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac765a8199e5d7c7546d2b31c06563638"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gac765a8199e5d7c7546d2b31c06563638">FLEXIO_SPI_DisableInterrupts</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, uint32_t mask)</td></tr>
<tr class="memdesc:gac765a8199e5d7c7546d2b31c06563638"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the FlexIO SPI interrupt. <a href="#gac765a8199e5d7c7546d2b31c06563638">More...</a><br/></td></tr>
<tr class="separator:gac765a8199e5d7c7546d2b31c06563638"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
DMA Control</h2></td></tr>
<tr class="memitem:ga584eae5056ceeee0aea9ba9d5e2302ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga584eae5056ceeee0aea9ba9d5e2302ff">FLEXIO_SPI_EnableDMA</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, uint32_t mask, bool enable)</td></tr>
<tr class="memdesc:ga584eae5056ceeee0aea9ba9d5e2302ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the FlexIO SPI transmit DMA. <a href="#ga584eae5056ceeee0aea9ba9d5e2302ff">More...</a><br/></td></tr>
<tr class="separator:ga584eae5056ceeee0aea9ba9d5e2302ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2629d5c8821fe5a2a3496b51dbc99f5"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gac2629d5c8821fe5a2a3496b51dbc99f5">FLEXIO_SPI_GetTxDataRegisterAddress</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a> direction)</td></tr>
<tr class="memdesc:gac2629d5c8821fe5a2a3496b51dbc99f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the FlexIO SPI transmit data register address for MSB first transfer. <a href="#gac2629d5c8821fe5a2a3496b51dbc99f5">More...</a><br/></td></tr>
<tr class="separator:gac2629d5c8821fe5a2a3496b51dbc99f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga061dcced42575767baf53f6b6e5da609"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga061dcced42575767baf53f6b6e5da609">FLEXIO_SPI_GetRxDataRegisterAddress</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a> direction)</td></tr>
<tr class="memdesc:ga061dcced42575767baf53f6b6e5da609"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the FlexIO SPI receive data register address for the MSB first transfer. <a href="#ga061dcced42575767baf53f6b6e5da609">More...</a><br/></td></tr>
<tr class="separator:ga061dcced42575767baf53f6b6e5da609"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Bus Operations</h2></td></tr>
<tr class="memitem:ga68656f6d77e46b59e311e1a97f3b5878"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga68656f6d77e46b59e311e1a97f3b5878">FLEXIO_SPI_Enable</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, bool enable)</td></tr>
<tr class="memdesc:ga68656f6d77e46b59e311e1a97f3b5878"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the FlexIO SPI module operation. <a href="#ga68656f6d77e46b59e311e1a97f3b5878">More...</a><br/></td></tr>
<tr class="separator:ga68656f6d77e46b59e311e1a97f3b5878"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9287322d22895ac0352db5fe0dd909e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gaa9287322d22895ac0352db5fe0dd909e">FLEXIO_SPI_MasterSetBaudRate</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, uint32_t baudRate_Bps, uint32_t srcClockHz)</td></tr>
<tr class="memdesc:gaa9287322d22895ac0352db5fe0dd909e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets baud rate for the FlexIO SPI transfer, which is only used for the master. <a href="#gaa9287322d22895ac0352db5fe0dd909e">More...</a><br/></td></tr>
<tr class="separator:gaa9287322d22895ac0352db5fe0dd909e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8d90deb9e0a4ae7ee4564125218ed29"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gab8d90deb9e0a4ae7ee4564125218ed29">FLEXIO_SPI_WriteData</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a> direction, uint32_t data)</td></tr>
<tr class="memdesc:gab8d90deb9e0a4ae7ee4564125218ed29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes one byte of data, which is sent using the MSB method. <a href="#gab8d90deb9e0a4ae7ee4564125218ed29">More...</a><br/></td></tr>
<tr class="separator:gab8d90deb9e0a4ae7ee4564125218ed29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14411234ecd9a094371d27405ad990cd"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga14411234ecd9a094371d27405ad990cd">FLEXIO_SPI_ReadData</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a> direction)</td></tr>
<tr class="memdesc:ga14411234ecd9a094371d27405ad990cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads 8 bit/16 bit data. <a href="#ga14411234ecd9a094371d27405ad990cd">More...</a><br/></td></tr>
<tr class="separator:ga14411234ecd9a094371d27405ad990cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ddf107d6d5a9d4b6b33a7a07a7679b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga0ddf107d6d5a9d4b6b33a7a07a7679b2">FLEXIO_SPI_WriteBlocking</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a> direction, const uint8_t *buffer, size_t size)</td></tr>
<tr class="memdesc:ga0ddf107d6d5a9d4b6b33a7a07a7679b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a buffer of data bytes. <a href="#ga0ddf107d6d5a9d4b6b33a7a07a7679b2">More...</a><br/></td></tr>
<tr class="separator:ga0ddf107d6d5a9d4b6b33a7a07a7679b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeead8252ae85745aa02f56baffb4df12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gaeead8252ae85745aa02f56baffb4df12">FLEXIO_SPI_ReadBlocking</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a> direction, uint8_t *buffer, size_t size)</td></tr>
<tr class="memdesc:gaeead8252ae85745aa02f56baffb4df12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receives a buffer of bytes. <a href="#gaeead8252ae85745aa02f56baffb4df12">More...</a><br/></td></tr>
<tr class="separator:gaeead8252ae85745aa02f56baffb4df12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae02f160899c2ccb93651e4bac473b65e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gae02f160899c2ccb93651e4bac473b65e">FLEXIO_SPI_MasterTransferBlocking</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#gac381494803bf8b1c2dd9be82bae1f849">flexio_spi_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:gae02f160899c2ccb93651e4bac473b65e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receives a buffer of bytes. <a href="#gae02f160899c2ccb93651e4bac473b65e">More...</a><br/></td></tr>
<tr class="separator:gae02f160899c2ccb93651e4bac473b65e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4de03d39977efdcd5292cfb8f0da2189"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga4de03d39977efdcd5292cfb8f0da2189">FLEXIO_SPI_FlushShifters</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base)</td></tr>
<tr class="memdesc:ga4de03d39977efdcd5292cfb8f0da2189"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush tx/rx shifters. <a href="#ga4de03d39977efdcd5292cfb8f0da2189">More...</a><br/></td></tr>
<tr class="separator:ga4de03d39977efdcd5292cfb8f0da2189"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Transactional</h2></td></tr>
<tr class="memitem:ga0123f1825a83093ad07377d86f4e2bf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga0123f1825a83093ad07377d86f4e2bf1">FLEXIO_SPI_MasterTransferCreateHandle</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a> *handle, <a class="el" href="a00036.html#ga9c8b509b90588dea1921de0bdb3cfec8">flexio_spi_master_transfer_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:ga0123f1825a83093ad07377d86f4e2bf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the FlexIO SPI Master handle, which is used in transactional functions. <a href="#ga0123f1825a83093ad07377d86f4e2bf1">More...</a><br/></td></tr>
<tr class="separator:ga0123f1825a83093ad07377d86f4e2bf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcfcbee985cb49bdbd02ab1698d2c041"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gabcfcbee985cb49bdbd02ab1698d2c041">FLEXIO_SPI_MasterTransferNonBlocking</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a> *handle, <a class="el" href="a00036.html#gac381494803bf8b1c2dd9be82bae1f849">flexio_spi_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:gabcfcbee985cb49bdbd02ab1698d2c041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Master transfer data using IRQ. <a href="#gabcfcbee985cb49bdbd02ab1698d2c041">More...</a><br/></td></tr>
<tr class="separator:gabcfcbee985cb49bdbd02ab1698d2c041"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ee4149cd9c0bab50f91eaf6322ccd45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga7ee4149cd9c0bab50f91eaf6322ccd45">FLEXIO_SPI_MasterTransferAbort</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga7ee4149cd9c0bab50f91eaf6322ccd45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the master data transfer, which used IRQ. <a href="#ga7ee4149cd9c0bab50f91eaf6322ccd45">More...</a><br/></td></tr>
<tr class="separator:ga7ee4149cd9c0bab50f91eaf6322ccd45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f8d610d6492109468d6a225ef01043d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga5f8d610d6492109468d6a225ef01043d">FLEXIO_SPI_MasterTransferGetCount</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a> *handle, size_t *count)</td></tr>
<tr class="memdesc:ga5f8d610d6492109468d6a225ef01043d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the data transfer status which used IRQ. <a href="#ga5f8d610d6492109468d6a225ef01043d">More...</a><br/></td></tr>
<tr class="separator:ga5f8d610d6492109468d6a225ef01043d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39784af602890dbc1aff6d23b29b7e19"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga39784af602890dbc1aff6d23b29b7e19">FLEXIO_SPI_MasterTransferHandleIRQ</a> (void *spiType, void *spiHandle)</td></tr>
<tr class="memdesc:ga39784af602890dbc1aff6d23b29b7e19"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI master IRQ handler function. <a href="#ga39784af602890dbc1aff6d23b29b7e19">More...</a><br/></td></tr>
<tr class="separator:ga39784af602890dbc1aff6d23b29b7e19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76d12767d4023268a3aa9cde5e072b29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga76d12767d4023268a3aa9cde5e072b29">FLEXIO_SPI_SlaveTransferCreateHandle</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *handle, <a class="el" href="a00036.html#gad2accadc980b51b0d65e41d122abe261">flexio_spi_slave_transfer_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:ga76d12767d4023268a3aa9cde5e072b29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the FlexIO SPI Slave handle, which is used in transactional functions. <a href="#ga76d12767d4023268a3aa9cde5e072b29">More...</a><br/></td></tr>
<tr class="separator:ga76d12767d4023268a3aa9cde5e072b29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d1ef8b373c56f48d98612f5c3047f8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga9d1ef8b373c56f48d98612f5c3047f8c">FLEXIO_SPI_SlaveTransferNonBlocking</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *handle, <a class="el" href="a00036.html#gac381494803bf8b1c2dd9be82bae1f849">flexio_spi_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga9d1ef8b373c56f48d98612f5c3047f8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slave transfer data using IRQ. <a href="#ga9d1ef8b373c56f48d98612f5c3047f8c">More...</a><br/></td></tr>
<tr class="separator:ga9d1ef8b373c56f48d98612f5c3047f8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34dea4bdd2c52597711068bed5c45958"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ga34dea4bdd2c52597711068bed5c45958">FLEXIO_SPI_SlaveTransferAbort</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga34dea4bdd2c52597711068bed5c45958"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the slave data transfer which used IRQ, share same API with master. <a href="#ga34dea4bdd2c52597711068bed5c45958">More...</a><br/></td></tr>
<tr class="separator:ga34dea4bdd2c52597711068bed5c45958"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3354dda8f6fdce0f6a58b1933d56ee9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gae3354dda8f6fdce0f6a58b1933d56ee9">FLEXIO_SPI_SlaveTransferGetCount</a> (<a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *base, <a class="el" href="a00036.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *handle, size_t *count)</td></tr>
<tr class="memdesc:gae3354dda8f6fdce0f6a58b1933d56ee9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the data transfer status which used IRQ, share same API with master. <a href="#gae3354dda8f6fdce0f6a58b1933d56ee9">More...</a><br/></td></tr>
<tr class="separator:gae3354dda8f6fdce0f6a58b1933d56ee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf620bb7c2bf87c781f93f8a5f23c49d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#gaf620bb7c2bf87c781f93f8a5f23c49d4">FLEXIO_SPI_SlaveTransferHandleIRQ</a> (void *spiType, void *spiHandle)</td></tr>
<tr class="memdesc:gaf620bb7c2bf87c781f93f8a5f23c49d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI slave IRQ handler function. <a href="#gaf620bb7c2bf87c781f93f8a5f23c49d4">More...</a><br/></td></tr>
<tr class="separator:gaf620bb7c2bf87c781f93f8a5f23c49d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00409" id="a00409"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _flexio_spi_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:a4dc08bcdfef224a823fe5655f1351079"><td class="memItemLeft" align="right" valign="top">FLEXIO_Type *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a4dc08bcdfef224a823fe5655f1351079">flexioBase</a></td></tr>
<tr class="memdesc:a4dc08bcdfef224a823fe5655f1351079"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO base pointer. <a href="#a4dc08bcdfef224a823fe5655f1351079">More...</a><br/></td></tr>
<tr class="separator:a4dc08bcdfef224a823fe5655f1351079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13c3a1fc33229ca2958e0a74c6675dc4"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a13c3a1fc33229ca2958e0a74c6675dc4">SDOPinIndex</a></td></tr>
<tr class="memdesc:a13c3a1fc33229ca2958e0a74c6675dc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin select for data output. <a href="#a13c3a1fc33229ca2958e0a74c6675dc4">More...</a><br/></td></tr>
<tr class="separator:a13c3a1fc33229ca2958e0a74c6675dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27df7a01b0fed892b728fe34587fe983"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a27df7a01b0fed892b728fe34587fe983">SDIPinIndex</a></td></tr>
<tr class="memdesc:a27df7a01b0fed892b728fe34587fe983"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin select for data input. <a href="#a27df7a01b0fed892b728fe34587fe983">More...</a><br/></td></tr>
<tr class="separator:a27df7a01b0fed892b728fe34587fe983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab045d54defde2a17569dba649a4a7b2a"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ab045d54defde2a17569dba649a4a7b2a">SCKPinIndex</a></td></tr>
<tr class="memdesc:ab045d54defde2a17569dba649a4a7b2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin select for clock. <a href="#ab045d54defde2a17569dba649a4a7b2a">More...</a><br/></td></tr>
<tr class="separator:ab045d54defde2a17569dba649a4a7b2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae876af2d130b3624acc52b97a3aff3bf"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ae876af2d130b3624acc52b97a3aff3bf">CSnPinIndex</a></td></tr>
<tr class="memdesc:ae876af2d130b3624acc52b97a3aff3bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin select for enable. <a href="#ae876af2d130b3624acc52b97a3aff3bf">More...</a><br/></td></tr>
<tr class="separator:ae876af2d130b3624acc52b97a3aff3bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b4806ac616f6fbbab5edb677cf4561c"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a8b4806ac616f6fbbab5edb677cf4561c">shifterIndex</a> [2]</td></tr>
<tr class="memdesc:a8b4806ac616f6fbbab5edb677cf4561c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifter index used in FlexIO SPI. <a href="#a8b4806ac616f6fbbab5edb677cf4561c">More...</a><br/></td></tr>
<tr class="separator:a8b4806ac616f6fbbab5edb677cf4561c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24ab8783c327151df41d4cd5fe0c9f30"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a24ab8783c327151df41d4cd5fe0c9f30">timerIndex</a> [2]</td></tr>
<tr class="memdesc:a24ab8783c327151df41d4cd5fe0c9f30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer index used in FlexIO SPI. <a href="#a24ab8783c327151df41d4cd5fe0c9f30">More...</a><br/></td></tr>
<tr class="separator:a24ab8783c327151df41d4cd5fe0c9f30"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a4dc08bcdfef224a823fe5655f1351079"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FLEXIO_Type* _flexio_spi_type::flexioBase</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a13c3a1fc33229ca2958e0a74c6675dc4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _flexio_spi_type::SDOPinIndex</td>
</tr>
</table>
</div><div class="memdoc">
<p>To set SDO pin in Hi-Z state, user needs to mux the pin as GPIO input and disable all pull up/down in application. </p>
</div>
</div>
<a class="anchor" id="a27df7a01b0fed892b728fe34587fe983"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _flexio_spi_type::SDIPinIndex</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab045d54defde2a17569dba649a4a7b2a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _flexio_spi_type::SCKPinIndex</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae876af2d130b3624acc52b97a3aff3bf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _flexio_spi_type::CSnPinIndex</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8b4806ac616f6fbbab5edb677cf4561c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _flexio_spi_type::shifterIndex[2]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a24ab8783c327151df41d4cd5fe0c9f30"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _flexio_spi_type::timerIndex[2]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00404" id="a00404"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _flexio_spi_master_config</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a567386226d7df91faf4d60b9b3005cb9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a567386226d7df91faf4d60b9b3005cb9">enableMaster</a></td></tr>
<tr class="memdesc:a567386226d7df91faf4d60b9b3005cb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO SPI master after configuration. <a href="#a567386226d7df91faf4d60b9b3005cb9">More...</a><br/></td></tr>
<tr class="separator:a567386226d7df91faf4d60b9b3005cb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac278230317cf87c458c532bc22d4da8c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ac278230317cf87c458c532bc22d4da8c">enableInDoze</a></td></tr>
<tr class="memdesc:ac278230317cf87c458c532bc22d4da8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO operation in doze mode. <a href="#ac278230317cf87c458c532bc22d4da8c">More...</a><br/></td></tr>
<tr class="separator:ac278230317cf87c458c532bc22d4da8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bde3f256e4ab5e75790c4eb5d2ec91c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a3bde3f256e4ab5e75790c4eb5d2ec91c">enableInDebug</a></td></tr>
<tr class="memdesc:a3bde3f256e4ab5e75790c4eb5d2ec91c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO operation in debug mode. <a href="#a3bde3f256e4ab5e75790c4eb5d2ec91c">More...</a><br/></td></tr>
<tr class="separator:a3bde3f256e4ab5e75790c4eb5d2ec91c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1812dbcee1a3125fea63d5ab97bfcb5e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a1812dbcee1a3125fea63d5ab97bfcb5e">enableFastAccess</a></td></tr>
<tr class="memdesc:a1812dbcee1a3125fea63d5ab97bfcb5e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><pre class="fragment"> Enable/disable fast access to FlexIO registers,
</pre><p> fast access requires the FlexIO clock to be at least twice the frequency of the bus clock. <a href="#a1812dbcee1a3125fea63d5ab97bfcb5e">More...</a><br/></td></tr>
<tr class="separator:a1812dbcee1a3125fea63d5ab97bfcb5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b29db4775a69b9a97ec326da0d14d25"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a0b29db4775a69b9a97ec326da0d14d25">baudRate_Bps</a></td></tr>
<tr class="memdesc:a0b29db4775a69b9a97ec326da0d14d25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Baud rate in Bps. <a href="#a0b29db4775a69b9a97ec326da0d14d25">More...</a><br/></td></tr>
<tr class="separator:a0b29db4775a69b9a97ec326da0d14d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ef09b527bdeaca4a6cd0af74174ee18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00036.html#gaf8848e79c5dc0c60907289557dca3acf">flexio_spi_clock_phase_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a1ef09b527bdeaca4a6cd0af74174ee18">phase</a></td></tr>
<tr class="memdesc:a1ef09b527bdeaca4a6cd0af74174ee18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clock phase. <a href="#a1ef09b527bdeaca4a6cd0af74174ee18">More...</a><br/></td></tr>
<tr class="separator:a1ef09b527bdeaca4a6cd0af74174ee18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e294aa10c5ec01a08f7aa86b27d6b81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00036.html#ga35007f9d18a27c436b3342cd87d07763">flexio_spi_data_bitcount_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a6e294aa10c5ec01a08f7aa86b27d6b81">dataMode</a></td></tr>
<tr class="memdesc:a6e294aa10c5ec01a08f7aa86b27d6b81"><td class="mdescLeft">&#160;</td><td class="mdescRight">8bit or 16bit mode. <a href="#a6e294aa10c5ec01a08f7aa86b27d6b81">More...</a><br/></td></tr>
<tr class="separator:a6e294aa10c5ec01a08f7aa86b27d6b81"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a567386226d7df91faf4d60b9b3005cb9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _flexio_spi_master_config::enableMaster</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac278230317cf87c458c532bc22d4da8c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _flexio_spi_master_config::enableInDoze</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3bde3f256e4ab5e75790c4eb5d2ec91c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _flexio_spi_master_config::enableInDebug</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1812dbcee1a3125fea63d5ab97bfcb5e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _flexio_spi_master_config::enableFastAccess</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0b29db4775a69b9a97ec326da0d14d25"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _flexio_spi_master_config::baudRate_Bps</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1ef09b527bdeaca4a6cd0af74174ee18"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00036.html#gaf8848e79c5dc0c60907289557dca3acf">flexio_spi_clock_phase_t</a> _flexio_spi_master_config::phase</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6e294aa10c5ec01a08f7aa86b27d6b81"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00036.html#ga35007f9d18a27c436b3342cd87d07763">flexio_spi_data_bitcount_mode_t</a> _flexio_spi_master_config::dataMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00407" id="a00407"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _flexio_spi_slave_config</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:ae499fbfb72599cb20bce91435aa523ae"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ae499fbfb72599cb20bce91435aa523ae">enableSlave</a></td></tr>
<tr class="memdesc:ae499fbfb72599cb20bce91435aa523ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO SPI slave after configuration. <a href="#ae499fbfb72599cb20bce91435aa523ae">More...</a><br/></td></tr>
<tr class="separator:ae499fbfb72599cb20bce91435aa523ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9fca18ad65df7eb3b2391d780def4eb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#aa9fca18ad65df7eb3b2391d780def4eb">enableInDoze</a></td></tr>
<tr class="memdesc:aa9fca18ad65df7eb3b2391d780def4eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO operation in doze mode. <a href="#aa9fca18ad65df7eb3b2391d780def4eb">More...</a><br/></td></tr>
<tr class="separator:aa9fca18ad65df7eb3b2391d780def4eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91046bd3f90ec29de679e20721ee5b72"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a91046bd3f90ec29de679e20721ee5b72">enableInDebug</a></td></tr>
<tr class="memdesc:a91046bd3f90ec29de679e20721ee5b72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO operation in debug mode. <a href="#a91046bd3f90ec29de679e20721ee5b72">More...</a><br/></td></tr>
<tr class="separator:a91046bd3f90ec29de679e20721ee5b72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb6362ae39a47f90dd92103c2af70f0b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#adb6362ae39a47f90dd92103c2af70f0b">enableFastAccess</a></td></tr>
<tr class="memdesc:adb6362ae39a47f90dd92103c2af70f0b"><td class="mdescLeft">&#160;</td><td class="mdescRight"><pre class="fragment"> Enable/disable fast access to FlexIO registers,
</pre><p> fast access requires the FlexIO clock to be at least twice the frequency of the bus clock. <a href="#adb6362ae39a47f90dd92103c2af70f0b">More...</a><br/></td></tr>
<tr class="separator:adb6362ae39a47f90dd92103c2af70f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a734c4f75ee49fb5207b633c727481fde"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00036.html#gaf8848e79c5dc0c60907289557dca3acf">flexio_spi_clock_phase_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a734c4f75ee49fb5207b633c727481fde">phase</a></td></tr>
<tr class="memdesc:a734c4f75ee49fb5207b633c727481fde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clock phase. <a href="#a734c4f75ee49fb5207b633c727481fde">More...</a><br/></td></tr>
<tr class="separator:a734c4f75ee49fb5207b633c727481fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3613b4e5b514b11026f91692d5e24080"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00036.html#ga35007f9d18a27c436b3342cd87d07763">flexio_spi_data_bitcount_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a3613b4e5b514b11026f91692d5e24080">dataMode</a></td></tr>
<tr class="memdesc:a3613b4e5b514b11026f91692d5e24080"><td class="mdescLeft">&#160;</td><td class="mdescRight">8bit or 16bit mode. <a href="#a3613b4e5b514b11026f91692d5e24080">More...</a><br/></td></tr>
<tr class="separator:a3613b4e5b514b11026f91692d5e24080"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="ae499fbfb72599cb20bce91435aa523ae"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _flexio_spi_slave_config::enableSlave</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa9fca18ad65df7eb3b2391d780def4eb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _flexio_spi_slave_config::enableInDoze</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a91046bd3f90ec29de679e20721ee5b72"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _flexio_spi_slave_config::enableInDebug</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="adb6362ae39a47f90dd92103c2af70f0b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _flexio_spi_slave_config::enableFastAccess</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a734c4f75ee49fb5207b633c727481fde"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00036.html#gaf8848e79c5dc0c60907289557dca3acf">flexio_spi_clock_phase_t</a> _flexio_spi_slave_config::phase</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3613b4e5b514b11026f91692d5e24080"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00036.html#ga35007f9d18a27c436b3342cd87d07763">flexio_spi_data_bitcount_mode_t</a> _flexio_spi_slave_config::dataMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00408" id="a00408"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _flexio_spi_transfer</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:a25d9c2eba39a591d122105446594d628"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a25d9c2eba39a591d122105446594d628">txData</a></td></tr>
<tr class="memdesc:a25d9c2eba39a591d122105446594d628"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send buffer. <a href="#a25d9c2eba39a591d122105446594d628">More...</a><br/></td></tr>
<tr class="separator:a25d9c2eba39a591d122105446594d628"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5790b55749df9533289b7a3df2a2a62e"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a5790b55749df9533289b7a3df2a2a62e">rxData</a></td></tr>
<tr class="memdesc:a5790b55749df9533289b7a3df2a2a62e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive buffer. <a href="#a5790b55749df9533289b7a3df2a2a62e">More...</a><br/></td></tr>
<tr class="separator:a5790b55749df9533289b7a3df2a2a62e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ef46e695ae4a85fd4eb767b359bc949"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a5ef46e695ae4a85fd4eb767b359bc949">dataSize</a></td></tr>
<tr class="memdesc:a5ef46e695ae4a85fd4eb767b359bc949"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer bytes. <a href="#a5ef46e695ae4a85fd4eb767b359bc949">More...</a><br/></td></tr>
<tr class="separator:a5ef46e695ae4a85fd4eb767b359bc949"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0287079938a673a719ab4efc7e185e15"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a0287079938a673a719ab4efc7e185e15">flags</a></td></tr>
<tr class="memdesc:a0287079938a673a719ab4efc7e185e15"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI control flag, MSB first or LSB first. <a href="#a0287079938a673a719ab4efc7e185e15">More...</a><br/></td></tr>
<tr class="separator:a0287079938a673a719ab4efc7e185e15"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a25d9c2eba39a591d122105446594d628"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* _flexio_spi_transfer::txData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5790b55749df9533289b7a3df2a2a62e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* _flexio_spi_transfer::rxData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5ef46e695ae4a85fd4eb767b359bc949"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t _flexio_spi_transfer::dataSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0287079938a673a719ab4efc7e185e15"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t _flexio_spi_transfer::flags</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00406" id="a00406"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _flexio_spi_master_handle</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:a7ac65bf28b4ef86c5635ecaecc0e68b6"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a7ac65bf28b4ef86c5635ecaecc0e68b6">txData</a></td></tr>
<tr class="memdesc:a7ac65bf28b4ef86c5635ecaecc0e68b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer buffer. <a href="#a7ac65bf28b4ef86c5635ecaecc0e68b6">More...</a><br/></td></tr>
<tr class="separator:a7ac65bf28b4ef86c5635ecaecc0e68b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61c91cb060d0f514dc9408dda09bea9f"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a61c91cb060d0f514dc9408dda09bea9f">rxData</a></td></tr>
<tr class="memdesc:a61c91cb060d0f514dc9408dda09bea9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive buffer. <a href="#a61c91cb060d0f514dc9408dda09bea9f">More...</a><br/></td></tr>
<tr class="separator:a61c91cb060d0f514dc9408dda09bea9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0907f74a10d6b516058f9275b08d6013"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a0907f74a10d6b516058f9275b08d6013">transferSize</a></td></tr>
<tr class="memdesc:a0907f74a10d6b516058f9275b08d6013"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total bytes to be transferred. <a href="#a0907f74a10d6b516058f9275b08d6013">More...</a><br/></td></tr>
<tr class="separator:a0907f74a10d6b516058f9275b08d6013"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f76b4e4c94aa41b259ec8deec2fbb19"><td class="memItemLeft" align="right" valign="top">volatile size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a4f76b4e4c94aa41b259ec8deec2fbb19">txRemainingBytes</a></td></tr>
<tr class="memdesc:a4f76b4e4c94aa41b259ec8deec2fbb19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send data remaining in bytes. <a href="#a4f76b4e4c94aa41b259ec8deec2fbb19">More...</a><br/></td></tr>
<tr class="separator:a4f76b4e4c94aa41b259ec8deec2fbb19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9916bce5bb037e40583016f2af53f59c"><td class="memItemLeft" align="right" valign="top">volatile size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a9916bce5bb037e40583016f2af53f59c">rxRemainingBytes</a></td></tr>
<tr class="memdesc:a9916bce5bb037e40583016f2af53f59c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive data remaining in bytes. <a href="#a9916bce5bb037e40583016f2af53f59c">More...</a><br/></td></tr>
<tr class="separator:a9916bce5bb037e40583016f2af53f59c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a656eb9c3108db3cb9d1afe15cc8aa0ff"><td class="memItemLeft" align="right" valign="top">volatile uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a656eb9c3108db3cb9d1afe15cc8aa0ff">state</a></td></tr>
<tr class="memdesc:a656eb9c3108db3cb9d1afe15cc8aa0ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI internal state. <a href="#a656eb9c3108db3cb9d1afe15cc8aa0ff">More...</a><br/></td></tr>
<tr class="separator:a656eb9c3108db3cb9d1afe15cc8aa0ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1f02bf197fab7d9163df46a1b4abef2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1f02bf197fab7d9163df46a1b4abef2"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#ae1f02bf197fab7d9163df46a1b4abef2">bytePerFrame</a></td></tr>
<tr class="memdesc:ae1f02bf197fab7d9163df46a1b4abef2"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI mode, 2bytes or 1byte in a frame. <br/></td></tr>
<tr class="separator:ae1f02bf197fab7d9163df46a1b4abef2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30994854f66b9fac60f38871fcafc7f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a30994854f66b9fac60f38871fcafc7f5">direction</a></td></tr>
<tr class="memdesc:a30994854f66b9fac60f38871fcafc7f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shift direction. <a href="#a30994854f66b9fac60f38871fcafc7f5">More...</a><br/></td></tr>
<tr class="separator:a30994854f66b9fac60f38871fcafc7f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf93396cda91ca91dca225f8c572a493"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00036.html#ga9c8b509b90588dea1921de0bdb3cfec8">flexio_spi_master_transfer_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#adf93396cda91ca91dca225f8c572a493">callback</a></td></tr>
<tr class="memdesc:adf93396cda91ca91dca225f8c572a493"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI callback. <a href="#adf93396cda91ca91dca225f8c572a493">More...</a><br/></td></tr>
<tr class="separator:adf93396cda91ca91dca225f8c572a493"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e1d615968076345696ea1dda6c62cc2"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#a3e1d615968076345696ea1dda6c62cc2">userData</a></td></tr>
<tr class="memdesc:a3e1d615968076345696ea1dda6c62cc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback parameter. <a href="#a3e1d615968076345696ea1dda6c62cc2">More...</a><br/></td></tr>
<tr class="separator:a3e1d615968076345696ea1dda6c62cc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a7ac65bf28b4ef86c5635ecaecc0e68b6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* _flexio_spi_master_handle::txData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a61c91cb060d0f514dc9408dda09bea9f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* _flexio_spi_master_handle::rxData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0907f74a10d6b516058f9275b08d6013"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t _flexio_spi_master_handle::transferSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4f76b4e4c94aa41b259ec8deec2fbb19"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile size_t _flexio_spi_master_handle::txRemainingBytes</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9916bce5bb037e40583016f2af53f59c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile size_t _flexio_spi_master_handle::rxRemainingBytes</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a656eb9c3108db3cb9d1afe15cc8aa0ff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint32_t _flexio_spi_master_handle::state</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a30994854f66b9fac60f38871fcafc7f5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a> _flexio_spi_master_handle::direction</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="adf93396cda91ca91dca225f8c572a493"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00036.html#ga9c8b509b90588dea1921de0bdb3cfec8">flexio_spi_master_transfer_callback_t</a> _flexio_spi_master_handle::callback</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3e1d615968076345696ea1dda6c62cc2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* _flexio_spi_master_handle::userData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gadd4392d8b86be4236270866fa214dcbe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_FLEXIO_SPI_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="a00272.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 3, 3))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gad411a43e379e70215b462831b24c5c5b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FLEXIO_SPI_DUMMYDATA&#160;&#160;&#160;(0x00U)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gaa4717c15ca9604c505a5e5c60df29ebe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SPI_RETRY_TIMES&#160;&#160;&#160;0U /* Define to zero means keep waiting until the flag is assert/deassert. */</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga7b59f53366b1e5bb10a0491a20543382"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FLEXIO_SPI_XFER_DATA_FORMAT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">flag</td><td>)</td>
<td>&#160;&#160;&#160;((flag) &amp; (0x7U))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gaf8848e79c5dc0c60907289557dca3acf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00036.html#ga8766d433030d910dc953df84de513e94">_flexio_spi_clock_phase</a> <a class="el" href="a00036.html#gaf8848e79c5dc0c60907289557dca3acf">flexio_spi_clock_phase_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga8ee59b2ba60e4cfd1fcdd5f403968759"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00036.html#ga94c0a678c0641bdad93ff2e6d8512301">_flexio_spi_shift_direction</a> <a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga35007f9d18a27c436b3342cd87d07763"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00036.html#gacb3d3ee6ee94929d708ec78489a83909">_flexio_spi_data_bitcount_mode</a> <a class="el" href="a00036.html#ga35007f9d18a27c436b3342cd87d07763">flexio_spi_data_bitcount_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gabbf9b6da1adb43559aa1b75433cdd7d1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00036.html#a00409">_flexio_spi_type</a> <a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gaec04efd2d8f6c4782eba4a1fe22387c0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00036.html#a00404">_flexio_spi_master_config</a> <a class="el" href="a00036.html#gaec04efd2d8f6c4782eba4a1fe22387c0">flexio_spi_master_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gad203cea9b4cf3751fd78ddb36653246d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00036.html#a00407">_flexio_spi_slave_config</a> <a class="el" href="a00036.html#gad203cea9b4cf3751fd78ddb36653246d">flexio_spi_slave_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gac381494803bf8b1c2dd9be82bae1f849"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00036.html#a00408">_flexio_spi_transfer</a> <a class="el" href="a00036.html#gac381494803bf8b1c2dd9be82bae1f849">flexio_spi_transfer_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gae91f9b442547c1143f1d0a19deee74a2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00036.html#a00406">_flexio_spi_master_handle</a> <a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga1950678efd37cb3665e303e094cec428"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a> <a class="el" href="a00036.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga77867ab4129f63159b37bca3b652a798"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</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="gga77867ab4129f63159b37bca3b652a798a9fd2c82e84cdc65b4c2d7c3d335bc4e1"></a>kStatus_FLEXIO_SPI_Busy</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI is busy. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga77867ab4129f63159b37bca3b652a798a69ccc78c05f6f6ed17f4d48e20323ec8"></a>kStatus_FLEXIO_SPI_Idle</em>&nbsp;</td><td class="fielddoc">
<p>SPI is idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga77867ab4129f63159b37bca3b652a798a4ae19baeae73d05d2dcf34dc4c54c6c4"></a>kStatus_FLEXIO_SPI_Error</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga77867ab4129f63159b37bca3b652a798ae001cfaa37d2b750cd88808cbc3d7522"></a>kStatus_FLEXIO_SPI_Timeout</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI timeout polling status flags. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga8766d433030d910dc953df84de513e94"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00036.html#ga8766d433030d910dc953df84de513e94">_flexio_spi_clock_phase</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="gga8766d433030d910dc953df84de513e94ad07a920661cea5317982da4405bfd9e1"></a>kFLEXIO_SPI_ClockPhaseFirstEdge</em>&nbsp;</td><td class="fielddoc">
<p>First edge on SPSCK occurs at the middle of the first cycle of a data transfer. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga8766d433030d910dc953df84de513e94a9d85a76b5ce670c1d47e5f95f4a46e6c"></a>kFLEXIO_SPI_ClockPhaseSecondEdge</em>&nbsp;</td><td class="fielddoc">
<p>First edge on SPSCK occurs at the start of the first cycle of a data transfer. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga94c0a678c0641bdad93ff2e6d8512301"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00036.html#ga94c0a678c0641bdad93ff2e6d8512301">_flexio_spi_shift_direction</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga94c0a678c0641bdad93ff2e6d8512301ad6c96f26bda5bc22af19be1e7906f3f2"></a>kFLEXIO_SPI_MsbFirst</em>&nbsp;</td><td class="fielddoc">
<p>Data transfers start with most significant bit. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga94c0a678c0641bdad93ff2e6d8512301aa2a981323f199d9359c61d39cb059795"></a>kFLEXIO_SPI_LsbFirst</em>&nbsp;</td><td class="fielddoc">
<p>Data transfers start with least significant bit. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gacb3d3ee6ee94929d708ec78489a83909"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00036.html#gacb3d3ee6ee94929d708ec78489a83909">_flexio_spi_data_bitcount_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggacb3d3ee6ee94929d708ec78489a83909aef0c633539e44547b47ad7b754234752"></a>kFLEXIO_SPI_8BitMode</em>&nbsp;</td><td class="fielddoc">
<p>8-bit data transmission mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggacb3d3ee6ee94929d708ec78489a83909a343c7a9db539019f0c99fb82b4adab35"></a>kFLEXIO_SPI_16BitMode</em>&nbsp;</td><td class="fielddoc">
<p>16-bit data transmission mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggacb3d3ee6ee94929d708ec78489a83909a7f4a057b24ac43b60fa4795d2a79b25a"></a>kFLEXIO_SPI_32BitMode</em>&nbsp;</td><td class="fielddoc">
<p>32-bit data transmission mode. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga239e9a0ff79e0d36ecf6ae7c68dfd357"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00036.html#ga239e9a0ff79e0d36ecf6ae7c68dfd357">_flexio_spi_interrupt_enable</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga239e9a0ff79e0d36ecf6ae7c68dfd357a5243ceb746eebfdeef2ba2d791e32ff9"></a>kFLEXIO_SPI_TxEmptyInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Transmit buffer empty interrupt enable. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga239e9a0ff79e0d36ecf6ae7c68dfd357a3431c6c1875a70da30cba8b4185ad183"></a>kFLEXIO_SPI_RxFullInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Receive buffer full interrupt enable. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga5dec706a17cf2b92ef701f684503d4b2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00036.html#ga5dec706a17cf2b92ef701f684503d4b2">_flexio_spi_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="gga5dec706a17cf2b92ef701f684503d4b2a80c0db2a058d82d018b2e8bc76f1aa6b"></a>kFLEXIO_SPI_TxBufferEmptyFlag</em>&nbsp;</td><td class="fielddoc">
<p>Transmit buffer empty flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga5dec706a17cf2b92ef701f684503d4b2aa679f6244353e98ace08ec5d0281851b"></a>kFLEXIO_SPI_RxBufferFullFlag</em>&nbsp;</td><td class="fielddoc">
<p>Receive buffer full flag. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga713aa7c7a59e84b9fdafb2923de177ef"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00036.html#ga713aa7c7a59e84b9fdafb2923de177ef">_flexio_spi_dma_enable</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga713aa7c7a59e84b9fdafb2923de177efa4cdf95c3f7a1b9ae7931166a8abe1542"></a>kFLEXIO_SPI_TxDmaEnable</em>&nbsp;</td><td class="fielddoc">
<p>Tx DMA request source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga713aa7c7a59e84b9fdafb2923de177efa002de6d16630e5d11d94b871da9a8fbd"></a>kFLEXIO_SPI_RxDmaEnable</em>&nbsp;</td><td class="fielddoc">
<p>Rx DMA request source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga713aa7c7a59e84b9fdafb2923de177efa6b4ccfcf63573b0a3b281c32c4913f49"></a>kFLEXIO_SPI_DmaAllEnable</em>&nbsp;</td><td class="fielddoc">
<p>All DMA request source. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gabf4ebfbc0d68b969e1b7dd838c45512d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00036.html#gabf4ebfbc0d68b969e1b7dd838c45512d">_flexio_spi_transfer_flags</a></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>Use kFLEXIO_SPI_csContinuous and one of the other flags to OR together to form the transfer flag. </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggabf4ebfbc0d68b969e1b7dd838c45512da7979c2a48d6662af1777827c1afa5537"></a>kFLEXIO_SPI_8bitMsb</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI 8-bit MSB first. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabf4ebfbc0d68b969e1b7dd838c45512da1d31a5996c45efebdc7aeb1a894647f8"></a>kFLEXIO_SPI_8bitLsb</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI 8-bit LSB first. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabf4ebfbc0d68b969e1b7dd838c45512dabeb4baa55114987385ab398ceda142f9"></a>kFLEXIO_SPI_16bitMsb</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI 16-bit MSB first. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabf4ebfbc0d68b969e1b7dd838c45512dad6774d8673e5aa247be136e38c8fad91"></a>kFLEXIO_SPI_16bitLsb</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI 16-bit LSB first. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabf4ebfbc0d68b969e1b7dd838c45512da79f81ba5984c5821bf9c42b0f3a3a4c1"></a>kFLEXIO_SPI_32bitMsb</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI 32-bit MSB first. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabf4ebfbc0d68b969e1b7dd838c45512daca30199b74b090f722c32b03b2762ac9"></a>kFLEXIO_SPI_32bitLsb</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI 32-bit LSB first. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabf4ebfbc0d68b969e1b7dd838c45512da9ee2a3142a3bc89e1ff4d645d9118287"></a>kFLEXIO_SPI_csContinuous</em>&nbsp;</td><td class="fielddoc">
<p>Enable the CS signal continuous mode. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gacc68d67c46d897e6e9b2268c0fe999d2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#gaec04efd2d8f6c4782eba4a1fe22387c0">flexio_spi_master_config_t</a> *&#160;</td>
<td class="paramname"><em>masterConfig</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>srcClock_Hz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The configuration structure can be filled by the user, or be set with default values by the <a class="el" href="a00036.html#ga2d99f8a94f95262fc821b42e3812ee7e" title="Gets the default configuration to configure the FlexIO SPI master. ">FLEXIO_SPI_MasterGetDefaultConfig()</a>.</p>
<dl class="section note"><dt>Note</dt><dd>1.FlexIO SPI master only support CPOL = 0, which means clock inactive low. 2.For FlexIO SPI master, the input valid time is 1.5 clock cycles, for slave the output valid time is 2.5 clock cycles. So if FlexIO SPI master communicates with other spi IPs, the maximum baud rate is FlexIO clock frequency divided by 2*2=4. If FlexIO SPI master communicates with FlexIO SPI slave, the maximum baud rate is FlexIO clock frequency divided by (1.5+2.5)*2=8.</dd></dl>
<p>Example </p>
<div class="fragment"><div class="line"><a class="code" href="a00036.html#a00409">FLEXIO_SPI_Type</a> spiDev = {</div>
<div class="line">.<a class="code" href="a00036.html#a4dc08bcdfef224a823fe5655f1351079">flexioBase</a> = FLEXIO,</div>
<div class="line">.SDOPinIndex = 0,</div>
<div class="line">.SDIPinIndex = 1,</div>
<div class="line">.SCKPinIndex = 2,</div>
<div class="line">.CSnPinIndex = 3,</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="a00036.html#a00404">flexio_spi_master_config_t</a> config = {</div>
<div class="line">.<a class="code" href="a00036.html#a567386226d7df91faf4d60b9b3005cb9">enableMaster</a> = <span class="keyword">true</span>,</div>
<div class="line">.enableInDoze = <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 = 500000,</div>
<div class="line">.phase = <a class="code" href="a00036.html#gga8766d433030d910dc953df84de513e94ad07a920661cea5317982da4405bfd9e1">kFLEXIO_SPI_ClockPhaseFirstEdge</a>,</div>
<div class="line">.direction = <a class="code" href="a00036.html#gga94c0a678c0641bdad93ff2e6d8512301ad6c96f26bda5bc22af19be1e7906f3f2">kFLEXIO_SPI_MsbFirst</a>,</div>
<div class="line">.dataMode = <a class="code" href="a00036.html#ggacb3d3ee6ee94929d708ec78489a83909aef0c633539e44547b47ad7b754234752">kFLEXIO_SPI_8BitMode</a></div>
<div class="line">};</div>
<div class="line"><a class="code" href="a00036.html#gacc68d67c46d897e6e9b2268c0fe999d2">FLEXIO_SPI_MasterInit</a>(&amp;spiDev, &amp;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 the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">masterConfig</td><td>Pointer to the flexio_spi_master_config_t 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="gae403f64c6c1268e5dfb62e0b20bd267c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterDeinit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2d99f8a94f95262fc821b42e3812ee7e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterGetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gaec04efd2d8f6c4782eba4a1fe22387c0">flexio_spi_master_config_t</a> *&#160;</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 by calling the FLEXIO_SPI_MasterConfigure(). Example: </p>
<div class="fragment"><div class="line"><a class="code" href="a00036.html#a00404">flexio_spi_master_config_t</a> masterConfig;</div>
<div class="line"><a class="code" href="a00036.html#ga2d99f8a94f95262fc821b42e3812ee7e">FLEXIO_SPI_MasterGetDefaultConfig</a>(&amp;masterConfig);</div>
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">masterConfig</td><td>Pointer to the flexio_spi_master_config_t structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae14521e2d88c63c34a51a31c726bac48"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_SlaveInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#gad203cea9b4cf3751fd78ddb36653246d">flexio_spi_slave_config_t</a> *&#160;</td>
<td class="paramname"><em>slaveConfig</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The configuration structure can be filled by the user, or be set with default values by the <a class="el" href="a00036.html#gaa6979876d2c0b4f65deabd6f5ce16d41" title="Gets the default configuration to configure the FlexIO SPI slave. ">FLEXIO_SPI_SlaveGetDefaultConfig()</a>.</p>
<dl class="section note"><dt>Note</dt><dd>1.Only one timer is needed in the FlexIO SPI slave. As a result, the second timer index is ignored. 2.FlexIO SPI slave only support CPOL = 0, which means clock inactive low. 3.For FlexIO SPI master, the input valid time is 1.5 clock cycles, for slave the output valid time is 2.5 clock cycles. So if FlexIO SPI slave communicates with other spi IPs, the maximum baud rate is FlexIO clock frequency divided by 3*2=6. If FlexIO SPI slave communicates with FlexIO SPI master, the maximum baud rate is FlexIO clock frequency divided by (1.5+2.5)*2=8. Example <div class="fragment"><div class="line"><a class="code" href="a00036.html#a00409">FLEXIO_SPI_Type</a> spiDev = {</div>
<div class="line">.<a class="code" href="a00036.html#a4dc08bcdfef224a823fe5655f1351079">flexioBase</a> = FLEXIO,</div>
<div class="line">.SDOPinIndex = 0,</div>
<div class="line">.SDIPinIndex = 1,</div>
<div class="line">.SCKPinIndex = 2,</div>
<div class="line">.CSnPinIndex = 3,</div>
<div class="line">.shifterIndex = {0,1},</div>
<div class="line">.timerIndex = {0}</div>
<div class="line">};</div>
<div class="line"><a class="code" href="a00036.html#a00407">flexio_spi_slave_config_t</a> config = {</div>
<div class="line">.enableSlave = <span class="keyword">true</span>,</div>
<div class="line">.<a class="code" href="a00036.html#ac278230317cf87c458c532bc22d4da8c">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">.phase = <a class="code" href="a00036.html#gga8766d433030d910dc953df84de513e94ad07a920661cea5317982da4405bfd9e1">kFLEXIO_SPI_ClockPhaseFirstEdge</a>,</div>
<div class="line">.direction = <a class="code" href="a00036.html#gga94c0a678c0641bdad93ff2e6d8512301ad6c96f26bda5bc22af19be1e7906f3f2">kFLEXIO_SPI_MsbFirst</a>,</div>
<div class="line">.dataMode = <a class="code" href="a00036.html#ggacb3d3ee6ee94929d708ec78489a83909aef0c633539e44547b47ad7b754234752">kFLEXIO_SPI_8BitMode</a></div>
<div class="line">};</div>
<div class="line"><a class="code" href="a00036.html#gae14521e2d88c63c34a51a31c726bac48">FLEXIO_SPI_SlaveInit</a>(&amp;spiDev, &amp;config);</div>
</div><!-- fragment --> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">slaveConfig</td><td>Pointer to the flexio_spi_slave_config_t structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab02c0d21cfe44e81a2668facccdc587c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_SlaveDeinit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa6979876d2c0b4f65deabd6f5ce16d41"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_SlaveGetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gad203cea9b4cf3751fd78ddb36653246d">flexio_spi_slave_config_t</a> *&#160;</td>
<td class="paramname"><em>slaveConfig</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The configuration can be used directly for calling the FLEXIO_SPI_SlaveConfigure(). Example: </p>
<div class="fragment"><div class="line"><a class="code" href="a00036.html#a00407">flexio_spi_slave_config_t</a> slaveConfig;</div>
<div class="line"><a class="code" href="a00036.html#gaa6979876d2c0b4f65deabd6f5ce16d41">FLEXIO_SPI_SlaveGetDefaultConfig</a>(&amp;slaveConfig);</div>
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">slaveConfig</td><td>Pointer to the flexio_spi_slave_config_t structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga1b709c34a5861a755ef2365eca4aef6d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FLEXIO_SPI_GetStatusFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status flag; Use the status flag to AND the following flag mask and get the status. <ul>
<li>kFLEXIO_SPI_TxEmptyFlag </li>
<li>kFLEXIO_SPI_RxEmptyFlag </li>
</ul>
</dd></dl>
</div>
</div>
<a class="anchor" id="ga53311c201694351c61d5d56f2924d73e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_ClearStatusFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">mask</td><td>status flag The parameter can be any combination of the following values: <ul>
<li>kFLEXIO_SPI_TxEmptyFlag </li>
<li>kFLEXIO_SPI_RxEmptyFlag </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga877ffb51ccf9f5a2ecd5bd5a23f208c3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_EnableInterrupts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function enables the FlexIO SPI interrupt.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">mask</td><td>interrupt source. The parameter can be any combination of the following values: <ul>
<li>kFLEXIO_SPI_RxFullInterruptEnable </li>
<li>kFLEXIO_SPI_TxEmptyInterruptEnable </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac765a8199e5d7c7546d2b31c06563638"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_DisableInterrupts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function disables the FlexIO SPI interrupt.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">mask</td><td>interrupt source The parameter can be any combination of the following values: <ul>
<li>kFLEXIO_SPI_RxFullInterruptEnable </li>
<li>kFLEXIO_SPI_TxEmptyInterruptEnable </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga584eae5056ceeee0aea9ba9d5e2302ff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_EnableDMA </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function enables/disables the FlexIO SPI Tx DMA, which means that asserting the kFLEXIO_SPI_TxEmptyFlag does/doesn't trigger the DMA request.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">mask</td><td>SPI DMA source. </td></tr>
<tr><td class="paramname">enable</td><td>True means enable DMA, false means disable DMA. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac2629d5c8821fe5a2a3496b51dbc99f5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t FLEXIO_SPI_GetTxDataRegisterAddress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns the SPI data register address, which is mainly used by DMA/eDMA.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FlexIO SPI transmit data register address. </dd></dl>
</div>
</div>
<a class="anchor" id="ga061dcced42575767baf53f6b6e5da609"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t FLEXIO_SPI_GetRxDataRegisterAddress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns the SPI data register address, which is mainly used by DMA/eDMA.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FlexIO SPI receive data register address. </dd></dl>
</div>
</div>
<a class="anchor" id="ga68656f6d77e46b59e311e1a97f3b5878"></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_SPI_Enable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type. </td></tr>
<tr><td class="paramname">enable</td><td>True to enable, false does not have any effect. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa9287322d22895ac0352db5fe0dd909e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterSetBaudRate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>baudRate_Bps</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>srcClockHz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">baudRate_Bps</td><td>Baud Rate needed in Hz. </td></tr>
<tr><td class="paramname">srcClockHz</td><td>SPI source clock frequency in Hz. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab8d90deb9e0a4ae7ee4564125218ed29"></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_SPI_WriteData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="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 the data transfer is not 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 the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
<tr><td class="paramname">data</td><td>8/16/32 bit data. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga14411234ecd9a094371d27405ad990cd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t FLEXIO_SPI_ReadData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="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 RxFullFlag 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 the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>8 bit/16 bit data received. </dd></dl>
</div>
</div>
<a class="anchor" id="ga0ddf107d6d5a9d4b6b33a7a07a7679b2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_SPI_WriteBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This function blocks using the polling method 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 the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
<tr><td class="paramname">buffer</td><td>The data bytes to send. </td></tr>
<tr><td class="paramname">size</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 create the handle. </td></tr>
<tr><td class="paramname">kStatus_FLEXIO_SPI_Timeout</td><td>The transfer timed out and was aborted. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaeead8252ae85745aa02f56baffb4df12"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_SPI_ReadBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#ga8ee59b2ba60e4cfd1fcdd5f403968759">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This function blocks using the polling method 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 the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
<tr><td class="paramname">buffer</td><td>The buffer to store the received bytes. </td></tr>
<tr><td class="paramname">size</td><td>The number of data bytes to be received. </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_FLEXIO_SPI_Timeout</td><td>The transfer timed out and was aborted. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae02f160899c2ccb93651e4bac473b65e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_SPI_MasterTransferBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#gac381494803bf8b1c2dd9be82bae1f849">flexio_spi_transfer_t</a> *&#160;</td>
<td class="paramname"><em>xfer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This function 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 FLEXIO_SPI_Type structure </td></tr>
<tr><td class="paramname">xfer</td><td>FlexIO SPI transfer structure, see <a class="el" href="a00036.html#gac381494803bf8b1c2dd9be82bae1f849" title="Define FlexIO SPI transfer structure. ">flexio_spi_transfer_t</a>. </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_FLEXIO_SPI_Timeout</td><td>The transfer timed out and was aborted. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga4de03d39977efdcd5292cfb8f0da2189"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_FlushShifters </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga0123f1825a83093ad07377d86f4e2bf1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_SPI_MasterTransferCreateHandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#ga9c8b509b90588dea1921de0bdb3cfec8">flexio_spi_master_transfer_callback_t</a>&#160;</td>
<td class="paramname"><em>callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_master_handle_t structure to store the transfer state. </td></tr>
<tr><td class="paramname">callback</td><td>The callback function. </td></tr>
<tr><td class="paramname">userData</td><td>The parameter of 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="gabcfcbee985cb49bdbd02ab1698d2c041"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_SPI_MasterTransferNonBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#gac381494803bf8b1c2dd9be82bae1f849">flexio_spi_transfer_t</a> *&#160;</td>
<td class="paramname"><em>xfer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sends data using IRQ. This is a non-blocking function, which returns right away. When all data is sent out/received, the callback function is called.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_master_handle_t structure to store the transfer state. </td></tr>
<tr><td class="paramname">xfer</td><td>FlexIO SPI transfer structure. See <a class="el" href="a00036.html#gac381494803bf8b1c2dd9be82bae1f849" title="Define FlexIO SPI transfer structure. ">flexio_spi_transfer_t</a>. </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_InvalidArgument</td><td>Input argument is invalid. </td></tr>
<tr><td class="paramname">kStatus_FLEXIO_SPI_Busy</td><td>SPI is not idle, is running another transfer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga7ee4149cd9c0bab50f91eaf6322ccd45"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterTransferAbort </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_master_handle_t structure to store the transfer state. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5f8d610d6492109468d6a225ef01043d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_SPI_MasterTransferGetCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#gae91f9b442547c1143f1d0a19deee74a2">flexio_spi_master_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_master_handle_t structure to store 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="ga39784af602890dbc1aff6d23b29b7e19"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterTransferHandleIRQ </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>spiType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>spiHandle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">spiType</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">spiHandle</td><td>Pointer to the flexio_spi_master_handle_t structure to store the transfer state. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga76d12767d4023268a3aa9cde5e072b29"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_SPI_SlaveTransferCreateHandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#gad2accadc980b51b0d65e41d122abe261">flexio_spi_slave_transfer_callback_t</a>&#160;</td>
<td class="paramname"><em>callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_slave_handle_t structure to store the transfer state. </td></tr>
<tr><td class="paramname">callback</td><td>The callback function. </td></tr>
<tr><td class="paramname">userData</td><td>The parameter of 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="ga9d1ef8b373c56f48d98612f5c3047f8c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_SPI_SlaveTransferNonBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#gac381494803bf8b1c2dd9be82bae1f849">flexio_spi_transfer_t</a> *&#160;</td>
<td class="paramname"><em>xfer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sends data using IRQ. This is a non-blocking function, which returns right away. When all data is sent out/received, the callback function is called. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_slave_handle_t structure to store the transfer state.</td></tr>
<tr><td class="paramname">base</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">xfer</td><td>FlexIO SPI transfer structure. See <a class="el" href="a00036.html#gac381494803bf8b1c2dd9be82bae1f849" title="Define FlexIO SPI transfer structure. ">flexio_spi_transfer_t</a>. </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_InvalidArgument</td><td>Input argument is invalid. </td></tr>
<tr><td class="paramname">kStatus_FLEXIO_SPI_Busy</td><td>SPI is not idle; it is running another transfer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga34dea4bdd2c52597711068bed5c45958"></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_SPI_SlaveTransferAbort </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</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 the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_slave_handle_t structure to store the transfer state. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae3354dda8f6fdce0f6a58b1933d56ee9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="a00272.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> FLEXIO_SPI_SlaveTransferGetCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00036.html#gabbf9b6da1adb43559aa1b75433cdd7d1">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00036.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</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 the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_slave_handle_t structure to store 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="gaf620bb7c2bf87c781f93f8a5f23c49d4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_SlaveTransferHandleIRQ </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>spiType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>spiHandle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">spiType</td><td>Pointer to the FLEXIO_SPI_Type structure. </td></tr>
<tr><td class="paramname">spiHandle</td><td>Pointer to the flexio_spi_slave_handle_t structure to store the transfer state. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul class="foot">
<li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
</li>
</ul>
</div>
</body>
</html>