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

730 lines
45 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: SPI DMA 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('a00060.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="#files">Files</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle">
<div class="title">SPI DMA Driver<div class="ingroups"><a class="el" href="a00249.html">SPI: Serial Peripheral Interface Driver</a></div></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>This section describes the programming interface of the SPI DMA driver. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:a00173"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00173.html">fsl_spi_dma.h</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:a00426"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a00426">_spi_dma_handle</a></td></tr>
<tr class="memdesc:a00426"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI DMA transfer handle, users should not touch the content of the handle. <a href="a00060.html#a00426">More...</a><br/></td></tr>
<tr class="separator:a00426"><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:ga72ce9db8c2a57d66c7b508ca7891f4b3"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga72ce9db8c2a57d66c7b508ca7891f4b3">spi_dma_callback_t</a> )(SPI_Type *base, <a class="el" href="a00060.html#a00426">spi_dma_handle_t</a> *handle, <a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> status, void *userData)</td></tr>
<tr class="memdesc:ga72ce9db8c2a57d66c7b508ca7891f4b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI DMA callback called at the end of transfer. <a href="#ga72ce9db8c2a57d66c7b508ca7891f4b3">More...</a><br/></td></tr>
<tr class="separator:ga72ce9db8c2a57d66c7b508ca7891f4b3"><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:gab72873a3a11fc293023558be553de43c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gab72873a3a11fc293023558be553de43c">FSL_SPI_DMA_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="a00242.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 2, 1))</td></tr>
<tr class="memdesc:gab72873a3a11fc293023558be553de43c"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI DMA driver version 2.1.1. <a href="#gab72873a3a11fc293023558be553de43c">More...</a><br/></td></tr>
<tr class="separator:gab72873a3a11fc293023558be553de43c"><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 Transactional</h2></td></tr>
<tr class="memitem:gae8aa0229e688aa1b88185d5e9e7bf0b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gae8aa0229e688aa1b88185d5e9e7bf0b8">SPI_MasterTransferCreateHandleDMA</a> (SPI_Type *base, <a class="el" href="a00060.html#a00426">spi_dma_handle_t</a> *handle, <a class="el" href="a00060.html#ga72ce9db8c2a57d66c7b508ca7891f4b3">spi_dma_callback_t</a> callback, void *userData, <a class="el" href="a00017.html#gac4a65788d7e5762d16a41a50b2cd7956">dma_handle_t</a> *txHandle, <a class="el" href="a00017.html#gac4a65788d7e5762d16a41a50b2cd7956">dma_handle_t</a> *rxHandle)</td></tr>
<tr class="memdesc:gae8aa0229e688aa1b88185d5e9e7bf0b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the SPI master DMA handle. <a href="#gae8aa0229e688aa1b88185d5e9e7bf0b8">More...</a><br/></td></tr>
<tr class="separator:gae8aa0229e688aa1b88185d5e9e7bf0b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2bcf43f1d6908810b6b41d2d87bda3a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga2bcf43f1d6908810b6b41d2d87bda3a9">SPI_MasterTransferDMA</a> (SPI_Type *base, <a class="el" href="a00060.html#a00426">spi_dma_handle_t</a> *handle, <a class="el" href="a00059.html#ga59314d5596f240cfbe8b9466bd99ed3f">spi_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga2bcf43f1d6908810b6b41d2d87bda3a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a non-blocking SPI transfer using DMA. <a href="#ga2bcf43f1d6908810b6b41d2d87bda3a9">More...</a><br/></td></tr>
<tr class="separator:ga2bcf43f1d6908810b6b41d2d87bda3a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga761647975e2cfffca46793a6723ffd95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga761647975e2cfffca46793a6723ffd95">SPI_MasterHalfDuplexTransferDMA</a> (SPI_Type *base, <a class="el" href="a00060.html#a00426">spi_dma_handle_t</a> *handle, <a class="el" href="a00059.html#ga5788e6eb50f5486bfd9aaf9ca6bc2930">spi_half_duplex_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga761647975e2cfffca46793a6723ffd95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfers a block of data using a DMA method. <a href="#ga761647975e2cfffca46793a6723ffd95">More...</a><br/></td></tr>
<tr class="separator:ga761647975e2cfffca46793a6723ffd95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga029df430a54021c536661fd17b9c60bb"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga029df430a54021c536661fd17b9c60bb">SPI_SlaveTransferCreateHandleDMA</a> (SPI_Type *base, <a class="el" href="a00060.html#a00426">spi_dma_handle_t</a> *handle, <a class="el" href="a00060.html#ga72ce9db8c2a57d66c7b508ca7891f4b3">spi_dma_callback_t</a> callback, void *userData, <a class="el" href="a00017.html#gac4a65788d7e5762d16a41a50b2cd7956">dma_handle_t</a> *txHandle, <a class="el" href="a00017.html#gac4a65788d7e5762d16a41a50b2cd7956">dma_handle_t</a> *rxHandle)</td></tr>
<tr class="memdesc:ga029df430a54021c536661fd17b9c60bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the SPI slave DMA handle. <a href="#ga029df430a54021c536661fd17b9c60bb">More...</a><br/></td></tr>
<tr class="separator:ga029df430a54021c536661fd17b9c60bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6848a2579e3e84d48123407448df60ed"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga6848a2579e3e84d48123407448df60ed">SPI_SlaveTransferDMA</a> (SPI_Type *base, <a class="el" href="a00060.html#a00426">spi_dma_handle_t</a> *handle, <a class="el" href="a00059.html#ga59314d5596f240cfbe8b9466bd99ed3f">spi_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga6848a2579e3e84d48123407448df60ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a non-blocking SPI transfer using DMA. <a href="#ga6848a2579e3e84d48123407448df60ed">More...</a><br/></td></tr>
<tr class="separator:ga6848a2579e3e84d48123407448df60ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5f2aabca472a57709db2ef153e031c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gac5f2aabca472a57709db2ef153e031c8">SPI_MasterTransferAbortDMA</a> (SPI_Type *base, <a class="el" href="a00060.html#a00426">spi_dma_handle_t</a> *handle)</td></tr>
<tr class="memdesc:gac5f2aabca472a57709db2ef153e031c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort a SPI transfer using DMA. <a href="#gac5f2aabca472a57709db2ef153e031c8">More...</a><br/></td></tr>
<tr class="separator:gac5f2aabca472a57709db2ef153e031c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga642d1fe963b7f1c28e5d8f4dd5b92861"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga642d1fe963b7f1c28e5d8f4dd5b92861">SPI_MasterTransferGetCountDMA</a> (SPI_Type *base, <a class="el" href="a00060.html#a00426">spi_dma_handle_t</a> *handle, size_t *count)</td></tr>
<tr class="memdesc:ga642d1fe963b7f1c28e5d8f4dd5b92861"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the master DMA transfer remaining bytes. <a href="#ga642d1fe963b7f1c28e5d8f4dd5b92861">More...</a><br/></td></tr>
<tr class="separator:ga642d1fe963b7f1c28e5d8f4dd5b92861"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03ab24789dc4c2438a5daff733ce2cfe"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga03ab24789dc4c2438a5daff733ce2cfe">SPI_SlaveTransferAbortDMA</a> (SPI_Type *base, <a class="el" href="a00060.html#a00426">spi_dma_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga03ab24789dc4c2438a5daff733ce2cfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort a SPI transfer using DMA. <a href="#ga03ab24789dc4c2438a5daff733ce2cfe">More...</a><br/></td></tr>
<tr class="separator:ga03ab24789dc4c2438a5daff733ce2cfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa44608920f3653a4692f87f4d4220cc"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gafa44608920f3653a4692f87f4d4220cc">SPI_SlaveTransferGetCountDMA</a> (SPI_Type *base, <a class="el" href="a00060.html#a00426">spi_dma_handle_t</a> *handle, size_t *count)</td></tr>
<tr class="memdesc:gafa44608920f3653a4692f87f4d4220cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the slave DMA transfer remaining bytes. <a href="#gafa44608920f3653a4692f87f4d4220cc">More...</a><br/></td></tr>
<tr class="separator:gafa44608920f3653a4692f87f4d4220cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00426" id="a00426"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _spi_dma_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:aade83738207535e22c59a962f7970476"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aade83738207535e22c59a962f7970476"></a>
volatile bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#aade83738207535e22c59a962f7970476">txInProgress</a></td></tr>
<tr class="memdesc:aade83738207535e22c59a962f7970476"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send transfer finished. <br/></td></tr>
<tr class="separator:aade83738207535e22c59a962f7970476"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a238787dc038cb56bec18605afbb9f1fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a238787dc038cb56bec18605afbb9f1fb"></a>
volatile bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a238787dc038cb56bec18605afbb9f1fb">rxInProgress</a></td></tr>
<tr class="memdesc:a238787dc038cb56bec18605afbb9f1fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive transfer finished. <br/></td></tr>
<tr class="separator:a238787dc038cb56bec18605afbb9f1fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ddf5aad428d653cbb8f126c271b6f0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ddf5aad428d653cbb8f126c271b6f0b"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a0ddf5aad428d653cbb8f126c271b6f0b">bytesPerFrame</a></td></tr>
<tr class="memdesc:a0ddf5aad428d653cbb8f126c271b6f0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bytes in a frame for SPI transfer. <br/></td></tr>
<tr class="separator:a0ddf5aad428d653cbb8f126c271b6f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94f61830d009de8d210be1f9671e1551"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94f61830d009de8d210be1f9671e1551"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a94f61830d009de8d210be1f9671e1551">lastwordBytes</a></td></tr>
<tr class="memdesc:a94f61830d009de8d210be1f9671e1551"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Bytes of lastword for master. <br/></td></tr>
<tr class="separator:a94f61830d009de8d210be1f9671e1551"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fbd87a762e90675082bf0e2effe8942"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9fbd87a762e90675082bf0e2effe8942"></a>
<a class="el" href="a00017.html#gac4a65788d7e5762d16a41a50b2cd7956">dma_handle_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a9fbd87a762e90675082bf0e2effe8942">txHandle</a></td></tr>
<tr class="memdesc:a9fbd87a762e90675082bf0e2effe8942"><td class="mdescLeft">&#160;</td><td class="mdescRight">DMA handler for SPI send. <br/></td></tr>
<tr class="separator:a9fbd87a762e90675082bf0e2effe8942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa54af7ea8c13efd7ab848575d2db953a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa54af7ea8c13efd7ab848575d2db953a"></a>
<a class="el" href="a00017.html#gac4a65788d7e5762d16a41a50b2cd7956">dma_handle_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#aa54af7ea8c13efd7ab848575d2db953a">rxHandle</a></td></tr>
<tr class="memdesc:aa54af7ea8c13efd7ab848575d2db953a"><td class="mdescLeft">&#160;</td><td class="mdescRight">DMA handler for SPI receive. <br/></td></tr>
<tr class="separator:aa54af7ea8c13efd7ab848575d2db953a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb87c50f78901b9d43b354919d30c854"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb87c50f78901b9d43b354919d30c854"></a>
<a class="el" href="a00060.html#ga72ce9db8c2a57d66c7b508ca7891f4b3">spi_dma_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#adb87c50f78901b9d43b354919d30c854">callback</a></td></tr>
<tr class="memdesc:adb87c50f78901b9d43b354919d30c854"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback for SPI DMA transfer. <br/></td></tr>
<tr class="separator:adb87c50f78901b9d43b354919d30c854"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5a390d46850ba2397ab89b5d692a409"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5a390d46850ba2397ab89b5d692a409"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ab5a390d46850ba2397ab89b5d692a409">userData</a></td></tr>
<tr class="memdesc:ab5a390d46850ba2397ab89b5d692a409"><td class="mdescLeft">&#160;</td><td class="mdescRight">User Data for SPI DMA callback. <br/></td></tr>
<tr class="separator:ab5a390d46850ba2397ab89b5d692a409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e087358c65369ceb5e0ead613560016"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e087358c65369ceb5e0ead613560016"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a7e087358c65369ceb5e0ead613560016">state</a></td></tr>
<tr class="memdesc:a7e087358c65369ceb5e0ead613560016"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal state of SPI DMA transfer. <br/></td></tr>
<tr class="separator:a7e087358c65369ceb5e0ead613560016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a246dd896f39699b628d71b9a80af8b20"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a246dd896f39699b628d71b9a80af8b20"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a246dd896f39699b628d71b9a80af8b20">transferSize</a></td></tr>
<tr class="memdesc:a246dd896f39699b628d71b9a80af8b20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bytes need to be transfer. <br/></td></tr>
<tr class="separator:a246dd896f39699b628d71b9a80af8b20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7284884e35ae032e2eb576a52b032f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7284884e35ae032e2eb576a52b032f8"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ae7284884e35ae032e2eb576a52b032f8">instance</a></td></tr>
<tr class="memdesc:ae7284884e35ae032e2eb576a52b032f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of SPI instance. <br/></td></tr>
<tr class="separator:ae7284884e35ae032e2eb576a52b032f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a368c57bccf1bb14bbc3f54fb02e88ba0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a368c57bccf1bb14bbc3f54fb02e88ba0"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a368c57bccf1bb14bbc3f54fb02e88ba0">txNextData</a></td></tr>
<tr class="memdesc:a368c57bccf1bb14bbc3f54fb02e88ba0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The pointer of next time tx data. <br/></td></tr>
<tr class="separator:a368c57bccf1bb14bbc3f54fb02e88ba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05553a02ed517b7c9f1838aeef6b37d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05553a02ed517b7c9f1838aeef6b37d7"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a05553a02ed517b7c9f1838aeef6b37d7">txEndData</a></td></tr>
<tr class="memdesc:a05553a02ed517b7c9f1838aeef6b37d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The pointer of end of data. <br/></td></tr>
<tr class="separator:a05553a02ed517b7c9f1838aeef6b37d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c983d08aceac326cd67cf6deae49dc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c983d08aceac326cd67cf6deae49dc3"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a3c983d08aceac326cd67cf6deae49dc3">rxNextData</a></td></tr>
<tr class="memdesc:a3c983d08aceac326cd67cf6deae49dc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The pointer of next time rx data. <br/></td></tr>
<tr class="separator:a3c983d08aceac326cd67cf6deae49dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbeb91001b817bf41ee1ff91255a0c20"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbeb91001b817bf41ee1ff91255a0c20"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#acbeb91001b817bf41ee1ff91255a0c20">rxEndData</a></td></tr>
<tr class="memdesc:acbeb91001b817bf41ee1ff91255a0c20"><td class="mdescLeft">&#160;</td><td class="mdescRight">The pointer of end of rx data. <br/></td></tr>
<tr class="separator:acbeb91001b817bf41ee1ff91255a0c20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3016002862c9980d6256b2056c9207e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3016002862c9980d6256b2056c9207e"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ad3016002862c9980d6256b2056c9207e">dataBytesEveryTime</a></td></tr>
<tr class="memdesc:ad3016002862c9980d6256b2056c9207e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bytes in a time for DMA transfer, default is DMA_MAX_TRANSFER_COUNT. <br/></td></tr>
<tr class="separator:ad3016002862c9980d6256b2056c9207e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gab72873a3a11fc293023558be553de43c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_SPI_DMA_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="a00242.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 2, 1))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga72ce9db8c2a57d66c7b508ca7891f4b3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* spi_dma_callback_t)(SPI_Type *base, <a class="el" href="a00060.html#a00426">spi_dma_handle_t</a> *handle, <a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> status, void *userData)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gae8aa0229e688aa1b88185d5e9e7bf0b8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SPI_MasterTransferCreateHandleDMA </td>
<td>(</td>
<td class="paramtype">SPI_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00060.html#a00426">spi_dma_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="a00060.html#ga72ce9db8c2a57d66c7b508ca7891f4b3">spi_dma_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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00017.html#gac4a65788d7e5762d16a41a50b2cd7956">dma_handle_t</a> *&#160;</td>
<td class="paramname"><em>txHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00017.html#gac4a65788d7e5762d16a41a50b2cd7956">dma_handle_t</a> *&#160;</td>
<td class="paramname"><em>rxHandle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function initializes the SPI master DMA handle which can be used for other SPI master transactional APIs. Usually, for a specified SPI instance, user need only call this API once to get the initialized handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPI peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>SPI handle pointer. </td></tr>
<tr><td class="paramname">callback</td><td>User callback function called at the end of a transfer. </td></tr>
<tr><td class="paramname">userData</td><td>User data for callback. </td></tr>
<tr><td class="paramname">txHandle</td><td>DMA handle pointer for SPI Tx, the handle shall be static allocated by users. </td></tr>
<tr><td class="paramname">rxHandle</td><td>DMA handle pointer for SPI Rx, the handle shall be static allocated by users. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2bcf43f1d6908810b6b41d2d87bda3a9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SPI_MasterTransferDMA </td>
<td>(</td>
<td class="paramtype">SPI_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00060.html#a00426">spi_dma_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="a00059.html#ga59314d5596f240cfbe8b9466bd99ed3f">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 interface returned immediately after transfer initiates, users should call SPI_GetTransferStatus to poll the transfer status to check whether SPI transfer finished.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPI peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>SPI DMA handle pointer. </td></tr>
<tr><td class="paramname">xfer</td><td>Pointer to dma transfer structure. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>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_SPI_Busy</td><td>SPI is not idle, is running another transfer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga761647975e2cfffca46793a6723ffd95"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SPI_MasterHalfDuplexTransferDMA </td>
<td>(</td>
<td class="paramtype">SPI_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00060.html#a00426">spi_dma_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="a00059.html#ga5788e6eb50f5486bfd9aaf9ca6bc2930">spi_half_duplex_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 using polling way to do the first half transimission and using DMA way to do the srcond half transimission, the transfer mechanism is half-duplex. When do the second half transimission, code will return right away. When all data is transferred, the callback function is called.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPI base pointer </td></tr>
<tr><td class="paramname">handle</td><td>A pointer to the spi_master_dma_handle_t structure which stores the transfer state. </td></tr>
<tr><td class="paramname">xfer</td><td>A pointer to the spi_half_duplex_transfer_t structure. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status of status_t. </dd></dl>
</div>
</div>
<a class="anchor" id="ga029df430a54021c536661fd17b9c60bb"></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="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SPI_SlaveTransferCreateHandleDMA </td>
<td>(</td>
<td class="paramtype">SPI_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00060.html#a00426">spi_dma_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="a00060.html#ga72ce9db8c2a57d66c7b508ca7891f4b3">spi_dma_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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00017.html#gac4a65788d7e5762d16a41a50b2cd7956">dma_handle_t</a> *&#160;</td>
<td class="paramname"><em>txHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00017.html#gac4a65788d7e5762d16a41a50b2cd7956">dma_handle_t</a> *&#160;</td>
<td class="paramname"><em>rxHandle</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 initializes the SPI slave DMA handle which can be used for other SPI master transactional APIs. Usually, for a specified SPI instance, user need only call this API once to get the initialized handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPI peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>SPI handle pointer. </td></tr>
<tr><td class="paramname">callback</td><td>User callback function called at the end of a transfer. </td></tr>
<tr><td class="paramname">userData</td><td>User data for callback. </td></tr>
<tr><td class="paramname">txHandle</td><td>DMA handle pointer for SPI Tx, the handle shall be static allocated by users. </td></tr>
<tr><td class="paramname">rxHandle</td><td>DMA handle pointer for SPI Rx, the handle shall be static allocated by users. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6848a2579e3e84d48123407448df60ed"></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="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SPI_SlaveTransferDMA </td>
<td>(</td>
<td class="paramtype">SPI_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00060.html#a00426">spi_dma_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="a00059.html#ga59314d5596f240cfbe8b9466bd99ed3f">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>
</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 interface returned immediately after transfer initiates, users should call SPI_GetTransferStatus to poll the transfer status to check whether SPI transfer finished.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPI peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>SPI DMA handle pointer. </td></tr>
<tr><td class="paramname">xfer</td><td>Pointer to dma transfer structure. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>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_SPI_Busy</td><td>SPI is not idle, is running another transfer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac5f2aabca472a57709db2ef153e031c8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_MasterTransferAbortDMA </td>
<td>(</td>
<td class="paramtype">SPI_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00060.html#a00426">spi_dma_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>SPI peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>SPI DMA handle pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga642d1fe963b7f1c28e5d8f4dd5b92861"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SPI_MasterTransferGetCountDMA </td>
<td>(</td>
<td class="paramtype">SPI_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00060.html#a00426">spi_dma_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">
<p>This function gets the master DMA transfer remaining bytes.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPI peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>A pointer to the spi_dma_handle_t structure which stores the transfer state. </td></tr>
<tr><td class="paramname">count</td><td>A number of bytes transferred by the non-blocking transaction. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status of status_t. </dd></dl>
</div>
</div>
<a class="anchor" id="ga03ab24789dc4c2438a5daff733ce2cfe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void SPI_SlaveTransferAbortDMA </td>
<td>(</td>
<td class="paramtype">SPI_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00060.html#a00426">spi_dma_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>SPI peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>SPI DMA handle pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gafa44608920f3653a4692f87f4d4220cc"></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="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> SPI_SlaveTransferGetCountDMA </td>
<td>(</td>
<td class="paramtype">SPI_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00060.html#a00426">spi_dma_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">
<p>This function gets the slave DMA transfer remaining bytes.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>SPI peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>A pointer to the spi_dma_handle_t structure which stores the transfer state. </td></tr>
<tr><td class="paramname">count</td><td>A number of bytes transferred by the non-blocking transaction. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status of status_t. </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>