Files
2016-08-09 18:06:35 +02:00

1901 lines
114 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Kinetis SDK v.2.0 API Reference Manual: LPUART Driver</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Kinetis SDK v.2.0 API Reference Manual
&#160;<span id="projectnumber">Rev. 0</span>
</div>
<div id="projectbrief">Freescale Semiconductor, Inc.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#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('group__lpuart__driver.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="#files">Files</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">LPUART Driver<div class="ingroups"><a class="el" href="group__lpuart.html">LPUART: Low Power UART Driver</a></div></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The KSDK provides a peripheral driver for the Low Power UART (LPUART) module of Kinetis devices.</p>
<h1>Typical use case</h1>
<div class="fragment"><div class="line">uint8_t ch;</div>
<div class="line"><a class="code" href="group__lpuart__driver.html#ga95dfe3c3886692f1fe32023d59708440">LPUART_GetDefaultConfig</a>(&amp;user_config);</div>
<div class="line">user_config.baudRate = 115200U;</div>
<div class="line"></div>
<div class="line"><a class="code" href="group__lpuart__driver.html#gae0bf80e73707feee830060ff4fbfe292">LPUART_Init</a>(LPUART1,&amp;user_config,120000000U);</div>
<div class="line"></div>
<div class="line">LPUART_SendDataPolling(LPUART1, txbuff, <span class="keyword">sizeof</span>(txbuff));</div>
<div class="line"></div>
<div class="line"><span class="keywordflow">while</span>(1)</div>
<div class="line">{</div>
<div class="line"> LPUART_ReceiveDataPolling(LPUART1,&amp;ch, 1);</div>
<div class="line"> LPUART_SendDataPolling(LPUART1, &amp;ch, 1);</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:group__lpuart__dma__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__dma__driver.html">LPUART DMA Driver</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__lpuart__edma__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__edma__driver.html">LPUART eDMA 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="files"></a>
Files</h2></td></tr>
<tr class="memitem:fsl__lpuart_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fsl__lpuart_8h.html">fsl_lpuart.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:structlpuart__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#structlpuart__config__t">lpuart_config_t</a></td></tr>
<tr class="memdesc:structlpuart__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART configure structure. <a href="group__lpuart__driver.html#structlpuart__config__t">More...</a><br/></td></tr>
<tr class="separator:structlpuart__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structlpuart__transfer__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#structlpuart__transfer__t">lpuart_transfer_t</a></td></tr>
<tr class="memdesc:structlpuart__transfer__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART transfer structure. <a href="group__lpuart__driver.html#structlpuart__transfer__t">More...</a><br/></td></tr>
<tr class="separator:structlpuart__transfer__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:struct__lpuart__handle"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#struct__lpuart__handle">lpuart_handle_t</a></td></tr>
<tr class="memdesc:struct__lpuart__handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART handle structure. <a href="group__lpuart__driver.html#struct__lpuart__handle">More...</a><br/></td></tr>
<tr class="separator:struct__lpuart__handle"><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:ga7ab1637091d166aa8b69517350fb05c8"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga7ab1637091d166aa8b69517350fb05c8">lpuart_transfer_callback_t</a> )(LPUART_Type *base, lpuart_handle_t *handle, status_t status, void *userData)</td></tr>
<tr class="memdesc:ga7ab1637091d166aa8b69517350fb05c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART transfer callback function. <a href="#ga7ab1637091d166aa8b69517350fb05c8">More...</a><br/></td></tr>
<tr class="separator:ga7ab1637091d166aa8b69517350fb05c8"><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:ga91d929761e975dda91c0cc811d253ce5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga91d929761e975dda91c0cc811d253ce5">_lpuart_status</a> { <br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5abddb317db7dfffa95856604bfac2a17f">kStatus_LPUART_TxBusy</a> = MAKE_STATUS(kStatusGroup_LPUART, 0),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5a98dfeab0a23c81f6b7f2c18acff8cc30">kStatus_LPUART_RxBusy</a> = MAKE_STATUS(kStatusGroup_LPUART, 1),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5a079c6d0957d121ce7cd95cf97487dfbb">kStatus_LPUART_TxIdle</a> = MAKE_STATUS(kStatusGroup_LPUART, 2),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5a02b8fe84bbfd8c52856b5d48865f7088">kStatus_LPUART_RxIdle</a> = MAKE_STATUS(kStatusGroup_LPUART, 3),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5abbee969cb0f7b4c49b44b10c4eb583cc">kStatus_LPUART_TxWatermarkTooLarge</a> = MAKE_STATUS(kStatusGroup_LPUART, 4),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5aca81b4d6e2e792c6d841b95ec25daad9">kStatus_LPUART_RxWatermarkTooLarge</a> = MAKE_STATUS(kStatusGroup_LPUART, 5),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5a07d5a5092ded158fe53ea4df940f8bdb">kStatus_LPUART_FlagCannotClearManually</a>,
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5af069a1997c3d25588d834ccb33dd35f4">kStatus_LPUART_Error</a> = MAKE_STATUS(kStatusGroup_LPUART, 7),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5a45a7ed684f4c31aec8999b3da68d3b5e">kStatus_LPUART_RxRingBufferOverrun</a>,
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5af8ada3eacff87751ec865b4fc584bac1">kStatus_LPUART_RxHardwareOverrun</a> = MAKE_STATUS(kStatusGroup_LPUART, 9),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5a6ccebae2eb859fde044f15f1dd18cba1">kStatus_LPUART_NoiseError</a> = MAKE_STATUS(kStatusGroup_LPUART, 10),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5a1528dc2aacb3a792a1ecbfbbc7941bc9">kStatus_LPUART_FramingError</a> = MAKE_STATUS(kStatusGroup_LPUART, 11),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5ad42bcd27cb6e04725768c6b98d4cbe0d">kStatus_LPUART_ParityError</a> = MAKE_STATUS(kStatusGroup_LPUART, 12)
<br/>
}</td></tr>
<tr class="memdesc:ga91d929761e975dda91c0cc811d253ce5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error codes for the LPUART driver. <a href="group__lpuart__driver.html#ga91d929761e975dda91c0cc811d253ce5">More...</a><br/></td></tr>
<tr class="separator:ga91d929761e975dda91c0cc811d253ce5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fcd73abf900b8a17dab1f2b1f3f53c7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga6fcd73abf900b8a17dab1f2b1f3f53c7">lpuart_parity_mode_t</a> { <br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga6fcd73abf900b8a17dab1f2b1f3f53c7a0e5bdb8fc4e1010930d05e1490a75b1a">kLPUART_ParityDisabled</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga6fcd73abf900b8a17dab1f2b1f3f53c7ac92adb3fdf11240ca5dee6c6543b6ff7">kLPUART_ParityEven</a> = 0x2U,
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga6fcd73abf900b8a17dab1f2b1f3f53c7adab63856e98e0715f4ab289ac0da3575">kLPUART_ParityOdd</a> = 0x3U
<br/>
}</td></tr>
<tr class="memdesc:ga6fcd73abf900b8a17dab1f2b1f3f53c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART parity mode. <a href="group__lpuart__driver.html#ga6fcd73abf900b8a17dab1f2b1f3f53c7">More...</a><br/></td></tr>
<tr class="separator:ga6fcd73abf900b8a17dab1f2b1f3f53c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7540d87bc3fa8a605d8da53fe08219f0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga7540d87bc3fa8a605d8da53fe08219f0">lpuart_stop_bit_count_t</a> { <br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga7540d87bc3fa8a605d8da53fe08219f0a4304f0ee73a5fabfadfc05ca1fbd3901">kLPUART_OneStopBit</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga7540d87bc3fa8a605d8da53fe08219f0a6e049e0faaf89ed2dfe493ad8f6c93d4">kLPUART_TwoStopBit</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:ga7540d87bc3fa8a605d8da53fe08219f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART stop bit count. <a href="group__lpuart__driver.html#ga7540d87bc3fa8a605d8da53fe08219f0">More...</a><br/></td></tr>
<tr class="separator:ga7540d87bc3fa8a605d8da53fe08219f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga199a157d391291a9d003bf23954f9603"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga199a157d391291a9d003bf23954f9603">_lpuart_interrupt_enable</a> { <br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a43750aac20f72535350c1ab4a1862a3a">kLPUART_RxActiveEdgeInterruptEnable</a> = (LPUART_BAUD_RXEDGIE_MASK &gt;&gt; 8),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a0e8bf389f65e5f86a3063dc55b8aae1c">kLPUART_TxDataRegEmptyInterruptEnable</a> = (LPUART_CTRL_TIE_MASK),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a0b7f783393a61cce88eab28307e9fe14">kLPUART_TransmissionCompleteInterruptEnable</a> = (LPUART_CTRL_TCIE_MASK),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a5b4a0893c98bf79d0dad88aeb7714d22">kLPUART_RxDataRegFullInterruptEnable</a> = (LPUART_CTRL_RIE_MASK),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603af3f83c56032b14e50a682857dd7c152d">kLPUART_IdleLineInterruptEnable</a> = (LPUART_CTRL_ILIE_MASK),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a8a29c714eaa6acab06a87314f4f29636">kLPUART_RxOverrunInterruptEnable</a> = (LPUART_CTRL_ORIE_MASK),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603ad1a35bc7e89f170a5b82cb4801b73b5e">kLPUART_NoiseErrorInterruptEnable</a> = (LPUART_CTRL_NEIE_MASK),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a1b43ca06e0af6b0fcf4b55612363a64d">kLPUART_FramingErrorInterruptEnable</a> = (LPUART_CTRL_FEIE_MASK),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a13c12b816605deaabcbc3e6a6db82466">kLPUART_ParityErrorInterruptEnable</a> = (LPUART_CTRL_PEIE_MASK)
<br/>
}</td></tr>
<tr class="memdesc:ga199a157d391291a9d003bf23954f9603"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART interrupt configuration structure, default settings all disabled. <a href="group__lpuart__driver.html#ga199a157d391291a9d003bf23954f9603">More...</a><br/></td></tr>
<tr class="separator:ga199a157d391291a9d003bf23954f9603"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24bb7ca3f894fe5ff55b9f38bec16c89"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga24bb7ca3f894fe5ff55b9f38bec16c89">_lpuart_flags</a> { <br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga24bb7ca3f894fe5ff55b9f38bec16c89aa765f8ddac00348328f64ad4222d057a">kLPUART_TxDataRegEmptyFlag</a>,
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga24bb7ca3f894fe5ff55b9f38bec16c89ae0539c4cf39d4d1e7839a4896fad2a85">kLPUART_TransmissionCompleteFlag</a>,
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga24bb7ca3f894fe5ff55b9f38bec16c89a9bc679bcc20b81768f84b04e499c5a2f">kLPUART_RxDataRegFullFlag</a>,
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga24bb7ca3f894fe5ff55b9f38bec16c89acf1a40aca38878bc395f9f0b10d8225e">kLPUART_IdleLineFlag</a> = (LPUART_STAT_IDLE_MASK),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga24bb7ca3f894fe5ff55b9f38bec16c89a994f5f484509133c632215a8b701f8d1">kLPUART_RxOverrunFlag</a> = (LPUART_STAT_OR_MASK),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga24bb7ca3f894fe5ff55b9f38bec16c89a2198232cb9d239f937ab221bbf03259f">kLPUART_NoiseErrorFlag</a> = (LPUART_STAT_NF_MASK),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga24bb7ca3f894fe5ff55b9f38bec16c89ad1d40f89cb6aab9c12113586fda7f510">kLPUART_FramingErrorFlag</a>,
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga24bb7ca3f894fe5ff55b9f38bec16c89a2f8d4c03df61bc4678b2ccf1c69eedeb">kLPUART_ParityErrorFlag</a> = (LPUART_STAT_PF_MASK),
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga24bb7ca3f894fe5ff55b9f38bec16c89ae89f181d8dbbf5254d6fe843e4cac6d6">kLPUART_RxActiveEdgeFlag</a>,
<br/>
&#160;&#160;<a class="el" href="group__lpuart__driver.html#gga24bb7ca3f894fe5ff55b9f38bec16c89a1f14711a74db1cc141b5c2627ee4c799">kLPUART_RxActiveFlag</a>
<br/>
}</td></tr>
<tr class="memdesc:ga24bb7ca3f894fe5ff55b9f38bec16c89"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART status flags. <a href="group__lpuart__driver.html#ga24bb7ca3f894fe5ff55b9f38bec16c89">More...</a><br/></td></tr>
<tr class="separator:ga24bb7ca3f894fe5ff55b9f38bec16c89"><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:ga0870fb824ece32739bd35f819f8c408e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga0870fb824ece32739bd35f819f8c408e">FSL_LPUART_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 1, 0))</td></tr>
<tr class="memdesc:ga0870fb824ece32739bd35f819f8c408e"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART driver version 2.1.0. <a href="#ga0870fb824ece32739bd35f819f8c408e">More...</a><br/></td></tr>
<tr class="separator:ga0870fb824ece32739bd35f819f8c408e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Initialization and deinitialization</h2></td></tr>
<tr class="memitem:gae0bf80e73707feee830060ff4fbfe292"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gae0bf80e73707feee830060ff4fbfe292">LPUART_Init</a> (LPUART_Type *base, const <a class="el" href="group__lpuart__driver.html#structlpuart__config__t">lpuart_config_t</a> *config, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:gae0bf80e73707feee830060ff4fbfe292"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an LPUART instance with the user configuration structure and the peripheral clock. <a href="#gae0bf80e73707feee830060ff4fbfe292">More...</a><br/></td></tr>
<tr class="separator:gae0bf80e73707feee830060ff4fbfe292"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga303ff3b77767bafa449d96f1e8c921e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga303ff3b77767bafa449d96f1e8c921e0">LPUART_Deinit</a> (LPUART_Type *base)</td></tr>
<tr class="memdesc:ga303ff3b77767bafa449d96f1e8c921e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deinitializes a LPUART instance. <a href="#ga303ff3b77767bafa449d96f1e8c921e0">More...</a><br/></td></tr>
<tr class="separator:ga303ff3b77767bafa449d96f1e8c921e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95dfe3c3886692f1fe32023d59708440"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga95dfe3c3886692f1fe32023d59708440">LPUART_GetDefaultConfig</a> (<a class="el" href="group__lpuart__driver.html#structlpuart__config__t">lpuart_config_t</a> *config)</td></tr>
<tr class="memdesc:ga95dfe3c3886692f1fe32023d59708440"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the default configuration structure. <a href="#ga95dfe3c3886692f1fe32023d59708440">More...</a><br/></td></tr>
<tr class="separator:ga95dfe3c3886692f1fe32023d59708440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e374f897de11217ce02eeb138c03d12"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga4e374f897de11217ce02eeb138c03d12">LPUART_SetBaudRate</a> (LPUART_Type *base, uint32_t baudRate_Bps, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:ga4e374f897de11217ce02eeb138c03d12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the LPUART instance baudrate. <a href="#ga4e374f897de11217ce02eeb138c03d12">More...</a><br/></td></tr>
<tr class="separator:ga4e374f897de11217ce02eeb138c03d12"><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:gab83db963591b116f90daf3e24118cb09"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gab83db963591b116f90daf3e24118cb09">LPUART_GetStatusFlags</a> (LPUART_Type *base)</td></tr>
<tr class="memdesc:gab83db963591b116f90daf3e24118cb09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets LPUART status flags. <a href="#gab83db963591b116f90daf3e24118cb09">More...</a><br/></td></tr>
<tr class="separator:gab83db963591b116f90daf3e24118cb09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6bcdb29d31a2addb8d80d98855ba147"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gac6bcdb29d31a2addb8d80d98855ba147">LPUART_ClearStatusFlags</a> (LPUART_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:gac6bcdb29d31a2addb8d80d98855ba147"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears status flags with a provided mask. <a href="#gac6bcdb29d31a2addb8d80d98855ba147">More...</a><br/></td></tr>
<tr class="separator:gac6bcdb29d31a2addb8d80d98855ba147"><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:gab5998ebb0dc457f0864c84c16f83d745"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gab5998ebb0dc457f0864c84c16f83d745">LPUART_EnableInterrupts</a> (LPUART_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:gab5998ebb0dc457f0864c84c16f83d745"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables LPUART interrupts according to a provided mask. <a href="#gab5998ebb0dc457f0864c84c16f83d745">More...</a><br/></td></tr>
<tr class="separator:gab5998ebb0dc457f0864c84c16f83d745"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2540406e4a338199acddaa828829cad8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga2540406e4a338199acddaa828829cad8">LPUART_DisableInterrupts</a> (LPUART_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga2540406e4a338199acddaa828829cad8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables LPUART interrupts according to a provided mask. <a href="#ga2540406e4a338199acddaa828829cad8">More...</a><br/></td></tr>
<tr class="separator:ga2540406e4a338199acddaa828829cad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga172b524bae8bacc6dc95d9daf82c97b5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga172b524bae8bacc6dc95d9daf82c97b5">LPUART_GetEnabledInterrupts</a> (LPUART_Type *base)</td></tr>
<tr class="memdesc:ga172b524bae8bacc6dc95d9daf82c97b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets enabled LPUART interrupts. <a href="#ga172b524bae8bacc6dc95d9daf82c97b5">More...</a><br/></td></tr>
<tr class="separator:ga172b524bae8bacc6dc95d9daf82c97b5"><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:ga49961d4e9043ff9bd10e477add9258d7"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga49961d4e9043ff9bd10e477add9258d7">LPUART_EnableTx</a> (LPUART_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga49961d4e9043ff9bd10e477add9258d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the LPUART transmitter. <a href="#ga49961d4e9043ff9bd10e477add9258d7">More...</a><br/></td></tr>
<tr class="separator:ga49961d4e9043ff9bd10e477add9258d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaadb8a7199526555e50e65e017da4eae2"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gaadb8a7199526555e50e65e017da4eae2">LPUART_EnableRx</a> (LPUART_Type *base, bool enable)</td></tr>
<tr class="memdesc:gaadb8a7199526555e50e65e017da4eae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the LPUART receiver. <a href="#gaadb8a7199526555e50e65e017da4eae2">More...</a><br/></td></tr>
<tr class="separator:gaadb8a7199526555e50e65e017da4eae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a9389e1c7bcce6c23e00eb77006a717"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga9a9389e1c7bcce6c23e00eb77006a717">LPUART_WriteByte</a> (LPUART_Type *base, uint8_t data)</td></tr>
<tr class="memdesc:ga9a9389e1c7bcce6c23e00eb77006a717"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes to the transmitter register. <a href="#ga9a9389e1c7bcce6c23e00eb77006a717">More...</a><br/></td></tr>
<tr class="separator:ga9a9389e1c7bcce6c23e00eb77006a717"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02013105f0aacc7062eaae59d7401d29"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga02013105f0aacc7062eaae59d7401d29">LPUART_ReadByte</a> (LPUART_Type *base)</td></tr>
<tr class="memdesc:ga02013105f0aacc7062eaae59d7401d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the RX register. <a href="#ga02013105f0aacc7062eaae59d7401d29">More...</a><br/></td></tr>
<tr class="separator:ga02013105f0aacc7062eaae59d7401d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5377aeebf4327f4ef9de295d8695cd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gac5377aeebf4327f4ef9de295d8695cd9">LPUART_WriteBlocking</a> (LPUART_Type *base, const uint8_t *data, size_t length)</td></tr>
<tr class="memdesc:gac5377aeebf4327f4ef9de295d8695cd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes to transmitter register using a blocking method. <a href="#gac5377aeebf4327f4ef9de295d8695cd9">More...</a><br/></td></tr>
<tr class="separator:gac5377aeebf4327f4ef9de295d8695cd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae76aba14dbfe94124082785e2c0ecd9d"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gae76aba14dbfe94124082785e2c0ecd9d">LPUART_ReadBlocking</a> (LPUART_Type *base, uint8_t *data, size_t length)</td></tr>
<tr class="memdesc:gae76aba14dbfe94124082785e2c0ecd9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the RX data register using a blocking method. <a href="#gae76aba14dbfe94124082785e2c0ecd9d">More...</a><br/></td></tr>
<tr class="separator:gae76aba14dbfe94124082785e2c0ecd9d"><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:ga10eae12610523a624c1016882f8dba5f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga10eae12610523a624c1016882f8dba5f">LPUART_TransferCreateHandle</a> (LPUART_Type *base, lpuart_handle_t *handle, <a class="el" href="group__lpuart__driver.html#ga7ab1637091d166aa8b69517350fb05c8">lpuart_transfer_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:ga10eae12610523a624c1016882f8dba5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the LPUART handle. <a href="#ga10eae12610523a624c1016882f8dba5f">More...</a><br/></td></tr>
<tr class="separator:ga10eae12610523a624c1016882f8dba5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafba986c473e5935131e63cb882cf26ff"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gafba986c473e5935131e63cb882cf26ff">LPUART_TransferSendNonBlocking</a> (LPUART_Type *base, lpuart_handle_t *handle, <a class="el" href="group__lpuart__driver.html#structlpuart__transfer__t">lpuart_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:gafba986c473e5935131e63cb882cf26ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmits a buffer of data using the interrupt method. <a href="#gafba986c473e5935131e63cb882cf26ff">More...</a><br/></td></tr>
<tr class="separator:gafba986c473e5935131e63cb882cf26ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5257b77491042af5913a8d91c66318e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga5257b77491042af5913a8d91c66318e1">LPUART_TransferStartRingBuffer</a> (LPUART_Type *base, lpuart_handle_t *handle, uint8_t *ringBuffer, size_t ringBufferSize)</td></tr>
<tr class="memdesc:ga5257b77491042af5913a8d91c66318e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets up the RX ring buffer. <a href="#ga5257b77491042af5913a8d91c66318e1">More...</a><br/></td></tr>
<tr class="separator:ga5257b77491042af5913a8d91c66318e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6a230a664808592aab153ea20e3d60b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gad6a230a664808592aab153ea20e3d60b">LPUART_TransferStopRingBuffer</a> (LPUART_Type *base, lpuart_handle_t *handle)</td></tr>
<tr class="memdesc:gad6a230a664808592aab153ea20e3d60b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort the background transfer and uninstall the ring buffer. <a href="#gad6a230a664808592aab153ea20e3d60b">More...</a><br/></td></tr>
<tr class="separator:gad6a230a664808592aab153ea20e3d60b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6dfe9efe9656e126c70ee79fa03f2be3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga6dfe9efe9656e126c70ee79fa03f2be3">LPUART_TransferAbortSend</a> (LPUART_Type *base, lpuart_handle_t *handle)</td></tr>
<tr class="memdesc:ga6dfe9efe9656e126c70ee79fa03f2be3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the interrupt-driven data transmit. <a href="#ga6dfe9efe9656e126c70ee79fa03f2be3">More...</a><br/></td></tr>
<tr class="separator:ga6dfe9efe9656e126c70ee79fa03f2be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad80d2469dce0de9361e731e4cefde9fd"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gad80d2469dce0de9361e731e4cefde9fd">LPUART_TransferGetSendCount</a> (LPUART_Type *base, lpuart_handle_t *handle, uint32_t *count)</td></tr>
<tr class="memdesc:gad80d2469dce0de9361e731e4cefde9fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of bytes that have been written to LPUART TX register. <a href="#gad80d2469dce0de9361e731e4cefde9fd">More...</a><br/></td></tr>
<tr class="separator:gad80d2469dce0de9361e731e4cefde9fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8bdb584704ce7955004751e32627f918"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga8bdb584704ce7955004751e32627f918">LPUART_TransferReceiveNonBlocking</a> (LPUART_Type *base, lpuart_handle_t *handle, <a class="el" href="group__lpuart__driver.html#structlpuart__transfer__t">lpuart_transfer_t</a> *xfer, size_t *receivedBytes)</td></tr>
<tr class="memdesc:ga8bdb584704ce7955004751e32627f918"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receives a buffer of data using the interrupt method. <a href="#ga8bdb584704ce7955004751e32627f918">More...</a><br/></td></tr>
<tr class="separator:ga8bdb584704ce7955004751e32627f918"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4950fa0f3835992251c109f655a3ca7d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga4950fa0f3835992251c109f655a3ca7d">LPUART_TransferAbortReceive</a> (LPUART_Type *base, lpuart_handle_t *handle)</td></tr>
<tr class="memdesc:ga4950fa0f3835992251c109f655a3ca7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the interrupt-driven data receiving. <a href="#ga4950fa0f3835992251c109f655a3ca7d">More...</a><br/></td></tr>
<tr class="separator:ga4950fa0f3835992251c109f655a3ca7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabfcdc658c463e9e7523cc60c5e8f9672"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gabfcdc658c463e9e7523cc60c5e8f9672">LPUART_TransferGetReceiveCount</a> (LPUART_Type *base, lpuart_handle_t *handle, uint32_t *count)</td></tr>
<tr class="memdesc:gabfcdc658c463e9e7523cc60c5e8f9672"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of bytes that have been received. <a href="#gabfcdc658c463e9e7523cc60c5e8f9672">More...</a><br/></td></tr>
<tr class="separator:gabfcdc658c463e9e7523cc60c5e8f9672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac81ce3c490d7185ab7e2d97963ae077e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#gac81ce3c490d7185ab7e2d97963ae077e">LPUART_TransferHandleIRQ</a> (LPUART_Type *base, lpuart_handle_t *handle)</td></tr>
<tr class="memdesc:gac81ce3c490d7185ab7e2d97963ae077e"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART IRQ handle function. <a href="#gac81ce3c490d7185ab7e2d97963ae077e">More...</a><br/></td></tr>
<tr class="separator:gac81ce3c490d7185ab7e2d97963ae077e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21345340b5d8f90df6bb64acab0f870f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ga21345340b5d8f90df6bb64acab0f870f">LPUART_TransferHandleErrorIRQ</a> (LPUART_Type *base, lpuart_handle_t *handle)</td></tr>
<tr class="memdesc:ga21345340b5d8f90df6bb64acab0f870f"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART Error IRQ handle function. <a href="#ga21345340b5d8f90df6bb64acab0f870f">More...</a><br/></td></tr>
<tr class="separator:ga21345340b5d8f90df6bb64acab0f870f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structlpuart__config__t" id="structlpuart__config__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct lpuart_config_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a09d359de28dc114424b2d702df014d1c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09d359de28dc114424b2d702df014d1c"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a09d359de28dc114424b2d702df014d1c">baudRate_Bps</a></td></tr>
<tr class="memdesc:a09d359de28dc114424b2d702df014d1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART baud rate. <br/></td></tr>
<tr class="separator:a09d359de28dc114424b2d702df014d1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7ce86796f025a059c973c540d5a94ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7ce86796f025a059c973c540d5a94ad"></a>
<a class="el" href="group__lpuart__driver.html#ga6fcd73abf900b8a17dab1f2b1f3f53c7">lpuart_parity_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ae7ce86796f025a059c973c540d5a94ad">parityMode</a></td></tr>
<tr class="memdesc:ae7ce86796f025a059c973c540d5a94ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parity mode, disabled (default), even, odd. <br/></td></tr>
<tr class="separator:ae7ce86796f025a059c973c540d5a94ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d677467cd14ee90f544d688f3dc9b9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d677467cd14ee90f544d688f3dc9b9a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a0d677467cd14ee90f544d688f3dc9b9a">enableTx</a></td></tr>
<tr class="memdesc:a0d677467cd14ee90f544d688f3dc9b9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable TX. <br/></td></tr>
<tr class="separator:a0d677467cd14ee90f544d688f3dc9b9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48d3f37a9364c0093083ef843d5d062e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48d3f37a9364c0093083ef843d5d062e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a48d3f37a9364c0093083ef843d5d062e">enableRx</a></td></tr>
<tr class="memdesc:a48d3f37a9364c0093083ef843d5d062e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable RX. <br/></td></tr>
<tr class="separator:a48d3f37a9364c0093083ef843d5d062e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<a name="structlpuart__transfer__t" id="structlpuart__transfer__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct lpuart_transfer_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a7c49cf389dea8ad6f674bff6cedd8e37"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a7c49cf389dea8ad6f674bff6cedd8e37">data</a></td></tr>
<tr class="memdesc:a7c49cf389dea8ad6f674bff6cedd8e37"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer of data to be transfer. <a href="#a7c49cf389dea8ad6f674bff6cedd8e37">More...</a><br/></td></tr>
<tr class="separator:a7c49cf389dea8ad6f674bff6cedd8e37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad269a833a8e8e4cdbc0d485d59e256d8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ad269a833a8e8e4cdbc0d485d59e256d8">dataSize</a></td></tr>
<tr class="memdesc:ad269a833a8e8e4cdbc0d485d59e256d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The byte count to be transfer. <a href="#ad269a833a8e8e4cdbc0d485d59e256d8">More...</a><br/></td></tr>
<tr class="separator:ad269a833a8e8e4cdbc0d485d59e256d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a7c49cf389dea8ad6f674bff6cedd8e37"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* lpuart_transfer_t::data</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad269a833a8e8e4cdbc0d485d59e256d8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t lpuart_transfer_t::dataSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="struct__lpuart__handle" id="struct__lpuart__handle"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _lpuart_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:a85dfd2cc5aa30f259ce7338a48c832a8"><td class="memItemLeft" align="right" valign="top">uint8_t *volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a85dfd2cc5aa30f259ce7338a48c832a8">txData</a></td></tr>
<tr class="memdesc:a85dfd2cc5aa30f259ce7338a48c832a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address of remaining data to send. <a href="#a85dfd2cc5aa30f259ce7338a48c832a8">More...</a><br/></td></tr>
<tr class="separator:a85dfd2cc5aa30f259ce7338a48c832a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2114edec74578fe798a62cf852ab0194"><td class="memItemLeft" align="right" valign="top">volatile size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a2114edec74578fe798a62cf852ab0194">txDataSize</a></td></tr>
<tr class="memdesc:a2114edec74578fe798a62cf852ab0194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the remaining data to send. <a href="#a2114edec74578fe798a62cf852ab0194">More...</a><br/></td></tr>
<tr class="separator:a2114edec74578fe798a62cf852ab0194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84153c9f581e7201d5c2a20423a321da"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a84153c9f581e7201d5c2a20423a321da">txDataSizeAll</a></td></tr>
<tr class="memdesc:a84153c9f581e7201d5c2a20423a321da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the data to send out. <a href="#a84153c9f581e7201d5c2a20423a321da">More...</a><br/></td></tr>
<tr class="separator:a84153c9f581e7201d5c2a20423a321da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d3fceca5b3bee7f183116ee7b3a3b93"><td class="memItemLeft" align="right" valign="top">uint8_t *volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a6d3fceca5b3bee7f183116ee7b3a3b93">rxData</a></td></tr>
<tr class="memdesc:a6d3fceca5b3bee7f183116ee7b3a3b93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address of remaining data to receive. <a href="#a6d3fceca5b3bee7f183116ee7b3a3b93">More...</a><br/></td></tr>
<tr class="separator:a6d3fceca5b3bee7f183116ee7b3a3b93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b9d688ed6ecbb3b71d6b266bec66edb"><td class="memItemLeft" align="right" valign="top">volatile size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a6b9d688ed6ecbb3b71d6b266bec66edb">rxDataSize</a></td></tr>
<tr class="memdesc:a6b9d688ed6ecbb3b71d6b266bec66edb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the remaining data to receive. <a href="#a6b9d688ed6ecbb3b71d6b266bec66edb">More...</a><br/></td></tr>
<tr class="separator:a6b9d688ed6ecbb3b71d6b266bec66edb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ac2cb3c691238ed65a34410ab8f2920"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a4ac2cb3c691238ed65a34410ab8f2920">rxDataSizeAll</a></td></tr>
<tr class="memdesc:a4ac2cb3c691238ed65a34410ab8f2920"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the data to receive. <a href="#a4ac2cb3c691238ed65a34410ab8f2920">More...</a><br/></td></tr>
<tr class="separator:a4ac2cb3c691238ed65a34410ab8f2920"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3eca0396fcb49d3652a40c7cf49024c8"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a3eca0396fcb49d3652a40c7cf49024c8">rxRingBuffer</a></td></tr>
<tr class="memdesc:a3eca0396fcb49d3652a40c7cf49024c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start address of the receiver ring buffer. <a href="#a3eca0396fcb49d3652a40c7cf49024c8">More...</a><br/></td></tr>
<tr class="separator:a3eca0396fcb49d3652a40c7cf49024c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12cff540159d2fb592e4856957d820cd"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a12cff540159d2fb592e4856957d820cd">rxRingBufferSize</a></td></tr>
<tr class="memdesc:a12cff540159d2fb592e4856957d820cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the ring buffer. <a href="#a12cff540159d2fb592e4856957d820cd">More...</a><br/></td></tr>
<tr class="separator:a12cff540159d2fb592e4856957d820cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaffed28a2a686bb90e3238a3d8e597b3"><td class="memItemLeft" align="right" valign="top">volatile uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#aaffed28a2a686bb90e3238a3d8e597b3">rxRingBufferHead</a></td></tr>
<tr class="memdesc:aaffed28a2a686bb90e3238a3d8e597b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index for the driver to store received data into ring buffer. <a href="#aaffed28a2a686bb90e3238a3d8e597b3">More...</a><br/></td></tr>
<tr class="separator:aaffed28a2a686bb90e3238a3d8e597b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acecaaa5df8327c5b33815cb7483abd75"><td class="memItemLeft" align="right" valign="top">volatile uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#acecaaa5df8327c5b33815cb7483abd75">rxRingBufferTail</a></td></tr>
<tr class="memdesc:acecaaa5df8327c5b33815cb7483abd75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index for the user to get data from the ring buffer. <a href="#acecaaa5df8327c5b33815cb7483abd75">More...</a><br/></td></tr>
<tr class="separator:acecaaa5df8327c5b33815cb7483abd75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a881c1d7231d1ee0bcb3eb5f1447f75a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__lpuart__driver.html#ga7ab1637091d166aa8b69517350fb05c8">lpuart_transfer_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a881c1d7231d1ee0bcb3eb5f1447f75a4">callback</a></td></tr>
<tr class="memdesc:a881c1d7231d1ee0bcb3eb5f1447f75a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function. <a href="#a881c1d7231d1ee0bcb3eb5f1447f75a4">More...</a><br/></td></tr>
<tr class="separator:a881c1d7231d1ee0bcb3eb5f1447f75a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9f3989cffe26d3ca63d381da36024be"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#ad9f3989cffe26d3ca63d381da36024be">userData</a></td></tr>
<tr class="memdesc:ad9f3989cffe26d3ca63d381da36024be"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPUART callback function parameter. <a href="#ad9f3989cffe26d3ca63d381da36024be">More...</a><br/></td></tr>
<tr class="separator:ad9f3989cffe26d3ca63d381da36024be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86fe3c8f354afbe67d28a71068206b26"><td class="memItemLeft" align="right" valign="top">volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a86fe3c8f354afbe67d28a71068206b26">txState</a></td></tr>
<tr class="memdesc:a86fe3c8f354afbe67d28a71068206b26"><td class="mdescLeft">&#160;</td><td class="mdescRight">TX transfer state. <a href="#a86fe3c8f354afbe67d28a71068206b26">More...</a><br/></td></tr>
<tr class="separator:a86fe3c8f354afbe67d28a71068206b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a088a1e9a009d852b90fb8390fa7cbbcd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a088a1e9a009d852b90fb8390fa7cbbcd"></a>
volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__driver.html#a088a1e9a009d852b90fb8390fa7cbbcd">rxState</a></td></tr>
<tr class="memdesc:a088a1e9a009d852b90fb8390fa7cbbcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">RX transfer state. <br/></td></tr>
<tr class="separator:a088a1e9a009d852b90fb8390fa7cbbcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a85dfd2cc5aa30f259ce7338a48c832a8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* volatile lpuart_handle_t::txData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2114edec74578fe798a62cf852ab0194"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile size_t lpuart_handle_t::txDataSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a84153c9f581e7201d5c2a20423a321da"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t lpuart_handle_t::txDataSizeAll</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6d3fceca5b3bee7f183116ee7b3a3b93"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* volatile lpuart_handle_t::rxData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6b9d688ed6ecbb3b71d6b266bec66edb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile size_t lpuart_handle_t::rxDataSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4ac2cb3c691238ed65a34410ab8f2920"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t lpuart_handle_t::rxDataSizeAll</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3eca0396fcb49d3652a40c7cf49024c8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* lpuart_handle_t::rxRingBuffer</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a12cff540159d2fb592e4856957d820cd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t lpuart_handle_t::rxRingBufferSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aaffed28a2a686bb90e3238a3d8e597b3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint16_t lpuart_handle_t::rxRingBufferHead</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="acecaaa5df8327c5b33815cb7483abd75"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint16_t lpuart_handle_t::rxRingBufferTail</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a881c1d7231d1ee0bcb3eb5f1447f75a4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__lpuart__driver.html#ga7ab1637091d166aa8b69517350fb05c8">lpuart_transfer_callback_t</a> lpuart_handle_t::callback</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad9f3989cffe26d3ca63d381da36024be"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* lpuart_handle_t::userData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a86fe3c8f354afbe67d28a71068206b26"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint8_t lpuart_handle_t::txState</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga0870fb824ece32739bd35f819f8c408e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_LPUART_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 1, 0))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga7ab1637091d166aa8b69517350fb05c8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* lpuart_transfer_callback_t)(LPUART_Type *base, lpuart_handle_t *handle, status_t status, void *userData)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga91d929761e975dda91c0cc811d253ce5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__lpuart__driver.html#ga91d929761e975dda91c0cc811d253ce5">_lpuart_status</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5abddb317db7dfffa95856604bfac2a17f"></a>kStatus_LPUART_TxBusy</em>&#160;</td><td class="fielddoc">
<p>TX busy. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5a98dfeab0a23c81f6b7f2c18acff8cc30"></a>kStatus_LPUART_RxBusy</em>&#160;</td><td class="fielddoc">
<p>RX busy. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5a079c6d0957d121ce7cd95cf97487dfbb"></a>kStatus_LPUART_TxIdle</em>&#160;</td><td class="fielddoc">
<p>LPUART transmitter is idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5a02b8fe84bbfd8c52856b5d48865f7088"></a>kStatus_LPUART_RxIdle</em>&#160;</td><td class="fielddoc">
<p>LPUART receiver is idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5abbee969cb0f7b4c49b44b10c4eb583cc"></a>kStatus_LPUART_TxWatermarkTooLarge</em>&#160;</td><td class="fielddoc">
<p>TX FIFO watermark too large. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5aca81b4d6e2e792c6d841b95ec25daad9"></a>kStatus_LPUART_RxWatermarkTooLarge</em>&#160;</td><td class="fielddoc">
<p>RX FIFO watermark too large. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5a07d5a5092ded158fe53ea4df940f8bdb"></a>kStatus_LPUART_FlagCannotClearManually</em>&#160;</td><td class="fielddoc">
<p>Some flag can't manually clear. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5af069a1997c3d25588d834ccb33dd35f4"></a>kStatus_LPUART_Error</em>&#160;</td><td class="fielddoc">
<p>Error happens on LPUART. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5a45a7ed684f4c31aec8999b3da68d3b5e"></a>kStatus_LPUART_RxRingBufferOverrun</em>&#160;</td><td class="fielddoc">
<p>LPUART RX software ring buffer overrun. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5af8ada3eacff87751ec865b4fc584bac1"></a>kStatus_LPUART_RxHardwareOverrun</em>&#160;</td><td class="fielddoc">
<p>LPUART RX receiver overrun. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5a6ccebae2eb859fde044f15f1dd18cba1"></a>kStatus_LPUART_NoiseError</em>&#160;</td><td class="fielddoc">
<p>LPUART noise error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5a1528dc2aacb3a792a1ecbfbbc7941bc9"></a>kStatus_LPUART_FramingError</em>&#160;</td><td class="fielddoc">
<p>LPUART framing error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga91d929761e975dda91c0cc811d253ce5ad42bcd27cb6e04725768c6b98d4cbe0d"></a>kStatus_LPUART_ParityError</em>&#160;</td><td class="fielddoc">
<p>LPUART parity error. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga6fcd73abf900b8a17dab1f2b1f3f53c7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__lpuart__driver.html#ga6fcd73abf900b8a17dab1f2b1f3f53c7">lpuart_parity_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga6fcd73abf900b8a17dab1f2b1f3f53c7a0e5bdb8fc4e1010930d05e1490a75b1a"></a>kLPUART_ParityDisabled</em>&#160;</td><td class="fielddoc">
<p>Parity disabled. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6fcd73abf900b8a17dab1f2b1f3f53c7ac92adb3fdf11240ca5dee6c6543b6ff7"></a>kLPUART_ParityEven</em>&#160;</td><td class="fielddoc">
<p>Parity enabled, type even, bit setting: PE|PT = 10. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6fcd73abf900b8a17dab1f2b1f3f53c7adab63856e98e0715f4ab289ac0da3575"></a>kLPUART_ParityOdd</em>&#160;</td><td class="fielddoc">
<p>Parity enabled, type odd, bit setting: PE|PT = 11. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga7540d87bc3fa8a605d8da53fe08219f0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__lpuart__driver.html#ga7540d87bc3fa8a605d8da53fe08219f0">lpuart_stop_bit_count_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga7540d87bc3fa8a605d8da53fe08219f0a4304f0ee73a5fabfadfc05ca1fbd3901"></a>kLPUART_OneStopBit</em>&#160;</td><td class="fielddoc">
<p>One stop bit. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga7540d87bc3fa8a605d8da53fe08219f0a6e049e0faaf89ed2dfe493ad8f6c93d4"></a>kLPUART_TwoStopBit</em>&#160;</td><td class="fielddoc">
<p>Two stop bits. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga199a157d391291a9d003bf23954f9603"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__lpuart__driver.html#ga199a157d391291a9d003bf23954f9603">_lpuart_interrupt_enable</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This structure contains the settings for all LPUART interrupt configurations. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga199a157d391291a9d003bf23954f9603a43750aac20f72535350c1ab4a1862a3a"></a>kLPUART_RxActiveEdgeInterruptEnable</em>&#160;</td><td class="fielddoc">
<p>Receive Active Edge. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga199a157d391291a9d003bf23954f9603a0e8bf389f65e5f86a3063dc55b8aae1c"></a>kLPUART_TxDataRegEmptyInterruptEnable</em>&#160;</td><td class="fielddoc">
<p>Transmit data register empty. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga199a157d391291a9d003bf23954f9603a0b7f783393a61cce88eab28307e9fe14"></a>kLPUART_TransmissionCompleteInterruptEnable</em>&#160;</td><td class="fielddoc">
<p>Transmission complete. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga199a157d391291a9d003bf23954f9603a5b4a0893c98bf79d0dad88aeb7714d22"></a>kLPUART_RxDataRegFullInterruptEnable</em>&#160;</td><td class="fielddoc">
<p>Receiver data register full. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga199a157d391291a9d003bf23954f9603af3f83c56032b14e50a682857dd7c152d"></a>kLPUART_IdleLineInterruptEnable</em>&#160;</td><td class="fielddoc">
<p>Idle line. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga199a157d391291a9d003bf23954f9603a8a29c714eaa6acab06a87314f4f29636"></a>kLPUART_RxOverrunInterruptEnable</em>&#160;</td><td class="fielddoc">
<p>Receiver Overrun. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga199a157d391291a9d003bf23954f9603ad1a35bc7e89f170a5b82cb4801b73b5e"></a>kLPUART_NoiseErrorInterruptEnable</em>&#160;</td><td class="fielddoc">
<p>Noise error flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga199a157d391291a9d003bf23954f9603a1b43ca06e0af6b0fcf4b55612363a64d"></a>kLPUART_FramingErrorInterruptEnable</em>&#160;</td><td class="fielddoc">
<p>Framing error flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga199a157d391291a9d003bf23954f9603a13c12b816605deaabcbc3e6a6db82466"></a>kLPUART_ParityErrorInterruptEnable</em>&#160;</td><td class="fielddoc">
<p>Parity error flag. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga24bb7ca3f894fe5ff55b9f38bec16c89"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__lpuart__driver.html#ga24bb7ca3f894fe5ff55b9f38bec16c89">_lpuart_flags</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This provides constants for the LPUART status flags for use in the LPUART functions. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga24bb7ca3f894fe5ff55b9f38bec16c89aa765f8ddac00348328f64ad4222d057a"></a>kLPUART_TxDataRegEmptyFlag</em>&#160;</td><td class="fielddoc">
<p>Transmit data register empty flag, sets when transmit buffer is empty. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga24bb7ca3f894fe5ff55b9f38bec16c89ae0539c4cf39d4d1e7839a4896fad2a85"></a>kLPUART_TransmissionCompleteFlag</em>&#160;</td><td class="fielddoc">
<p>Transmission complete flag, sets when transmission activity complete. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga24bb7ca3f894fe5ff55b9f38bec16c89a9bc679bcc20b81768f84b04e499c5a2f"></a>kLPUART_RxDataRegFullFlag</em>&#160;</td><td class="fielddoc">
<p>Receive data register full flag, sets when the receive data buffer is full. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga24bb7ca3f894fe5ff55b9f38bec16c89acf1a40aca38878bc395f9f0b10d8225e"></a>kLPUART_IdleLineFlag</em>&#160;</td><td class="fielddoc">
<p>Idle line detect flag, sets when idle line detected. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga24bb7ca3f894fe5ff55b9f38bec16c89a994f5f484509133c632215a8b701f8d1"></a>kLPUART_RxOverrunFlag</em>&#160;</td><td class="fielddoc">
<p>Receive Overrun, sets when new data is received before data is read from receive register. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga24bb7ca3f894fe5ff55b9f38bec16c89a2198232cb9d239f937ab221bbf03259f"></a>kLPUART_NoiseErrorFlag</em>&#160;</td><td class="fielddoc">
<p>Receive takes 3 samples of each received bit. </p>
<p>If any of these samples differ, noise flag sets </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga24bb7ca3f894fe5ff55b9f38bec16c89ad1d40f89cb6aab9c12113586fda7f510"></a>kLPUART_FramingErrorFlag</em>&#160;</td><td class="fielddoc">
<p>Frame error flag, sets if logic 0 was detected where stop bit expected. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga24bb7ca3f894fe5ff55b9f38bec16c89a2f8d4c03df61bc4678b2ccf1c69eedeb"></a>kLPUART_ParityErrorFlag</em>&#160;</td><td class="fielddoc">
<p>If parity enabled, sets upon parity error detection. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga24bb7ca3f894fe5ff55b9f38bec16c89ae89f181d8dbbf5254d6fe843e4cac6d6"></a>kLPUART_RxActiveEdgeFlag</em>&#160;</td><td class="fielddoc">
<p>Receive pin active edge interrupt flag, sets when active edge detected. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga24bb7ca3f894fe5ff55b9f38bec16c89a1f14711a74db1cc141b5c2627ee4c799"></a>kLPUART_RxActiveFlag</em>&#160;</td><td class="fielddoc">
<p>Receiver Active Flag (RAF), sets at beginning of valid start bit. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gae0bf80e73707feee830060ff4fbfe292"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_Init </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__lpuart__driver.html#structlpuart__config__t">lpuart_config_t</a> *&#160;</td>
<td class="paramname"><em>config</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>This function configures the LPUART module with user-defined settings. Call the <a class="el" href="group__lpuart__driver.html#ga95dfe3c3886692f1fe32023d59708440" title="Gets the default configuration structure. ">LPUART_GetDefaultConfig()</a> function to configure the configuration structure and get the default configuration. The example below shows how to use this API to configure the LPUART. </p>
<div class="fragment"><div class="line"><a class="code" href="group__lpuart__driver.html#structlpuart__config__t">lpuart_config_t</a> lpuartConfig;</div>
<div class="line">lpuartConfig.<a class="code" href="group__lpuart__driver.html#a09d359de28dc114424b2d702df014d1c">baudRate_Bps</a> = 115200U;</div>
<div class="line">lpuartConfig.<a class="code" href="group__lpuart__driver.html#ae7ce86796f025a059c973c540d5a94ad">parityMode</a> = <a class="code" href="group__lpuart__driver.html#gga6fcd73abf900b8a17dab1f2b1f3f53c7a0e5bdb8fc4e1010930d05e1490a75b1a">kLPUART_ParityDisabled</a>;</div>
<div class="line">lpuartConfig.stopBitCount = <a class="code" href="group__lpuart__driver.html#gga7540d87bc3fa8a605d8da53fe08219f0a4304f0ee73a5fabfadfc05ca1fbd3901">kLPUART_OneStopBit</a>;</div>
<div class="line">lpuartConfig.txFifoWatermark = 0;</div>
<div class="line">lpuartConfig.rxFifoWatermark = 1;</div>
<div class="line"><a class="code" href="group__lpuart__driver.html#gae0bf80e73707feee830060ff4fbfe292">LPUART_Init</a>(LPUART1, &amp;lpuartConfig, 20000000U);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">config</td><td>Pointer to a user-defined configuration structure. </td></tr>
<tr><td class="paramname">srcClock_Hz</td><td>LPUART clock source frequency in HZ. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga303ff3b77767bafa449d96f1e8c921e0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_Deinit </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function waits for transmit to complete, disables TX and RX, and disables the LPUART clock.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga95dfe3c3886692f1fe32023d59708440"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_GetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__lpuart__driver.html#structlpuart__config__t">lpuart_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function initializes the LPUART configuration structure to a default value. The default values are: lpuartConfig-&gt;baudRate_Bps = 115200U; lpuartConfig-&gt;parityMode = kLPUART_ParityDisabled; lpuartConfig-&gt;stopBitCount = kLPUART_OneStopBit; lpuartConfig-&gt;txFifoWatermark = 0; lpuartConfig-&gt;rxFifoWatermark = 1; lpuartConfig-&gt;enableTx = false; lpuartConfig-&gt;enableRx = false;</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to a configuration structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga4e374f897de11217ce02eeb138c03d12"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_SetBaudRate </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>baudRate_Bps</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>This function configures the LPUART module baudrate. This function is used to update the LPUART module baudrate after the LPUART module is initialized by the LPUART_Init. </p>
<div class="fragment"><div class="line"><a class="code" href="group__lpuart__driver.html#ga4e374f897de11217ce02eeb138c03d12">LPUART_SetBaudRate</a>(LPUART1, 115200U, 20000000U);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">baudRate_Bps</td><td>LPUART baudrate to be set. </td></tr>
<tr><td class="paramname">srcClock_Hz</td><td>LPUART clock source frequency in HZ. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab83db963591b116f90daf3e24118cb09"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t LPUART_GetStatusFlags </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function gets all LPUART status flags. The flags are returned as the logical OR value of the enumerators <a class="el" href="group__lpuart__driver.html#ga24bb7ca3f894fe5ff55b9f38bec16c89">_lpuart_flags</a>. To check for a specific status, compare the return value with enumerators in the <a class="el" href="group__lpuart__driver.html#ga24bb7ca3f894fe5ff55b9f38bec16c89">_lpuart_flags</a>. For example, to check whether the TX is empty: </p>
<div class="fragment"><div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__lpuart__driver.html#gga24bb7ca3f894fe5ff55b9f38bec16c89aa765f8ddac00348328f64ad4222d057a">kLPUART_TxDataRegEmptyFlag</a> &amp; <a class="code" href="group__lpuart__driver.html#gab83db963591b116f90daf3e24118cb09">LPUART_GetStatusFlags</a>(LPUART1))</div>
<div class="line">{</div>
<div class="line"> ...</div>
<div class="line">}</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>LPUART status flags which are ORed by the enumerators in the _lpuart_flags. </dd></dl>
</div>
</div>
<a class="anchor" id="gac6bcdb29d31a2addb8d80d98855ba147"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LPUART_ClearStatusFlags </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function clears LPUART status flags with a provided mask. Automatically cleared flags can't be cleared by this function. Flags that can only cleared or set by hardware are: kLPUART_TxDataRegEmptyFlag, kLPUART_TransmissionCompleteFlag, kLPUART_RxDataRegFullFlag, kLPUART_RxActiveFlag, kLPUART_NoiseErrorInRxDataRegFlag, kLPUART_ParityErrorInRxDataRegFlag, kLPUART_TxFifoEmptyFlag,kLPUART_RxFifoEmptyFlag Note: This API should be called when the Tx/Rx is idle, otherwise it takes no effects.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>the status flags to be cleared. The user can use the enumerators in the _lpuart_status_flag_t to do the OR operation and get the mask. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 succeed, others failed. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_LPUART_FlagCannotClearManually</td><td>The flag can't be cleared by this function but it is cleared automatically by hardware. </td></tr>
<tr><td class="paramname">kStatus_Success</td><td>Status in the mask are cleared. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab5998ebb0dc457f0864c84c16f83d745"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_EnableInterrupts </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function enables the LPUART interrupts according to a provided mask. The mask is a logical OR of enumeration members. See the <a class="el" href="group__lpuart__driver.html#ga199a157d391291a9d003bf23954f9603">_lpuart_interrupt_enable</a>. This examples shows how to enable TX empty interrupt and RX full interrupt: </p>
<div class="fragment"><div class="line"><a class="code" href="group__lpuart__driver.html#gab5998ebb0dc457f0864c84c16f83d745">LPUART_EnableInterrupts</a>(LPUART1,<a class="code" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a0e8bf389f65e5f86a3063dc55b8aae1c">kLPUART_TxDataRegEmptyInterruptEnable</a> | <a class="code" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a5b4a0893c98bf79d0dad88aeb7714d22">kLPUART_RxDataRegFullInterruptEnable</a>);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>The interrupts to enable. Logical OR of <a class="el" href="group__uart__driver.html#ga700f3cd8e3800273a1591307cab6311c">_uart_interrupt_enable</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2540406e4a338199acddaa828829cad8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_DisableInterrupts </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function disables the LPUART interrupts according to a provided mask. The mask is a logical OR of enumeration members. See <a class="el" href="group__lpuart__driver.html#ga199a157d391291a9d003bf23954f9603">_lpuart_interrupt_enable</a>. This example shows how to disable the TX empty interrupt and RX full interrupt: </p>
<div class="fragment"><div class="line"><a class="code" href="group__lpuart__driver.html#ga2540406e4a338199acddaa828829cad8">LPUART_DisableInterrupts</a>(LPUART1,<a class="code" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a0e8bf389f65e5f86a3063dc55b8aae1c">kLPUART_TxDataRegEmptyInterruptEnable</a> | <a class="code" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a5b4a0893c98bf79d0dad88aeb7714d22">kLPUART_RxDataRegFullInterruptEnable</a>);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>The interrupts to disable. Logical OR of <a class="el" href="group__lpuart__driver.html#ga199a157d391291a9d003bf23954f9603">_lpuart_interrupt_enable</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga172b524bae8bacc6dc95d9daf82c97b5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t LPUART_GetEnabledInterrupts </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function gets the enabled LPUART interrupts. The enabled interrupts are returned as the logical OR value of the enumerators <a class="el" href="group__lpuart__driver.html#ga199a157d391291a9d003bf23954f9603">_lpuart_interrupt_enable</a>. To check a specific interrupt enable status, compare the return value with enumerators in <a class="el" href="group__lpuart__driver.html#ga199a157d391291a9d003bf23954f9603">_lpuart_interrupt_enable</a>. For example, to check whether the TX empty interrupt is enabled: </p>
<div class="fragment"><div class="line">uint32_t enabledInterrupts = <a class="code" href="group__lpuart__driver.html#ga172b524bae8bacc6dc95d9daf82c97b5">LPUART_GetEnabledInterrupts</a>(LPUART1);</div>
<div class="line"></div>
<div class="line"><span class="keywordflow">if</span> (<a class="code" href="group__lpuart__driver.html#gga199a157d391291a9d003bf23954f9603a0e8bf389f65e5f86a3063dc55b8aae1c">kLPUART_TxDataRegEmptyInterruptEnable</a> &amp; enabledInterrupts)</div>
<div class="line">{</div>
<div class="line"> ...</div>
<div class="line">}</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>LPUART interrupt flags which are logical OR of the enumerators in <a class="el" href="group__lpuart__driver.html#ga199a157d391291a9d003bf23954f9603">_lpuart_interrupt_enable</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="ga49961d4e9043ff9bd10e477add9258d7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void LPUART_EnableTx </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function enables or disables the LPUART transmitter.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>True to enable, false to disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaadb8a7199526555e50e65e017da4eae2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void LPUART_EnableRx </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function enables or disables the LPUART receiver.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>True to enable, false to disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9a9389e1c7bcce6c23e00eb77006a717"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void LPUART_WriteByte </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>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">
<p>This function writes data to the transmitter register directly. The upper layer must ensure that the TX register is empty or that the TX FIFO has room before calling this function.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">data</td><td>Data write to the TX register. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga02013105f0aacc7062eaae59d7401d29"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint8_t LPUART_ReadByte </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function reads data from the TX register directly. The upper layer must ensure that the RX register is full or that the TX FIFO has data before calling this function.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Data read from data register. </dd></dl>
</div>
</div>
<a class="anchor" id="gac5377aeebf4327f4ef9de295d8695cd9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_WriteBlocking </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>length</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function polls the transmitter register, waits for the register to be empty or for TX FIFO to have room and then writes data to the transmitter buffer.</p>
<dl class="section note"><dt>Note</dt><dd>This function does not check whether all data has been sent out to the bus. Before disabling the transmitter, check the kLPUART_TransmissionCompleteFlag to ensure that the transmit is finished.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">data</td><td>Start address of the data to write. </td></tr>
<tr><td class="paramname">length</td><td>Size of the data to write. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae76aba14dbfe94124082785e2c0ecd9d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LPUART_ReadBlocking </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>length</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function polls the RX register, waits for the RX register full or RX FIFO has data then reads data from the TX register.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">data</td><td>Start address of the buffer to store the received data. </td></tr>
<tr><td class="paramname">length</td><td>Size of the buffer. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_LPUART_RxHardwareOverrun</td><td>Receiver overrun happened while receiving data. </td></tr>
<tr><td class="paramname">kStatus_LPUART_NoiseError</td><td>Noise error happened while receiving data. </td></tr>
<tr><td class="paramname">kStatus_LPUART_FramingError</td><td>Framing error happened while receiving data. </td></tr>
<tr><td class="paramname">kStatus_LPUART_ParityError</td><td>Parity error happened while receiving data. </td></tr>
<tr><td class="paramname">kStatus_Success</td><td>Successfully received all data. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga10eae12610523a624c1016882f8dba5f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_TransferCreateHandle </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lpuart_handle_t *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__lpuart__driver.html#ga7ab1637091d166aa8b69517350fb05c8">lpuart_transfer_callback_t</a>&#160;</td>
<td class="paramname"><em>callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function initializes the LPUART handle, which can be used for other LPUART transactional APIs. Usually, for a specified LPUART instance, call this API once to get the initialized handle.</p>
<p>The LPUART driver supports the "background" receiving, which means that user can set up an RX ring buffer optionally. Data received is stored into the ring buffer even when the user doesn't call the <a class="el" href="group__lpuart__driver.html#ga8bdb584704ce7955004751e32627f918" title="Receives a buffer of data using the interrupt method. ">LPUART_TransferReceiveNonBlocking()</a> API. If there is already data received in the ring buffer, the user can get the received data from the ring buffer directly. The ring buffer is disabled if passing NULL as <code>ringBuffer</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>LPUART handle pointer. </td></tr>
<tr><td class="paramname">callback</td><td>Callback function. </td></tr>
<tr><td class="paramname">userData</td><td>User data. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gafba986c473e5935131e63cb882cf26ff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LPUART_TransferSendNonBlocking </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lpuart_handle_t *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__lpuart__driver.html#structlpuart__transfer__t">lpuart_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 send data using an interrupt method. This is a non-blocking function, which returns directly without waiting for all data written to the transmitter register. When all data is written to the TX register in the ISR, the LPUART driver calls the callback function and passes the <a class="el" href="group__lpuart__driver.html#gga91d929761e975dda91c0cc811d253ce5a079c6d0957d121ce7cd95cf97487dfbb">kStatus_LPUART_TxIdle</a> as status parameter.</p>
<dl class="section note"><dt>Note</dt><dd>The kStatus_LPUART_TxIdle is passed to the upper layer when all data are written to the TX register. However, there is no check to ensure that all the data sent out. Before disabling the TX, check the kLPUART_TransmissionCompleteFlag to ensure that the transmit is finished.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>LPUART handle pointer. </td></tr>
<tr><td class="paramname">xfer</td><td>LPUART transfer structure, refer to <a class="el" href="group__lpuart__driver.html#structlpuart__transfer__t" title="LPUART transfer structure. ">lpuart_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 the data transmission. </td></tr>
<tr><td class="paramname">kStatus_LPUART_TxBusy</td><td>Previous transmission still not finished, data not all written to the TX register. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>Invalid argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5257b77491042af5913a8d91c66318e1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_TransferStartRingBuffer </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lpuart_handle_t *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>ringBuffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>ringBufferSize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sets up the RX ring buffer to a specific UART handle.</p>
<p>When the RX ring buffer is used, data received is stored into the ring buffer even when the user doesn't call the <a class="el" href="group__uart__driver.html#gaf804acde5d73ce0a5bf54b06195e1218" title="Receives a buffer of data using an interrupt method. ">UART_TransferReceiveNonBlocking()</a> API. If there is already data received in the ring buffer, the user can get the received data from the ring buffer directly.</p>
<dl class="section note"><dt>Note</dt><dd>When using RX ring buffer, one byte is reserved for internal use. In other words, if <code>ringBufferSize</code> is 32, then only 31 bytes are used for saving data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>LPUART handle pointer. </td></tr>
<tr><td class="paramname">ringBuffer</td><td>Start address of ring buffer for background receiving. Pass NULL to disable the ring buffer. </td></tr>
<tr><td class="paramname">ringBufferSize</td><td>size of the ring buffer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad6a230a664808592aab153ea20e3d60b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_TransferStopRingBuffer </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lpuart_handle_t *&#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">
<p>This function aborts the background transfer and uninstalls the ring buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>LPUART handle pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6dfe9efe9656e126c70ee79fa03f2be3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_TransferAbortSend </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lpuart_handle_t *&#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">
<p>This function aborts the interrupt driven data sending. The user can get the remainBtyes to find out how many bytes are still not sent out.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>LPUART handle pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad80d2469dce0de9361e731e4cefde9fd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LPUART_TransferGetSendCount </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lpuart_handle_t *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_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 number of bytes that have been written to LPUART TX register by interrupt method.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>LPUART handle pointer. </td></tr>
<tr><td class="paramname">count</td><td>Send bytes count. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_NoTransferInProgress</td><td>No send in progress. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>Parameter is invalid. </td></tr>
<tr><td class="paramname">kStatus_Success</td><td>Get successfully through the parameter <code>count</code>; </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga8bdb584704ce7955004751e32627f918"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LPUART_TransferReceiveNonBlocking </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lpuart_handle_t *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__lpuart__driver.html#structlpuart__transfer__t">lpuart_transfer_t</a> *&#160;</td>
<td class="paramname"><em>xfer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>receivedBytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function receives data using an interrupt method. This is a non-blocking function which returns without waiting to ensure that all data are received. If the RX ring buffer is used and not empty, the data in the ring buffer is copied and the parameter <code>receivedBytes</code> shows how many bytes are copied from the ring buffer. After copying, if the data in the ring buffer is not enough for read, the receive request is saved by the LPUART driver. When the new data arrives, the receive request is serviced first. When all data is received, the LPUART driver notifies the upper layer through a callback function and passes a status parameter <a class="el" href="group__uart__driver.html#ggacef40dc8e8ac174bfe40ebcbc980f84bae0877b14627ed2aa8ddb2bf5b033f407">kStatus_UART_RxIdle</a>. For example, the upper layer needs 10 bytes but there are only 5 bytes in ring buffer. The 5 bytes are copied to xfer-&gt;data, which returns with the parameter <code>receivedBytes</code> set to 5. For the remaining 5 bytes, the newly arrived data is saved from xfer-&gt;data[5]. When 5 bytes are received, the LPUART driver notifies the upper layer. If the RX ring buffer is not enabled, this function enables the RX and RX interrupt to receive data to xfer-&gt;data. When all data is received, the upper layer is notified.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>LPUART handle pointer. </td></tr>
<tr><td class="paramname">xfer</td><td>LPUART transfer structure, refer to <a class="el" href="group__uart__driver.html#structuart__transfer__t" title="UART transfer structure. ">uart_transfer_t</a>. </td></tr>
<tr><td class="paramname">receivedBytes</td><td>Bytes received from the ring buffer directly. </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 queue the transfer into the transmit queue. </td></tr>
<tr><td class="paramname">kStatus_LPUART_RxBusy</td><td>Previous receive request is not finished. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>Invalid argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga4950fa0f3835992251c109f655a3ca7d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_TransferAbortReceive </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lpuart_handle_t *&#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">
<p>This function aborts the interrupt-driven data receiving. The user can get the remainBytes to find out how many bytes not received yet.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>LPUART handle pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gabfcdc658c463e9e7523cc60c5e8f9672"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t LPUART_TransferGetReceiveCount </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lpuart_handle_t *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_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 number of bytes that have been received.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>LPUART handle pointer. </td></tr>
<tr><td class="paramname">count</td><td>Receive bytes count. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_NoTransferInProgress</td><td>No receive in progress. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>Parameter is invalid. </td></tr>
<tr><td class="paramname">kStatus_Success</td><td>Get successfully through the parameter <code>count</code>; </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac81ce3c490d7185ab7e2d97963ae077e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_TransferHandleIRQ </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lpuart_handle_t *&#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">
<p>This function handles the LPUART transmit and receive IRQ request.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>LPUART handle pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga21345340b5d8f90df6bb64acab0f870f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void LPUART_TransferHandleErrorIRQ </td>
<td>(</td>
<td class="paramtype">LPUART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lpuart_handle_t *&#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">
<p>This function handles the LPUART error IRQ request.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>LPUART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>LPUART handle pointer. </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>