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

2865 lines
169 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>MCUXpresso SDK API Reference Manual: USART Driver</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">MCUXpresso SDK API Reference Manual
&#160;<span id="projectnumber">Rev 2.15.000</span>
</div>
<div id="projectbrief">NXP Semiconductors</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>API&#160;Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('a00062.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">USART Driver<div class="ingroups"><a class="el" href="a00251.html">USART: Universal Synchronous/Asynchronous Receiver/Transmitter Driver</a></div></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:a00434"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a00434">_usart_config</a></td></tr>
<tr class="memdesc:a00434"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART configuration structure. <a href="a00062.html#a00434">More...</a><br/></td></tr>
<tr class="separator:a00434"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00437"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a00437">_usart_transfer</a></td></tr>
<tr class="memdesc:a00437"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART transfer structure. <a href="a00062.html#a00437">More...</a><br/></td></tr>
<tr class="separator:a00437"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00436"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a00436">_usart_handle</a></td></tr>
<tr class="memdesc:a00436"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART handle structure. <a href="a00062.html#a00436">More...</a><br/></td></tr>
<tr class="separator:a00436"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gac0f88b67f77fd05f186a5ec940c340bd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gac0f88b67f77fd05f186a5ec940c340bd">UART_RETRY_TIMES</a>&#160;&#160;&#160;0U</td></tr>
<tr class="memdesc:gac0f88b67f77fd05f186a5ec940c340bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retry times for waiting flag. <a href="#gac0f88b67f77fd05f186a5ec940c340bd">More...</a><br/></td></tr>
<tr class="separator:gac0f88b67f77fd05f186a5ec940c340bd"><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:gafadd2dad2820634ecf4663e0273a178b"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00062.html#gab3b6a5d80be9940d58f739ded5962a59">_usart_sync_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gafadd2dad2820634ecf4663e0273a178b">usart_sync_mode_t</a></td></tr>
<tr class="memdesc:gafadd2dad2820634ecf4663e0273a178b"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART synchronous mode. <a href="#gafadd2dad2820634ecf4663e0273a178b">More...</a><br/></td></tr>
<tr class="separator:gafadd2dad2820634ecf4663e0273a178b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd66e4e7133327cb2a1df4e24d8f4cb6"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00062.html#ga8725fe345ac7bb48cc48f9553212f5db">_usart_parity_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gafd66e4e7133327cb2a1df4e24d8f4cb6">usart_parity_mode_t</a></td></tr>
<tr class="memdesc:gafd66e4e7133327cb2a1df4e24d8f4cb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART parity mode. <a href="#gafd66e4e7133327cb2a1df4e24d8f4cb6">More...</a><br/></td></tr>
<tr class="separator:gafd66e4e7133327cb2a1df4e24d8f4cb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b8e5ed1a787d428e84a5a550fedc417"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00062.html#gaeeaf3b2b6394d3a656342cfbce0e39ee">_usart_stop_bit_count</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga4b8e5ed1a787d428e84a5a550fedc417">usart_stop_bit_count_t</a></td></tr>
<tr class="memdesc:ga4b8e5ed1a787d428e84a5a550fedc417"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART stop bit count. <a href="#ga4b8e5ed1a787d428e84a5a550fedc417">More...</a><br/></td></tr>
<tr class="separator:ga4b8e5ed1a787d428e84a5a550fedc417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8fb417dc9cfa4304cefe7bec12479a8e"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00062.html#gaba5e41db910ac7f4e3a9732b1bfa002e">_usart_data_len</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga8fb417dc9cfa4304cefe7bec12479a8e">usart_data_len_t</a></td></tr>
<tr class="memdesc:ga8fb417dc9cfa4304cefe7bec12479a8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART data size. <a href="#ga8fb417dc9cfa4304cefe7bec12479a8e">More...</a><br/></td></tr>
<tr class="separator:ga8fb417dc9cfa4304cefe7bec12479a8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga804d7ffe69bedc08ea1d10829b33be28"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00062.html#ga148de18c5f1501903739e858695dc1bd">_usart_clock_polarity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga804d7ffe69bedc08ea1d10829b33be28">usart_clock_polarity_t</a></td></tr>
<tr class="memdesc:ga804d7ffe69bedc08ea1d10829b33be28"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART clock polarity configuration, used in sync mode. <a href="#ga804d7ffe69bedc08ea1d10829b33be28">More...</a><br/></td></tr>
<tr class="separator:ga804d7ffe69bedc08ea1d10829b33be28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaecf8ddf31cc555e51baeef0bf1fba245"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaecf8ddf31cc555e51baeef0bf1fba245"></a>
typedef enum <br class="typebreak"/>
<a class="el" href="a00062.html#ga1c5430896edca7d80a5926f95f2355ee">_usart_txfifo_watermark</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gaecf8ddf31cc555e51baeef0bf1fba245">usart_txfifo_watermark_t</a></td></tr>
<tr class="memdesc:gaecf8ddf31cc555e51baeef0bf1fba245"><td class="mdescLeft">&#160;</td><td class="mdescRight">txFIFO watermark values <br/></td></tr>
<tr class="separator:gaecf8ddf31cc555e51baeef0bf1fba245"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga595e2d7fb55edc209d46d8207121526b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga595e2d7fb55edc209d46d8207121526b"></a>
typedef enum <br class="typebreak"/>
<a class="el" href="a00062.html#ga25f54041b33bf8f9f9f2c737167236f4">_usart_rxfifo_watermark</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga595e2d7fb55edc209d46d8207121526b">usart_rxfifo_watermark_t</a></td></tr>
<tr class="memdesc:ga595e2d7fb55edc209d46d8207121526b"><td class="mdescLeft">&#160;</td><td class="mdescRight">rxFIFO watermark values <br/></td></tr>
<tr class="separator:ga595e2d7fb55edc209d46d8207121526b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e64075cc12bfd8c2cefe6a24a210145"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00062.html#a00434">_usart_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga6e64075cc12bfd8c2cefe6a24a210145">usart_config_t</a></td></tr>
<tr class="memdesc:ga6e64075cc12bfd8c2cefe6a24a210145"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART configuration structure. <a href="#ga6e64075cc12bfd8c2cefe6a24a210145">More...</a><br/></td></tr>
<tr class="separator:ga6e64075cc12bfd8c2cefe6a24a210145"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f095da5c95e5137fd47b284217dbe74"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00062.html#a00437">_usart_transfer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga5f095da5c95e5137fd47b284217dbe74">usart_transfer_t</a></td></tr>
<tr class="memdesc:ga5f095da5c95e5137fd47b284217dbe74"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART transfer structure. <a href="#ga5f095da5c95e5137fd47b284217dbe74">More...</a><br/></td></tr>
<tr class="separator:ga5f095da5c95e5137fd47b284217dbe74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9688f27725349ed0dd7a37c9a75eccc0"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga9688f27725349ed0dd7a37c9a75eccc0">usart_transfer_callback_t</a> )(USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle, <a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> status, void *userData)</td></tr>
<tr class="memdesc:ga9688f27725349ed0dd7a37c9a75eccc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART transfer callback function. <a href="#ga9688f27725349ed0dd7a37c9a75eccc0">More...</a><br/></td></tr>
<tr class="separator:ga9688f27725349ed0dd7a37c9a75eccc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7bfd3f835fa5bd9faa9590687077e125"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga7bfd3f835fa5bd9faa9590687077e125">flexcomm_usart_irq_handler_t</a> )(USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga7bfd3f835fa5bd9faa9590687077e125"><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef for usart interrupt handler. <a href="#ga7bfd3f835fa5bd9faa9590687077e125">More...</a><br/></td></tr>
<tr class="separator:ga7bfd3f835fa5bd9faa9590687077e125"><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:ga726ca809ffd3d67ab4b8476646f26635"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635a78157ec0658118f9205521c03da99093">kStatus_USART_TxBusy</a> = MAKE_STATUS(kStatusGroup_LPC_USART, 0),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635a38225397e3744ef1b4995041ce80d839">kStatus_USART_RxBusy</a> = MAKE_STATUS(kStatusGroup_LPC_USART, 1),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635a539a0ebaa0137fdf6d7cc9b984acb13f">kStatus_USART_TxIdle</a> = MAKE_STATUS(kStatusGroup_LPC_USART, 2),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635a3cb7112c821c89d7fbb1c048a86756aa">kStatus_USART_RxIdle</a> = MAKE_STATUS(kStatusGroup_LPC_USART, 3),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635abf010640733ea1ae8c97d7a0b83ea11b">kStatus_USART_TxError</a> = MAKE_STATUS(kStatusGroup_LPC_USART, 7),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635a888280fbe6cf9b4b0647db78f0578ff5">kStatus_USART_RxError</a> = MAKE_STATUS(kStatusGroup_LPC_USART, 9),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635a256720c63c378f57791e946c0473290e">kStatus_USART_RxRingBufferOverrun</a> = MAKE_STATUS(kStatusGroup_LPC_USART, 8),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635a3f21596ffe8300152d7f9f5587402e19">kStatus_USART_NoiseError</a> = MAKE_STATUS(kStatusGroup_LPC_USART, 10),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635a9e2f548075400b4c0a719ee1b0a534a9">kStatus_USART_FramingError</a> = MAKE_STATUS(kStatusGroup_LPC_USART, 11),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635a579872694419f8708e38935593105868">kStatus_USART_ParityError</a> = MAKE_STATUS(kStatusGroup_LPC_USART, 12),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635ae427c8491ce7294dfeaa3b87e506bd81">kStatus_USART_BaudrateNotSupport</a>
<br/>
}</td></tr>
<tr class="memdesc:ga726ca809ffd3d67ab4b8476646f26635"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error codes for the USART driver. <a href="a00062.html#ga726ca809ffd3d67ab4b8476646f26635">More...</a><br/></td></tr>
<tr class="separator:ga726ca809ffd3d67ab4b8476646f26635"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3b6a5d80be9940d58f739ded5962a59"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gab3b6a5d80be9940d58f739ded5962a59">_usart_sync_mode</a> { <br/>
&#160;&#160;<a class="el" href="a00062.html#ggab3b6a5d80be9940d58f739ded5962a59af7a378247f82677090007d0c38be78f2">kUSART_SyncModeDisabled</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggab3b6a5d80be9940d58f739ded5962a59a71df5907ecd16c5f08fe1e6673064958">kUSART_SyncModeSlave</a> = 0x2U,
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggab3b6a5d80be9940d58f739ded5962a59af279132afb0bee88bae3065c20c79ab2">kUSART_SyncModeMaster</a> = 0x3U
<br/>
}</td></tr>
<tr class="memdesc:gab3b6a5d80be9940d58f739ded5962a59"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART synchronous mode. <a href="a00062.html#gab3b6a5d80be9940d58f739ded5962a59">More...</a><br/></td></tr>
<tr class="separator:gab3b6a5d80be9940d58f739ded5962a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8725fe345ac7bb48cc48f9553212f5db"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga8725fe345ac7bb48cc48f9553212f5db">_usart_parity_mode</a> { <br/>
&#160;&#160;<a class="el" href="a00062.html#gga8725fe345ac7bb48cc48f9553212f5dba46309b174047a84a78c77b7648bdf21b">kUSART_ParityDisabled</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga8725fe345ac7bb48cc48f9553212f5dbaad8d786301da1bb92e2b911c386d39eb">kUSART_ParityEven</a> = 0x2U,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga8725fe345ac7bb48cc48f9553212f5dba64df3b823d2ab5f3f56ffb3f520eafb1">kUSART_ParityOdd</a> = 0x3U
<br/>
}</td></tr>
<tr class="memdesc:ga8725fe345ac7bb48cc48f9553212f5db"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART parity mode. <a href="a00062.html#ga8725fe345ac7bb48cc48f9553212f5db">More...</a><br/></td></tr>
<tr class="separator:ga8725fe345ac7bb48cc48f9553212f5db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeeaf3b2b6394d3a656342cfbce0e39ee"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gaeeaf3b2b6394d3a656342cfbce0e39ee">_usart_stop_bit_count</a> { <br/>
&#160;&#160;<a class="el" href="a00062.html#ggaeeaf3b2b6394d3a656342cfbce0e39eeaa637b8f5f0edd262181a20c1fbed7c12">kUSART_OneStopBit</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaeeaf3b2b6394d3a656342cfbce0e39eea3aee3195dc850778e33f2ebacf8847d3">kUSART_TwoStopBit</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:gaeeaf3b2b6394d3a656342cfbce0e39ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART stop bit count. <a href="a00062.html#gaeeaf3b2b6394d3a656342cfbce0e39ee">More...</a><br/></td></tr>
<tr class="separator:gaeeaf3b2b6394d3a656342cfbce0e39ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba5e41db910ac7f4e3a9732b1bfa002e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gaba5e41db910ac7f4e3a9732b1bfa002e">_usart_data_len</a> { <br/>
&#160;&#160;<a class="el" href="a00062.html#ggaba5e41db910ac7f4e3a9732b1bfa002ea9562d6cdd240e9808a9a1d1946f400b7">kUSART_7BitsPerChar</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaba5e41db910ac7f4e3a9732b1bfa002ead71aee19329a4127614132d30e50ad8a">kUSART_8BitsPerChar</a> = 1U
<br/>
}</td></tr>
<tr class="memdesc:gaba5e41db910ac7f4e3a9732b1bfa002e"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART data size. <a href="a00062.html#gaba5e41db910ac7f4e3a9732b1bfa002e">More...</a><br/></td></tr>
<tr class="separator:gaba5e41db910ac7f4e3a9732b1bfa002e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga148de18c5f1501903739e858695dc1bd"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga148de18c5f1501903739e858695dc1bd">_usart_clock_polarity</a> { <br/>
&#160;&#160;<a class="el" href="a00062.html#gga148de18c5f1501903739e858695dc1bda40fdc56c60a07652a4283491087eed6b">kUSART_RxSampleOnFallingEdge</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga148de18c5f1501903739e858695dc1bdaea6908db956ab3f686c7ee54d68d401c">kUSART_RxSampleOnRisingEdge</a> = 0x1U
<br/>
}</td></tr>
<tr class="memdesc:ga148de18c5f1501903739e858695dc1bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART clock polarity configuration, used in sync mode. <a href="a00062.html#ga148de18c5f1501903739e858695dc1bd">More...</a><br/></td></tr>
<tr class="separator:ga148de18c5f1501903739e858695dc1bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c5430896edca7d80a5926f95f2355ee"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga1c5430896edca7d80a5926f95f2355ee">_usart_txfifo_watermark</a> { <br/>
&#160;&#160;<a class="el" href="a00062.html#gga1c5430896edca7d80a5926f95f2355eea4c06b40c032f50878b21a2d50ada6dce">kUSART_TxFifo0</a> = 0,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga1c5430896edca7d80a5926f95f2355eea1d9f1d7d066818718be802be7d375672">kUSART_TxFifo1</a> = 1,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga1c5430896edca7d80a5926f95f2355eea4e893f1b0acc108a4438e5e0246cfd98">kUSART_TxFifo2</a> = 2,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga1c5430896edca7d80a5926f95f2355eea956a6639ce7a77854b2b8818600056d1">kUSART_TxFifo3</a> = 3,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga1c5430896edca7d80a5926f95f2355eea125165264a20e9a99ebe8809c537519d">kUSART_TxFifo4</a> = 4,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga1c5430896edca7d80a5926f95f2355eeaba62dcf8bffa3fea75659cd15d85f5f5">kUSART_TxFifo5</a> = 5,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga1c5430896edca7d80a5926f95f2355eead5789e845dda660016f5ad20d44543c5">kUSART_TxFifo6</a> = 6,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga1c5430896edca7d80a5926f95f2355eea2d5f3f3e606d0234022ba79c51006c79">kUSART_TxFifo7</a> = 7
<br/>
}</td></tr>
<tr class="memdesc:ga1c5430896edca7d80a5926f95f2355ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">txFIFO watermark values <a href="a00062.html#ga1c5430896edca7d80a5926f95f2355ee">More...</a><br/></td></tr>
<tr class="separator:ga1c5430896edca7d80a5926f95f2355ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25f54041b33bf8f9f9f2c737167236f4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga25f54041b33bf8f9f9f2c737167236f4">_usart_rxfifo_watermark</a> { <br/>
&#160;&#160;<a class="el" href="a00062.html#gga25f54041b33bf8f9f9f2c737167236f4ae4c7d10afbc0733440891ebe03b16b3f">kUSART_RxFifo1</a> = 0,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga25f54041b33bf8f9f9f2c737167236f4a0234bec87111ef277cf08bf1cdacf081">kUSART_RxFifo2</a> = 1,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga25f54041b33bf8f9f9f2c737167236f4a1b8335b872c2a509fd2a623b161975cc">kUSART_RxFifo3</a> = 2,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga25f54041b33bf8f9f9f2c737167236f4a6ea188f34c9f1c2ff50b71526e42a687">kUSART_RxFifo4</a> = 3,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga25f54041b33bf8f9f9f2c737167236f4aa1868626ee2cca1ca8cc225b71c7a7bf">kUSART_RxFifo5</a> = 4,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga25f54041b33bf8f9f9f2c737167236f4a4819c5fd1c6c274e2e6f08b8aa2bad19">kUSART_RxFifo6</a> = 5,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga25f54041b33bf8f9f9f2c737167236f4a9bb99b104055213d54116ea79f0a2586">kUSART_RxFifo7</a> = 6,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga25f54041b33bf8f9f9f2c737167236f4a6e09aeee58582acc9b9baeb10315f024">kUSART_RxFifo8</a> = 7
<br/>
}</td></tr>
<tr class="memdesc:ga25f54041b33bf8f9f9f2c737167236f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">rxFIFO watermark values <a href="a00062.html#ga25f54041b33bf8f9f9f2c737167236f4">More...</a><br/></td></tr>
<tr class="separator:ga25f54041b33bf8f9f9f2c737167236f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78b340bf3b25bfae957d0c5532b9b853"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga78b340bf3b25bfae957d0c5532b9b853">_usart_interrupt_enable</a> { , <br/>
&#160;&#160;<a class="el" href="a00062.html#gga78b340bf3b25bfae957d0c5532b9b853ac5611ab6b973e6777a7d7db8321f62f2">kUSART_TxIdleInterruptEnable</a> = (USART_INTENSET_TXIDLEEN_MASK &lt;&lt; 16U),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga78b340bf3b25bfae957d0c5532b9b853a3d02580815ae2cc516b2eceaa5af7cb1">kUSART_CtsChangeInterruptEnable</a>,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga78b340bf3b25bfae957d0c5532b9b853a8025155917fdba2167f615ac1f6fd0e8">kUSART_RxBreakChangeInterruptEnable</a>,
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga78b340bf3b25bfae957d0c5532b9b853ae642012aae33bd8954699572e4adb475">kUSART_RxStartInterruptEnable</a> = (USART_INTENSET_STARTEN_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga78b340bf3b25bfae957d0c5532b9b853a5cd5bf36e32a46d994643a712fd08ea9">kUSART_FramingErrorInterruptEnable</a> = (USART_INTENSET_FRAMERREN_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga78b340bf3b25bfae957d0c5532b9b853a3dc275bab22f77a1182bbab5fd5cea3b">kUSART_ParityErrorInterruptEnable</a> = (USART_INTENSET_PARITYERREN_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga78b340bf3b25bfae957d0c5532b9b853ac8d3050ed3df9d9278f74c9ab27b2ddc">kUSART_NoiseErrorInterruptEnable</a> = (USART_INTENSET_RXNOISEEN_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#gga78b340bf3b25bfae957d0c5532b9b853a7154c6ede60243bf5f9e727a5cb18ce5">kUSART_AutoBaudErrorInterruptEnable</a> = (USART_INTENSET_ABERREN_MASK)
<br/>
}</td></tr>
<tr class="memdesc:ga78b340bf3b25bfae957d0c5532b9b853"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART interrupt configuration structure, default settings all disabled. <a href="a00062.html#ga78b340bf3b25bfae957d0c5532b9b853">More...</a><br/></td></tr>
<tr class="separator:ga78b340bf3b25bfae957d0c5532b9b853"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6a81e7e82e236bb1c3c5ba306466610"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gaa6a81e7e82e236bb1c3c5ba306466610">_usart_flags</a> { <br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a88f35fb71e2d5a7bea4f8eed7b6a050c">kUSART_TxError</a> = (USART_FIFOSTAT_TXERR_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a8aa9eb127699721457f3ec9e1025246b">kUSART_RxError</a> = (USART_FIFOSTAT_RXERR_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610af11f0420c46f24642414bb66d2e389c7">kUSART_TxFifoEmptyFlag</a> = (USART_FIFOSTAT_TXEMPTY_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a584ded6df831827495ab206619c81174">kUSART_TxFifoNotFullFlag</a> = (USART_FIFOSTAT_TXNOTFULL_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a39952b4f24141f895bab7822dc330330">kUSART_RxFifoNotEmptyFlag</a> = (USART_FIFOSTAT_RXNOTEMPTY_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a519cf0825b102a001c88bfba6506824c">kUSART_RxFifoFullFlag</a> = (USART_FIFOSTAT_RXFULL_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610abc766d479d00f480e78d05f21f8e1d59">kUSART_RxIdleFlag</a> = (USART_STAT_RXIDLE_MASK &lt;&lt; 16U),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a8106fa188ea138f48c7740dcf5c2b294">kUSART_TxIdleFlag</a> = (USART_STAT_TXIDLE_MASK &lt;&lt; 16U),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a43d6b4aef70a978f4794efabd5457f51">kUSART_CtsAssertFlag</a> = (USART_STAT_CTS_MASK &lt;&lt; 16U),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a7119fd7ce16b8aa8a98b1d82271698dd">kUSART_CtsChangeFlag</a> = (USART_STAT_DELTACTS_MASK &lt;&lt; 16U),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610aca92bd8dc74c45b62e3f9b4c707b8638">kUSART_BreakDetectFlag</a> = (USART_STAT_RXBRK_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610aa73bdb740d60558f33c28c7bc4cffab3">kUSART_BreakDetectChangeFlag</a> = (USART_STAT_DELTARXBRK_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a2fab8368a6a3246714c83405202626b3">kUSART_RxStartFlag</a> = (USART_STAT_START_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a44b58335a118179dd7b3f5d760a314fa">kUSART_FramingErrorFlag</a> = (USART_STAT_FRAMERRINT_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a46d487d50d8392d25c5c4e76cdfb6674">kUSART_ParityErrorFlag</a> = (USART_STAT_PARITYERRINT_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a989650ce4c9a8f57ad771a33a2cb0335">kUSART_NoiseErrorFlag</a> = (USART_STAT_RXNOISEINT_MASK),
<br/>
&#160;&#160;<a class="el" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610ae1cf980779fba1c617584d5ebc8ac3f8">kUSART_AutobaudErrorFlag</a> = (USART_STAT_ABERR_MASK)
<br/>
}</td></tr>
<tr class="memdesc:gaa6a81e7e82e236bb1c3c5ba306466610"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART status flags. <a href="a00062.html#gaa6a81e7e82e236bb1c3c5ba306466610">More...</a><br/></td></tr>
<tr class="separator:gaa6a81e7e82e236bb1c3c5ba306466610"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga0433386bbc6c2ac7e2ec7925fea263db"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga0433386bbc6c2ac7e2ec7925fea263db">USART_GetInstance</a> (USART_Type *base)</td></tr>
<tr class="memdesc:ga0433386bbc6c2ac7e2ec7925fea263db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns instance number for USART peripheral base address. <a href="#ga0433386bbc6c2ac7e2ec7925fea263db">More...</a><br/></td></tr>
<tr class="separator:ga0433386bbc6c2ac7e2ec7925fea263db"><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:gad737c0eee502276b7615e83ec3a79be4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gad737c0eee502276b7615e83ec3a79be4">FSL_USART_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="a00242.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 8, 3))</td></tr>
<tr class="memdesc:gad737c0eee502276b7615e83ec3a79be4"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART driver version. <a href="#gad737c0eee502276b7615e83ec3a79be4">More...</a><br/></td></tr>
<tr class="separator:gad737c0eee502276b7615e83ec3a79be4"><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:ga2aeb4e11fdf0eb515d090865ffcf2ba2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga2aeb4e11fdf0eb515d090865ffcf2ba2">USART_Init</a> (USART_Type *base, const <a class="el" href="a00062.html#ga6e64075cc12bfd8c2cefe6a24a210145">usart_config_t</a> *config, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:ga2aeb4e11fdf0eb515d090865ffcf2ba2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a USART instance with user configuration structure and peripheral clock. <a href="#ga2aeb4e11fdf0eb515d090865ffcf2ba2">More...</a><br/></td></tr>
<tr class="separator:ga2aeb4e11fdf0eb515d090865ffcf2ba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80892980b702b0b7614691014a5aaaca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga80892980b702b0b7614691014a5aaaca">USART_Deinit</a> (USART_Type *base)</td></tr>
<tr class="memdesc:ga80892980b702b0b7614691014a5aaaca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deinitializes a USART instance. <a href="#ga80892980b702b0b7614691014a5aaaca">More...</a><br/></td></tr>
<tr class="separator:ga80892980b702b0b7614691014a5aaaca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74464f9357e585e42e5f3c909eb6e9b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga74464f9357e585e42e5f3c909eb6e9b3">USART_GetDefaultConfig</a> (<a class="el" href="a00062.html#ga6e64075cc12bfd8c2cefe6a24a210145">usart_config_t</a> *config)</td></tr>
<tr class="memdesc:ga74464f9357e585e42e5f3c909eb6e9b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the default configuration structure. <a href="#ga74464f9357e585e42e5f3c909eb6e9b3">More...</a><br/></td></tr>
<tr class="separator:ga74464f9357e585e42e5f3c909eb6e9b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabdcaf539e6c95903c779f4538b1f422b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gabdcaf539e6c95903c779f4538b1f422b">USART_SetBaudRate</a> (USART_Type *base, uint32_t baudrate_Bps, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:gabdcaf539e6c95903c779f4538b1f422b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the USART instance baud rate. <a href="#gabdcaf539e6c95903c779f4538b1f422b">More...</a><br/></td></tr>
<tr class="separator:gabdcaf539e6c95903c779f4538b1f422b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa0b9131928d9bb14ef0af71c2d7b5ece"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gaa0b9131928d9bb14ef0af71c2d7b5ece">USART_Enable32kMode</a> (USART_Type *base, uint32_t baudRate_Bps, bool enableMode32k, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:gaa0b9131928d9bb14ef0af71c2d7b5ece"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable 32 kHz mode which USART uses clock from the RTC oscillator as the clock source. <a href="#gaa0b9131928d9bb14ef0af71c2d7b5ece">More...</a><br/></td></tr>
<tr class="separator:gaa0b9131928d9bb14ef0af71c2d7b5ece"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae81c380620e158c78a4693de48bc0d05"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gae81c380620e158c78a4693de48bc0d05">USART_Enable9bitMode</a> (USART_Type *base, bool enable)</td></tr>
<tr class="memdesc:gae81c380620e158c78a4693de48bc0d05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable 9-bit data mode for USART. <a href="#gae81c380620e158c78a4693de48bc0d05">More...</a><br/></td></tr>
<tr class="separator:gae81c380620e158c78a4693de48bc0d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2fcb06824d8966b682297342a0cbd25"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gae2fcb06824d8966b682297342a0cbd25">USART_SetMatchAddress</a> (USART_Type *base, uint8_t address)</td></tr>
<tr class="memdesc:gae2fcb06824d8966b682297342a0cbd25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the USART slave address. <a href="#gae2fcb06824d8966b682297342a0cbd25">More...</a><br/></td></tr>
<tr class="separator:gae2fcb06824d8966b682297342a0cbd25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe0eb431d7deccc370a4ecc5224c1aed"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gafe0eb431d7deccc370a4ecc5224c1aed">USART_EnableMatchAddress</a> (USART_Type *base, bool match)</td></tr>
<tr class="memdesc:gafe0eb431d7deccc370a4ecc5224c1aed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the USART match address feature. <a href="#gafe0eb431d7deccc370a4ecc5224c1aed">More...</a><br/></td></tr>
<tr class="separator:gafe0eb431d7deccc370a4ecc5224c1aed"><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:ga33f5cdc2918edf02b9a4ef8a12e27442"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga33f5cdc2918edf02b9a4ef8a12e27442">USART_GetStatusFlags</a> (USART_Type *base)</td></tr>
<tr class="memdesc:ga33f5cdc2918edf02b9a4ef8a12e27442"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get USART status flags. <a href="#ga33f5cdc2918edf02b9a4ef8a12e27442">More...</a><br/></td></tr>
<tr class="separator:ga33f5cdc2918edf02b9a4ef8a12e27442"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga235a301d8f22d6ce3a6f77dbdb76cfe3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga235a301d8f22d6ce3a6f77dbdb76cfe3">USART_ClearStatusFlags</a> (USART_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga235a301d8f22d6ce3a6f77dbdb76cfe3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear USART status flags. <a href="#ga235a301d8f22d6ce3a6f77dbdb76cfe3">More...</a><br/></td></tr>
<tr class="separator:ga235a301d8f22d6ce3a6f77dbdb76cfe3"><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:ga9132cf15ff5fd2ac007a88f9400bcf30"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga9132cf15ff5fd2ac007a88f9400bcf30">USART_EnableInterrupts</a> (USART_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga9132cf15ff5fd2ac007a88f9400bcf30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables USART interrupts according to the provided mask. <a href="#ga9132cf15ff5fd2ac007a88f9400bcf30">More...</a><br/></td></tr>
<tr class="separator:ga9132cf15ff5fd2ac007a88f9400bcf30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga091d6509100a6e6206483b2f41f16d6c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga091d6509100a6e6206483b2f41f16d6c">USART_DisableInterrupts</a> (USART_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga091d6509100a6e6206483b2f41f16d6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables USART interrupts according to a provided mask. <a href="#ga091d6509100a6e6206483b2f41f16d6c">More...</a><br/></td></tr>
<tr class="separator:ga091d6509100a6e6206483b2f41f16d6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49c6966b2af5f0de0fbf49240acc1856"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga49c6966b2af5f0de0fbf49240acc1856">USART_GetEnabledInterrupts</a> (USART_Type *base)</td></tr>
<tr class="memdesc:ga49c6966b2af5f0de0fbf49240acc1856"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns enabled USART interrupts. <a href="#ga49c6966b2af5f0de0fbf49240acc1856">More...</a><br/></td></tr>
<tr class="separator:ga49c6966b2af5f0de0fbf49240acc1856"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1bdec9d5c2cfeb180579b9bb730ff3a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1bdec9d5c2cfeb180579b9bb730ff3a3"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga1bdec9d5c2cfeb180579b9bb730ff3a3">USART_EnableTxDMA</a> (USART_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga1bdec9d5c2cfeb180579b9bb730ff3a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable DMA for Tx. <br/></td></tr>
<tr class="separator:ga1bdec9d5c2cfeb180579b9bb730ff3a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a227e096aa1f7e50129f2adf35bf5a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5a227e096aa1f7e50129f2adf35bf5a4"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga5a227e096aa1f7e50129f2adf35bf5a4">USART_EnableRxDMA</a> (USART_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga5a227e096aa1f7e50129f2adf35bf5a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable DMA for Rx. <br/></td></tr>
<tr class="separator:ga5a227e096aa1f7e50129f2adf35bf5a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaab4d6b7d7701fbdd022694330207614"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gaaab4d6b7d7701fbdd022694330207614">USART_EnableCTS</a> (USART_Type *base, bool enable)</td></tr>
<tr class="memdesc:gaaab4d6b7d7701fbdd022694330207614"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable CTS. <a href="#gaaab4d6b7d7701fbdd022694330207614">More...</a><br/></td></tr>
<tr class="separator:gaaab4d6b7d7701fbdd022694330207614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0a37042ec21be840247a05ca9e8e805"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gad0a37042ec21be840247a05ca9e8e805">USART_EnableContinuousSCLK</a> (USART_Type *base, bool enable)</td></tr>
<tr class="memdesc:gad0a37042ec21be840247a05ca9e8e805"><td class="mdescLeft">&#160;</td><td class="mdescRight">Continuous Clock generation. <a href="#gad0a37042ec21be840247a05ca9e8e805">More...</a><br/></td></tr>
<tr class="separator:gad0a37042ec21be840247a05ca9e8e805"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d96acc82e0bbe947ececc200083c68a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga4d96acc82e0bbe947ececc200083c68a">USART_EnableAutoClearSCLK</a> (USART_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga4d96acc82e0bbe947ececc200083c68a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable Continuous Clock generation bit auto clear. <a href="#ga4d96acc82e0bbe947ececc200083c68a">More...</a><br/></td></tr>
<tr class="separator:ga4d96acc82e0bbe947ececc200083c68a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1b92754b85be70151d0d1f9377a2794"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gad1b92754b85be70151d0d1f9377a2794">USART_SetRxFifoWatermark</a> (USART_Type *base, uint8_t water)</td></tr>
<tr class="memdesc:gad1b92754b85be70151d0d1f9377a2794"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the rx FIFO watermark. <a href="#gad1b92754b85be70151d0d1f9377a2794">More...</a><br/></td></tr>
<tr class="separator:gad1b92754b85be70151d0d1f9377a2794"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadfe67091db3b60f25bbfa04708dae354"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gadfe67091db3b60f25bbfa04708dae354">USART_SetTxFifoWatermark</a> (USART_Type *base, uint8_t water)</td></tr>
<tr class="memdesc:gadfe67091db3b60f25bbfa04708dae354"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the tx FIFO watermark. <a href="#gadfe67091db3b60f25bbfa04708dae354">More...</a><br/></td></tr>
<tr class="separator:gadfe67091db3b60f25bbfa04708dae354"><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:gae7a92a20789cf111acadb543916aac91"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gae7a92a20789cf111acadb543916aac91">USART_WriteByte</a> (USART_Type *base, uint8_t data)</td></tr>
<tr class="memdesc:gae7a92a20789cf111acadb543916aac91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes to the FIFOWR register. <a href="#gae7a92a20789cf111acadb543916aac91">More...</a><br/></td></tr>
<tr class="separator:gae7a92a20789cf111acadb543916aac91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa9dc0edc5edacd55bb88ff7b9b55f98"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gaaa9dc0edc5edacd55bb88ff7b9b55f98">USART_ReadByte</a> (USART_Type *base)</td></tr>
<tr class="memdesc:gaaa9dc0edc5edacd55bb88ff7b9b55f98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the FIFORD register directly. <a href="#gaaa9dc0edc5edacd55bb88ff7b9b55f98">More...</a><br/></td></tr>
<tr class="separator:gaaa9dc0edc5edacd55bb88ff7b9b55f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea6b5fa1c42eee5ab2819af23afe197a"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gaea6b5fa1c42eee5ab2819af23afe197a">USART_GetRxFifoCount</a> (USART_Type *base)</td></tr>
<tr class="memdesc:gaea6b5fa1c42eee5ab2819af23afe197a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the rx FIFO data count. <a href="#gaea6b5fa1c42eee5ab2819af23afe197a">More...</a><br/></td></tr>
<tr class="separator:gaea6b5fa1c42eee5ab2819af23afe197a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03ef6205dca5ba44c0b29ff2f2175fae"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga03ef6205dca5ba44c0b29ff2f2175fae">USART_GetTxFifoCount</a> (USART_Type *base)</td></tr>
<tr class="memdesc:ga03ef6205dca5ba44c0b29ff2f2175fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the tx FIFO data count. <a href="#ga03ef6205dca5ba44c0b29ff2f2175fae">More...</a><br/></td></tr>
<tr class="separator:ga03ef6205dca5ba44c0b29ff2f2175fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ed8281b59aa8a1e181ae2692475adef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga6ed8281b59aa8a1e181ae2692475adef">USART_SendAddress</a> (USART_Type *base, uint8_t address)</td></tr>
<tr class="memdesc:ga6ed8281b59aa8a1e181ae2692475adef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit an address frame in 9-bit data mode. <a href="#ga6ed8281b59aa8a1e181ae2692475adef">More...</a><br/></td></tr>
<tr class="separator:ga6ed8281b59aa8a1e181ae2692475adef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95abde78d5cbf569f2b6e4d7942b64df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga95abde78d5cbf569f2b6e4d7942b64df">USART_WriteBlocking</a> (USART_Type *base, const uint8_t *data, size_t length)</td></tr>
<tr class="memdesc:ga95abde78d5cbf569f2b6e4d7942b64df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes to the TX register using a blocking method. <a href="#ga95abde78d5cbf569f2b6e4d7942b64df">More...</a><br/></td></tr>
<tr class="separator:ga95abde78d5cbf569f2b6e4d7942b64df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09c3b588e2099ffa6b999c5ca7fb8d58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga09c3b588e2099ffa6b999c5ca7fb8d58">USART_ReadBlocking</a> (USART_Type *base, uint8_t *data, size_t length)</td></tr>
<tr class="memdesc:ga09c3b588e2099ffa6b999c5ca7fb8d58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read RX data register using a blocking method. <a href="#ga09c3b588e2099ffa6b999c5ca7fb8d58">More...</a><br/></td></tr>
<tr class="separator:ga09c3b588e2099ffa6b999c5ca7fb8d58"><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:ga9aed876794d5c2ab2e37196242602b89"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga9aed876794d5c2ab2e37196242602b89">USART_TransferCreateHandle</a> (USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle, <a class="el" href="a00062.html#ga9688f27725349ed0dd7a37c9a75eccc0">usart_transfer_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:ga9aed876794d5c2ab2e37196242602b89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the USART handle. <a href="#ga9aed876794d5c2ab2e37196242602b89">More...</a><br/></td></tr>
<tr class="separator:ga9aed876794d5c2ab2e37196242602b89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f5a4e7e831ab0dc869637494a57362e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga7f5a4e7e831ab0dc869637494a57362e">USART_TransferSendNonBlocking</a> (USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle, <a class="el" href="a00062.html#ga5f095da5c95e5137fd47b284217dbe74">usart_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga7f5a4e7e831ab0dc869637494a57362e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmits a buffer of data using the interrupt method. <a href="#ga7f5a4e7e831ab0dc869637494a57362e">More...</a><br/></td></tr>
<tr class="separator:ga7f5a4e7e831ab0dc869637494a57362e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8500107ace3179c85e66d73fa1f41d16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga8500107ace3179c85e66d73fa1f41d16">USART_TransferStartRingBuffer</a> (USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle, uint8_t *ringBuffer, size_t ringBufferSize)</td></tr>
<tr class="memdesc:ga8500107ace3179c85e66d73fa1f41d16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets up the RX ring buffer. <a href="#ga8500107ace3179c85e66d73fa1f41d16">More...</a><br/></td></tr>
<tr class="separator:ga8500107ace3179c85e66d73fa1f41d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedb2f678849734999e373a8b00a5248c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gaedb2f678849734999e373a8b00a5248c">USART_TransferStopRingBuffer</a> (USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle)</td></tr>
<tr class="memdesc:gaedb2f678849734999e373a8b00a5248c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the background transfer and uninstalls the ring buffer. <a href="#gaedb2f678849734999e373a8b00a5248c">More...</a><br/></td></tr>
<tr class="separator:gaedb2f678849734999e373a8b00a5248c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac0c8e42457c41efd02a4310423804e77"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gac0c8e42457c41efd02a4310423804e77">USART_TransferGetRxRingBufferLength</a> (<a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle)</td></tr>
<tr class="memdesc:gac0c8e42457c41efd02a4310423804e77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the length of received data in RX ring buffer. <a href="#gac0c8e42457c41efd02a4310423804e77">More...</a><br/></td></tr>
<tr class="separator:gac0c8e42457c41efd02a4310423804e77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga095596e064fa8aa6bac0927e71b0329c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga095596e064fa8aa6bac0927e71b0329c">USART_TransferAbortSend</a> (USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga095596e064fa8aa6bac0927e71b0329c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the interrupt-driven data transmit. <a href="#ga095596e064fa8aa6bac0927e71b0329c">More...</a><br/></td></tr>
<tr class="separator:ga095596e064fa8aa6bac0927e71b0329c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56acdf4c0046516f59c04d89e8e988e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga56acdf4c0046516f59c04d89e8e988e6">USART_TransferGetSendCount</a> (USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle, uint32_t *count)</td></tr>
<tr class="memdesc:ga56acdf4c0046516f59c04d89e8e988e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of bytes that have been sent out to bus. <a href="#ga56acdf4c0046516f59c04d89e8e988e6">More...</a><br/></td></tr>
<tr class="separator:ga56acdf4c0046516f59c04d89e8e988e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34c6c819c9e2d8608a6d7e63103fa542"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga34c6c819c9e2d8608a6d7e63103fa542">USART_TransferReceiveNonBlocking</a> (USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle, <a class="el" href="a00062.html#ga5f095da5c95e5137fd47b284217dbe74">usart_transfer_t</a> *xfer, size_t *receivedBytes)</td></tr>
<tr class="memdesc:ga34c6c819c9e2d8608a6d7e63103fa542"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receives a buffer of data using an interrupt method. <a href="#ga34c6c819c9e2d8608a6d7e63103fa542">More...</a><br/></td></tr>
<tr class="separator:ga34c6c819c9e2d8608a6d7e63103fa542"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2de9bf9557d2f7bc6fe0236608cb958e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga2de9bf9557d2f7bc6fe0236608cb958e">USART_TransferAbortReceive</a> (USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga2de9bf9557d2f7bc6fe0236608cb958e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the interrupt-driven data receiving. <a href="#ga2de9bf9557d2f7bc6fe0236608cb958e">More...</a><br/></td></tr>
<tr class="separator:ga2de9bf9557d2f7bc6fe0236608cb958e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga43cc02b4521f48ae0b5626a1e8f87a0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ga43cc02b4521f48ae0b5626a1e8f87a0e">USART_TransferGetReceiveCount</a> (USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle, uint32_t *count)</td></tr>
<tr class="memdesc:ga43cc02b4521f48ae0b5626a1e8f87a0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of bytes that have been received. <a href="#ga43cc02b4521f48ae0b5626a1e8f87a0e">More...</a><br/></td></tr>
<tr class="separator:ga43cc02b4521f48ae0b5626a1e8f87a0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae955a5e336b3cb3276d5cdd6f1f6feda"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#gae955a5e336b3cb3276d5cdd6f1f6feda">USART_TransferHandleIRQ</a> (USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle)</td></tr>
<tr class="memdesc:gae955a5e336b3cb3276d5cdd6f1f6feda"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART IRQ handle function. <a href="#gae955a5e336b3cb3276d5cdd6f1f6feda">More...</a><br/></td></tr>
<tr class="separator:gae955a5e336b3cb3276d5cdd6f1f6feda"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00434" id="a00434"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _usart_config</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a80339c90b740ca4d4417a97328641ec5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80339c90b740ca4d4417a97328641ec5"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a80339c90b740ca4d4417a97328641ec5">baudRate_Bps</a></td></tr>
<tr class="memdesc:a80339c90b740ca4d4417a97328641ec5"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART baud rate. <br/></td></tr>
<tr class="separator:a80339c90b740ca4d4417a97328641ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a596335f12cc74301076951ce438b29e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a596335f12cc74301076951ce438b29e8"></a>
<a class="el" href="a00062.html#gafd66e4e7133327cb2a1df4e24d8f4cb6">usart_parity_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a596335f12cc74301076951ce438b29e8">parityMode</a></td></tr>
<tr class="memdesc:a596335f12cc74301076951ce438b29e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parity mode, disabled (default), even, odd. <br/></td></tr>
<tr class="separator:a596335f12cc74301076951ce438b29e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68387d7059ba0187baaab53ae2a4ff45"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68387d7059ba0187baaab53ae2a4ff45"></a>
<a class="el" href="a00062.html#ga4b8e5ed1a787d428e84a5a550fedc417">usart_stop_bit_count_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a68387d7059ba0187baaab53ae2a4ff45">stopBitCount</a></td></tr>
<tr class="memdesc:a68387d7059ba0187baaab53ae2a4ff45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of stop bits, 1 stop bit (default) or 2 stop bits. <br/></td></tr>
<tr class="separator:a68387d7059ba0187baaab53ae2a4ff45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a610524a1732fca3c58c7f109f1a11ea6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a610524a1732fca3c58c7f109f1a11ea6"></a>
<a class="el" href="a00062.html#ga8fb417dc9cfa4304cefe7bec12479a8e">usart_data_len_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a610524a1732fca3c58c7f109f1a11ea6">bitCountPerChar</a></td></tr>
<tr class="memdesc:a610524a1732fca3c58c7f109f1a11ea6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data length - 7 bit, 8 bit. <br/></td></tr>
<tr class="separator:a610524a1732fca3c58c7f109f1a11ea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36c8c2286aaeb9a7c0e2fc5e716b1230"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36c8c2286aaeb9a7c0e2fc5e716b1230"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a36c8c2286aaeb9a7c0e2fc5e716b1230">loopback</a></td></tr>
<tr class="memdesc:a36c8c2286aaeb9a7c0e2fc5e716b1230"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable peripheral loopback. <br/></td></tr>
<tr class="separator:a36c8c2286aaeb9a7c0e2fc5e716b1230"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a370b6e0a9f1c05e037f9e940d7e36694"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a370b6e0a9f1c05e037f9e940d7e36694"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a370b6e0a9f1c05e037f9e940d7e36694">enableRx</a></td></tr>
<tr class="memdesc:a370b6e0a9f1c05e037f9e940d7e36694"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable RX. <br/></td></tr>
<tr class="separator:a370b6e0a9f1c05e037f9e940d7e36694"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d7ec8bb576610aa864cbc0107349a21"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d7ec8bb576610aa864cbc0107349a21"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a1d7ec8bb576610aa864cbc0107349a21">enableTx</a></td></tr>
<tr class="memdesc:a1d7ec8bb576610aa864cbc0107349a21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable TX. <br/></td></tr>
<tr class="separator:a1d7ec8bb576610aa864cbc0107349a21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a691ca4c00ee5bd1bde98fd7c6b63a131"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a691ca4c00ee5bd1bde98fd7c6b63a131">enableContinuousSCLK</a></td></tr>
<tr class="memdesc:a691ca4c00ee5bd1bde98fd7c6b63a131"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART continuous Clock generation enable in synchronous master mode. <a href="#a691ca4c00ee5bd1bde98fd7c6b63a131">More...</a><br/></td></tr>
<tr class="separator:a691ca4c00ee5bd1bde98fd7c6b63a131"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a3d369244d508b9311fd88a5d7170bc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a9a3d369244d508b9311fd88a5d7170bc">enableMode32k</a></td></tr>
<tr class="memdesc:a9a3d369244d508b9311fd88a5d7170bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART uses 32 kHz clock from the RTC oscillator as the clock source. <a href="#a9a3d369244d508b9311fd88a5d7170bc">More...</a><br/></td></tr>
<tr class="separator:a9a3d369244d508b9311fd88a5d7170bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d3990d1b607803e6f17c97678de7883"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d3990d1b607803e6f17c97678de7883"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a4d3990d1b607803e6f17c97678de7883">enableHardwareFlowControl</a></td></tr>
<tr class="memdesc:a4d3990d1b607803e6f17c97678de7883"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable hardware control RTS/CTS. <br/></td></tr>
<tr class="separator:a4d3990d1b607803e6f17c97678de7883"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74fdb3d992d7475c5a3846d3972c2259"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74fdb3d992d7475c5a3846d3972c2259"></a>
<a class="el" href="a00062.html#gaecf8ddf31cc555e51baeef0bf1fba245">usart_txfifo_watermark_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a74fdb3d992d7475c5a3846d3972c2259">txWatermark</a></td></tr>
<tr class="memdesc:a74fdb3d992d7475c5a3846d3972c2259"><td class="mdescLeft">&#160;</td><td class="mdescRight">txFIFO watermark <br/></td></tr>
<tr class="separator:a74fdb3d992d7475c5a3846d3972c2259"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2d9555f4676e0ac37b51bd940b95e3a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2d9555f4676e0ac37b51bd940b95e3a"></a>
<a class="el" href="a00062.html#ga595e2d7fb55edc209d46d8207121526b">usart_rxfifo_watermark_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#af2d9555f4676e0ac37b51bd940b95e3a">rxWatermark</a></td></tr>
<tr class="memdesc:af2d9555f4676e0ac37b51bd940b95e3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">rxFIFO watermark <br/></td></tr>
<tr class="separator:af2d9555f4676e0ac37b51bd940b95e3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25c70030145b41ac1f4030ebdc4390b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00062.html#gafadd2dad2820634ecf4663e0273a178b">usart_sync_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a25c70030145b41ac1f4030ebdc4390b1">syncMode</a></td></tr>
<tr class="memdesc:a25c70030145b41ac1f4030ebdc4390b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer mode select - asynchronous, synchronous master, synchronous slave. <a href="#a25c70030145b41ac1f4030ebdc4390b1">More...</a><br/></td></tr>
<tr class="separator:a25c70030145b41ac1f4030ebdc4390b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad8518580e6b01e84394fda5aaaac498"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00062.html#ga804d7ffe69bedc08ea1d10829b33be28">usart_clock_polarity_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#aad8518580e6b01e84394fda5aaaac498">clockPolarity</a></td></tr>
<tr class="memdesc:aad8518580e6b01e84394fda5aaaac498"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selects the clock polarity and sampling edge in synchronous mode. <a href="#aad8518580e6b01e84394fda5aaaac498">More...</a><br/></td></tr>
<tr class="separator:aad8518580e6b01e84394fda5aaaac498"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a691ca4c00ee5bd1bde98fd7c6b63a131"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _usart_config::enableContinuousSCLK</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9a3d369244d508b9311fd88a5d7170bc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _usart_config::enableMode32k</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a25c70030145b41ac1f4030ebdc4390b1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00062.html#gafadd2dad2820634ecf4663e0273a178b">usart_sync_mode_t</a> _usart_config::syncMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aad8518580e6b01e84394fda5aaaac498"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00062.html#ga804d7ffe69bedc08ea1d10829b33be28">usart_clock_polarity_t</a> _usart_config::clockPolarity</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00437" id="a00437"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _usart_transfer</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a772fe840060516d61371497eeda93bca"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a772fe840060516d61371497eeda93bca">dataSize</a></td></tr>
<tr class="memdesc:a772fe840060516d61371497eeda93bca"><td class="mdescLeft">&#160;</td><td class="mdescRight">The byte count to be transfer. <a href="#a772fe840060516d61371497eeda93bca">More...</a><br/></td></tr>
<tr class="separator:a772fe840060516d61371497eeda93bca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4347f3022beb6cb6d930582eaa7d284"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#af4347f3022beb6cb6d930582eaa7d284">data</a></td></tr>
<tr class="memdesc:af4347f3022beb6cb6d930582eaa7d284"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer of data to be transfer. <a href="#af4347f3022beb6cb6d930582eaa7d284">More...</a><br/></td></tr>
<tr class="separator:af4347f3022beb6cb6d930582eaa7d284"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaebd685f866e8426d8ac31f80e9c5ac0"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#aaebd685f866e8426d8ac31f80e9c5ac0">rxData</a></td></tr>
<tr class="memdesc:aaebd685f866e8426d8ac31f80e9c5ac0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer to receive data. <a href="#aaebd685f866e8426d8ac31f80e9c5ac0">More...</a><br/></td></tr>
<tr class="separator:aaebd685f866e8426d8ac31f80e9c5ac0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a348d1c6d67a97dfd5d80cd4abbb5133b"><td class="memItemLeft" align="right" valign="top">const uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a348d1c6d67a97dfd5d80cd4abbb5133b">txData</a></td></tr>
<tr class="memdesc:a348d1c6d67a97dfd5d80cd4abbb5133b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer of data to be sent. <a href="#a348d1c6d67a97dfd5d80cd4abbb5133b">More...</a><br/></td></tr>
<tr class="separator:a348d1c6d67a97dfd5d80cd4abbb5133b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="af4347f3022beb6cb6d930582eaa7d284"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* _usart_transfer::data</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aaebd685f866e8426d8ac31f80e9c5ac0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* _usart_transfer::rxData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a348d1c6d67a97dfd5d80cd4abbb5133b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const uint8_t* _usart_transfer::txData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a772fe840060516d61371497eeda93bca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t _usart_transfer::dataSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="a00436" id="a00436"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _usart_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:a1c1a5d272a1b95815904f86a75aa1d3b"><td class="memItemLeft" align="right" valign="top">const uint8_t *volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a1c1a5d272a1b95815904f86a75aa1d3b">txData</a></td></tr>
<tr class="memdesc:a1c1a5d272a1b95815904f86a75aa1d3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address of remaining data to send. <a href="#a1c1a5d272a1b95815904f86a75aa1d3b">More...</a><br/></td></tr>
<tr class="separator:a1c1a5d272a1b95815904f86a75aa1d3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7313fa622967f06f722c54c294bc884"><td class="memItemLeft" align="right" valign="top">volatile size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ab7313fa622967f06f722c54c294bc884">txDataSize</a></td></tr>
<tr class="memdesc:ab7313fa622967f06f722c54c294bc884"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the remaining data to send. <a href="#ab7313fa622967f06f722c54c294bc884">More...</a><br/></td></tr>
<tr class="separator:ab7313fa622967f06f722c54c294bc884"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fdc2991f592938454d6fca89d51c048"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a0fdc2991f592938454d6fca89d51c048">txDataSizeAll</a></td></tr>
<tr class="memdesc:a0fdc2991f592938454d6fca89d51c048"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the data to send out. <a href="#a0fdc2991f592938454d6fca89d51c048">More...</a><br/></td></tr>
<tr class="separator:a0fdc2991f592938454d6fca89d51c048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab542745215695fe8ec1fe961eb279b03"><td class="memItemLeft" align="right" valign="top">uint8_t *volatile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ab542745215695fe8ec1fe961eb279b03">rxData</a></td></tr>
<tr class="memdesc:ab542745215695fe8ec1fe961eb279b03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address of remaining data to receive. <a href="#ab542745215695fe8ec1fe961eb279b03">More...</a><br/></td></tr>
<tr class="separator:ab542745215695fe8ec1fe961eb279b03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56f610440fdc4468294c0b1a88cbb40f"><td class="memItemLeft" align="right" valign="top">volatile size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a56f610440fdc4468294c0b1a88cbb40f">rxDataSize</a></td></tr>
<tr class="memdesc:a56f610440fdc4468294c0b1a88cbb40f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the remaining data to receive. <a href="#a56f610440fdc4468294c0b1a88cbb40f">More...</a><br/></td></tr>
<tr class="separator:a56f610440fdc4468294c0b1a88cbb40f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb56ce65366b01bc8fd035dd500faf5e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#aeb56ce65366b01bc8fd035dd500faf5e">rxDataSizeAll</a></td></tr>
<tr class="memdesc:aeb56ce65366b01bc8fd035dd500faf5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the data to receive. <a href="#aeb56ce65366b01bc8fd035dd500faf5e">More...</a><br/></td></tr>
<tr class="separator:aeb56ce65366b01bc8fd035dd500faf5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a330deecdce9b4d973e43b38e7f1b81ec"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a330deecdce9b4d973e43b38e7f1b81ec">rxRingBuffer</a></td></tr>
<tr class="memdesc:a330deecdce9b4d973e43b38e7f1b81ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start address of the receiver ring buffer. <a href="#a330deecdce9b4d973e43b38e7f1b81ec">More...</a><br/></td></tr>
<tr class="separator:a330deecdce9b4d973e43b38e7f1b81ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22acf3b7ea83a9b701ec5ac7819ac538"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a22acf3b7ea83a9b701ec5ac7819ac538">rxRingBufferSize</a></td></tr>
<tr class="memdesc:a22acf3b7ea83a9b701ec5ac7819ac538"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the ring buffer. <a href="#a22acf3b7ea83a9b701ec5ac7819ac538">More...</a><br/></td></tr>
<tr class="separator:a22acf3b7ea83a9b701ec5ac7819ac538"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf7d0609ce46c8738aec656fbbf0305c"><td class="memItemLeft" align="right" valign="top">volatile uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#abf7d0609ce46c8738aec656fbbf0305c">rxRingBufferHead</a></td></tr>
<tr class="memdesc:abf7d0609ce46c8738aec656fbbf0305c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index for the driver to store received data into ring buffer. <a href="#abf7d0609ce46c8738aec656fbbf0305c">More...</a><br/></td></tr>
<tr class="separator:abf7d0609ce46c8738aec656fbbf0305c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a047780bd1268a676f4ebb16c306cd75a"><td class="memItemLeft" align="right" valign="top">volatile uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a047780bd1268a676f4ebb16c306cd75a">rxRingBufferTail</a></td></tr>
<tr class="memdesc:a047780bd1268a676f4ebb16c306cd75a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index for the user to get data from the ring buffer. <a href="#a047780bd1268a676f4ebb16c306cd75a">More...</a><br/></td></tr>
<tr class="separator:a047780bd1268a676f4ebb16c306cd75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9be0049f0ca8da0b38a0bb9d09d541c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00062.html#ga9688f27725349ed0dd7a37c9a75eccc0">usart_transfer_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ac9be0049f0ca8da0b38a0bb9d09d541c">callback</a></td></tr>
<tr class="memdesc:ac9be0049f0ca8da0b38a0bb9d09d541c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function. <a href="#ac9be0049f0ca8da0b38a0bb9d09d541c">More...</a><br/></td></tr>
<tr class="separator:ac9be0049f0ca8da0b38a0bb9d09d541c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fafdad864492cb0f78a2a312759a515"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a1fafdad864492cb0f78a2a312759a515">userData</a></td></tr>
<tr class="memdesc:a1fafdad864492cb0f78a2a312759a515"><td class="mdescLeft">&#160;</td><td class="mdescRight">USART callback function parameter. <a href="#a1fafdad864492cb0f78a2a312759a515">More...</a><br/></td></tr>
<tr class="separator:a1fafdad864492cb0f78a2a312759a515"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f8a78e459b75948a84f665fd3092ded"><td class="memItemLeft" align="right" valign="top">volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a7f8a78e459b75948a84f665fd3092ded">txState</a></td></tr>
<tr class="memdesc:a7f8a78e459b75948a84f665fd3092ded"><td class="mdescLeft">&#160;</td><td class="mdescRight">TX transfer state. <a href="#a7f8a78e459b75948a84f665fd3092ded">More...</a><br/></td></tr>
<tr class="separator:a7f8a78e459b75948a84f665fd3092ded"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05861925b5c798c477a57e10acfa054d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05861925b5c798c477a57e10acfa054d"></a>
volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a05861925b5c798c477a57e10acfa054d">rxState</a></td></tr>
<tr class="memdesc:a05861925b5c798c477a57e10acfa054d"><td class="mdescLeft">&#160;</td><td class="mdescRight">RX transfer state. <br/></td></tr>
<tr class="separator:a05861925b5c798c477a57e10acfa054d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a1a16ccec35706d4dc3f0c1c3d0d995"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a1a16ccec35706d4dc3f0c1c3d0d995"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a7a1a16ccec35706d4dc3f0c1c3d0d995">txWatermark</a></td></tr>
<tr class="memdesc:a7a1a16ccec35706d4dc3f0c1c3d0d995"><td class="mdescLeft">&#160;</td><td class="mdescRight">txFIFO watermark <br/></td></tr>
<tr class="separator:a7a1a16ccec35706d4dc3f0c1c3d0d995"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74c7523797b4d6ba0497b6b513f878df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74c7523797b4d6ba0497b6b513f878df"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a74c7523797b4d6ba0497b6b513f878df">rxWatermark</a></td></tr>
<tr class="memdesc:a74c7523797b4d6ba0497b6b513f878df"><td class="mdescLeft">&#160;</td><td class="mdescRight">rxFIFO watermark <br/></td></tr>
<tr class="separator:a74c7523797b4d6ba0497b6b513f878df"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a1c1a5d272a1b95815904f86a75aa1d3b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const uint8_t* volatile _usart_handle::txData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab7313fa622967f06f722c54c294bc884"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile size_t _usart_handle::txDataSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0fdc2991f592938454d6fca89d51c048"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t _usart_handle::txDataSizeAll</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab542745215695fe8ec1fe961eb279b03"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* volatile _usart_handle::rxData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a56f610440fdc4468294c0b1a88cbb40f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile size_t _usart_handle::rxDataSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aeb56ce65366b01bc8fd035dd500faf5e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t _usart_handle::rxDataSizeAll</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a330deecdce9b4d973e43b38e7f1b81ec"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* _usart_handle::rxRingBuffer</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a22acf3b7ea83a9b701ec5ac7819ac538"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t _usart_handle::rxRingBufferSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="abf7d0609ce46c8738aec656fbbf0305c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint16_t _usart_handle::rxRingBufferHead</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a047780bd1268a676f4ebb16c306cd75a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint16_t _usart_handle::rxRingBufferTail</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac9be0049f0ca8da0b38a0bb9d09d541c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00062.html#ga9688f27725349ed0dd7a37c9a75eccc0">usart_transfer_callback_t</a> _usart_handle::callback</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1fafdad864492cb0f78a2a312759a515"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* _usart_handle::userData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7f8a78e459b75948a84f665fd3092ded"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint8_t _usart_handle::txState</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gad737c0eee502276b7615e83ec3a79be4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_USART_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="a00242.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 8, 3))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gac0f88b67f77fd05f186a5ec940c340bd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define UART_RETRY_TIMES&#160;&#160;&#160;0U</td>
</tr>
</table>
</div><div class="memdoc">
<p>Defining to zero means to keep waiting for the flag until it is assert/deassert in blocking transfer, otherwise the program will wait until the UART_RETRY_TIMES counts down to 0, if the flag still remains unchanged then program will return kStatus_USART_Timeout. It is not advised to use this macro in formal application to prevent any hardware error because the actual wait period is affected by the compiler and optimization. </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gafadd2dad2820634ecf4663e0273a178b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00062.html#gab3b6a5d80be9940d58f739ded5962a59">_usart_sync_mode</a> <a class="el" href="a00062.html#gafadd2dad2820634ecf4663e0273a178b">usart_sync_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gafd66e4e7133327cb2a1df4e24d8f4cb6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00062.html#ga8725fe345ac7bb48cc48f9553212f5db">_usart_parity_mode</a> <a class="el" href="a00062.html#gafd66e4e7133327cb2a1df4e24d8f4cb6">usart_parity_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga4b8e5ed1a787d428e84a5a550fedc417"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00062.html#gaeeaf3b2b6394d3a656342cfbce0e39ee">_usart_stop_bit_count</a> <a class="el" href="a00062.html#ga4b8e5ed1a787d428e84a5a550fedc417">usart_stop_bit_count_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga8fb417dc9cfa4304cefe7bec12479a8e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00062.html#gaba5e41db910ac7f4e3a9732b1bfa002e">_usart_data_len</a> <a class="el" href="a00062.html#ga8fb417dc9cfa4304cefe7bec12479a8e">usart_data_len_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga804d7ffe69bedc08ea1d10829b33be28"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00062.html#ga148de18c5f1501903739e858695dc1bd">_usart_clock_polarity</a> <a class="el" href="a00062.html#ga804d7ffe69bedc08ea1d10829b33be28">usart_clock_polarity_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga6e64075cc12bfd8c2cefe6a24a210145"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00062.html#a00434">_usart_config</a> <a class="el" href="a00062.html#ga6e64075cc12bfd8c2cefe6a24a210145">usart_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga5f095da5c95e5137fd47b284217dbe74"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00062.html#a00437">_usart_transfer</a> <a class="el" href="a00062.html#ga5f095da5c95e5137fd47b284217dbe74">usart_transfer_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga9688f27725349ed0dd7a37c9a75eccc0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* usart_transfer_callback_t)(USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle, <a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> status, void *userData)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga7bfd3f835fa5bd9faa9590687077e125"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* flexcomm_usart_irq_handler_t)(USART_Type *base, <a class="el" href="a00062.html#a00436">usart_handle_t</a> *handle)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga726ca809ffd3d67ab4b8476646f26635"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a78157ec0658118f9205521c03da99093"></a>kStatus_USART_TxBusy</em>&nbsp;</td><td class="fielddoc">
<p>Transmitter is busy. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a38225397e3744ef1b4995041ce80d839"></a>kStatus_USART_RxBusy</em>&nbsp;</td><td class="fielddoc">
<p>Receiver is busy. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a539a0ebaa0137fdf6d7cc9b984acb13f"></a>kStatus_USART_TxIdle</em>&nbsp;</td><td class="fielddoc">
<p>USART transmitter is idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a3cb7112c821c89d7fbb1c048a86756aa"></a>kStatus_USART_RxIdle</em>&nbsp;</td><td class="fielddoc">
<p>USART receiver is idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635abf010640733ea1ae8c97d7a0b83ea11b"></a>kStatus_USART_TxError</em>&nbsp;</td><td class="fielddoc">
<p>Error happens on txFIFO. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a888280fbe6cf9b4b0647db78f0578ff5"></a>kStatus_USART_RxError</em>&nbsp;</td><td class="fielddoc">
<p>Error happens on rxFIFO. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a256720c63c378f57791e946c0473290e"></a>kStatus_USART_RxRingBufferOverrun</em>&nbsp;</td><td class="fielddoc">
<p>Error happens on rx ring buffer. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a3f21596ffe8300152d7f9f5587402e19"></a>kStatus_USART_NoiseError</em>&nbsp;</td><td class="fielddoc">
<p>USART noise error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a9e2f548075400b4c0a719ee1b0a534a9"></a>kStatus_USART_FramingError</em>&nbsp;</td><td class="fielddoc">
<p>USART framing error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a579872694419f8708e38935593105868"></a>kStatus_USART_ParityError</em>&nbsp;</td><td class="fielddoc">
<p>USART parity error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635ae427c8491ce7294dfeaa3b87e506bd81"></a>kStatus_USART_BaudrateNotSupport</em>&nbsp;</td><td class="fielddoc">
<p>Baudrate is not support in current clock source. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gab3b6a5d80be9940d58f739ded5962a59"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00062.html#gab3b6a5d80be9940d58f739ded5962a59">_usart_sync_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggab3b6a5d80be9940d58f739ded5962a59af7a378247f82677090007d0c38be78f2"></a>kUSART_SyncModeDisabled</em>&nbsp;</td><td class="fielddoc">
<p>Asynchronous mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab3b6a5d80be9940d58f739ded5962a59a71df5907ecd16c5f08fe1e6673064958"></a>kUSART_SyncModeSlave</em>&nbsp;</td><td class="fielddoc">
<p>Synchronous slave mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab3b6a5d80be9940d58f739ded5962a59af279132afb0bee88bae3065c20c79ab2"></a>kUSART_SyncModeMaster</em>&nbsp;</td><td class="fielddoc">
<p>Synchronous master mode. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga8725fe345ac7bb48cc48f9553212f5db"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00062.html#ga8725fe345ac7bb48cc48f9553212f5db">_usart_parity_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga8725fe345ac7bb48cc48f9553212f5dba46309b174047a84a78c77b7648bdf21b"></a>kUSART_ParityDisabled</em>&nbsp;</td><td class="fielddoc">
<p>Parity disabled. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga8725fe345ac7bb48cc48f9553212f5dbaad8d786301da1bb92e2b911c386d39eb"></a>kUSART_ParityEven</em>&nbsp;</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="gga8725fe345ac7bb48cc48f9553212f5dba64df3b823d2ab5f3f56ffb3f520eafb1"></a>kUSART_ParityOdd</em>&nbsp;</td><td class="fielddoc">
<p>Parity enabled, type odd, bit setting: PE|PT = 11. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaeeaf3b2b6394d3a656342cfbce0e39ee"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00062.html#gaeeaf3b2b6394d3a656342cfbce0e39ee">_usart_stop_bit_count</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="ggaeeaf3b2b6394d3a656342cfbce0e39eeaa637b8f5f0edd262181a20c1fbed7c12"></a>kUSART_OneStopBit</em>&nbsp;</td><td class="fielddoc">
<p>One stop bit. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaeeaf3b2b6394d3a656342cfbce0e39eea3aee3195dc850778e33f2ebacf8847d3"></a>kUSART_TwoStopBit</em>&nbsp;</td><td class="fielddoc">
<p>Two stop bits. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaba5e41db910ac7f4e3a9732b1bfa002e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00062.html#gaba5e41db910ac7f4e3a9732b1bfa002e">_usart_data_len</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="ggaba5e41db910ac7f4e3a9732b1bfa002ea9562d6cdd240e9808a9a1d1946f400b7"></a>kUSART_7BitsPerChar</em>&nbsp;</td><td class="fielddoc">
<p>Seven bit mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaba5e41db910ac7f4e3a9732b1bfa002ead71aee19329a4127614132d30e50ad8a"></a>kUSART_8BitsPerChar</em>&nbsp;</td><td class="fielddoc">
<p>Eight bit mode. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga148de18c5f1501903739e858695dc1bd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00062.html#ga148de18c5f1501903739e858695dc1bd">_usart_clock_polarity</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga148de18c5f1501903739e858695dc1bda40fdc56c60a07652a4283491087eed6b"></a>kUSART_RxSampleOnFallingEdge</em>&nbsp;</td><td class="fielddoc">
<p>Un_RXD is sampled on the falling edge of SCLK. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga148de18c5f1501903739e858695dc1bdaea6908db956ab3f686c7ee54d68d401c"></a>kUSART_RxSampleOnRisingEdge</em>&nbsp;</td><td class="fielddoc">
<p>Un_RXD is sampled on the rising edge of SCLK. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga1c5430896edca7d80a5926f95f2355ee"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00062.html#ga1c5430896edca7d80a5926f95f2355ee">_usart_txfifo_watermark</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="gga1c5430896edca7d80a5926f95f2355eea4c06b40c032f50878b21a2d50ada6dce"></a>kUSART_TxFifo0</em>&nbsp;</td><td class="fielddoc">
<p>USART tx watermark is empty. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1c5430896edca7d80a5926f95f2355eea1d9f1d7d066818718be802be7d375672"></a>kUSART_TxFifo1</em>&nbsp;</td><td class="fielddoc">
<p>USART tx watermark at 1 item. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1c5430896edca7d80a5926f95f2355eea4e893f1b0acc108a4438e5e0246cfd98"></a>kUSART_TxFifo2</em>&nbsp;</td><td class="fielddoc">
<p>USART tx watermark at 2 items. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1c5430896edca7d80a5926f95f2355eea956a6639ce7a77854b2b8818600056d1"></a>kUSART_TxFifo3</em>&nbsp;</td><td class="fielddoc">
<p>USART tx watermark at 3 items. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1c5430896edca7d80a5926f95f2355eea125165264a20e9a99ebe8809c537519d"></a>kUSART_TxFifo4</em>&nbsp;</td><td class="fielddoc">
<p>USART tx watermark at 4 items. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1c5430896edca7d80a5926f95f2355eeaba62dcf8bffa3fea75659cd15d85f5f5"></a>kUSART_TxFifo5</em>&nbsp;</td><td class="fielddoc">
<p>USART tx watermark at 5 items. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1c5430896edca7d80a5926f95f2355eead5789e845dda660016f5ad20d44543c5"></a>kUSART_TxFifo6</em>&nbsp;</td><td class="fielddoc">
<p>USART tx watermark at 6 items. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1c5430896edca7d80a5926f95f2355eea2d5f3f3e606d0234022ba79c51006c79"></a>kUSART_TxFifo7</em>&nbsp;</td><td class="fielddoc">
<p>USART tx watermark at 7 items. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga25f54041b33bf8f9f9f2c737167236f4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00062.html#ga25f54041b33bf8f9f9f2c737167236f4">_usart_rxfifo_watermark</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="gga25f54041b33bf8f9f9f2c737167236f4ae4c7d10afbc0733440891ebe03b16b3f"></a>kUSART_RxFifo1</em>&nbsp;</td><td class="fielddoc">
<p>USART rx watermark at 1 item. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga25f54041b33bf8f9f9f2c737167236f4a0234bec87111ef277cf08bf1cdacf081"></a>kUSART_RxFifo2</em>&nbsp;</td><td class="fielddoc">
<p>USART rx watermark at 2 items. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga25f54041b33bf8f9f9f2c737167236f4a1b8335b872c2a509fd2a623b161975cc"></a>kUSART_RxFifo3</em>&nbsp;</td><td class="fielddoc">
<p>USART rx watermark at 3 items. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga25f54041b33bf8f9f9f2c737167236f4a6ea188f34c9f1c2ff50b71526e42a687"></a>kUSART_RxFifo4</em>&nbsp;</td><td class="fielddoc">
<p>USART rx watermark at 4 items. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga25f54041b33bf8f9f9f2c737167236f4aa1868626ee2cca1ca8cc225b71c7a7bf"></a>kUSART_RxFifo5</em>&nbsp;</td><td class="fielddoc">
<p>USART rx watermark at 5 items. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga25f54041b33bf8f9f9f2c737167236f4a4819c5fd1c6c274e2e6f08b8aa2bad19"></a>kUSART_RxFifo6</em>&nbsp;</td><td class="fielddoc">
<p>USART rx watermark at 6 items. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga25f54041b33bf8f9f9f2c737167236f4a9bb99b104055213d54116ea79f0a2586"></a>kUSART_RxFifo7</em>&nbsp;</td><td class="fielddoc">
<p>USART rx watermark at 7 items. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga25f54041b33bf8f9f9f2c737167236f4a6e09aeee58582acc9b9baeb10315f024"></a>kUSART_RxFifo8</em>&nbsp;</td><td class="fielddoc">
<p>USART rx watermark at 8 items. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga78b340bf3b25bfae957d0c5532b9b853"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00062.html#ga78b340bf3b25bfae957d0c5532b9b853">_usart_interrupt_enable</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga78b340bf3b25bfae957d0c5532b9b853ac5611ab6b973e6777a7d7db8321f62f2"></a>kUSART_TxIdleInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Transmitter idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga78b340bf3b25bfae957d0c5532b9b853a3d02580815ae2cc516b2eceaa5af7cb1"></a>kUSART_CtsChangeInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Change in the state of the CTS input. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga78b340bf3b25bfae957d0c5532b9b853a8025155917fdba2167f615ac1f6fd0e8"></a>kUSART_RxBreakChangeInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Break condition asserted or deasserted. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga78b340bf3b25bfae957d0c5532b9b853ae642012aae33bd8954699572e4adb475"></a>kUSART_RxStartInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Rx start bit detected. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga78b340bf3b25bfae957d0c5532b9b853a5cd5bf36e32a46d994643a712fd08ea9"></a>kUSART_FramingErrorInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Framing error detected. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga78b340bf3b25bfae957d0c5532b9b853a3dc275bab22f77a1182bbab5fd5cea3b"></a>kUSART_ParityErrorInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Parity error detected. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga78b340bf3b25bfae957d0c5532b9b853ac8d3050ed3df9d9278f74c9ab27b2ddc"></a>kUSART_NoiseErrorInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Noise error detected. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga78b340bf3b25bfae957d0c5532b9b853a7154c6ede60243bf5f9e727a5cb18ce5"></a>kUSART_AutoBaudErrorInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Auto baudrate error detected. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaa6a81e7e82e236bb1c3c5ba306466610"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00062.html#gaa6a81e7e82e236bb1c3c5ba306466610">_usart_flags</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This provides constants for the USART status flags for use in the USART functions. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a88f35fb71e2d5a7bea4f8eed7b6a050c"></a>kUSART_TxError</em>&nbsp;</td><td class="fielddoc">
<p>TEERR bit, sets if TX buffer is error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a8aa9eb127699721457f3ec9e1025246b"></a>kUSART_RxError</em>&nbsp;</td><td class="fielddoc">
<p>RXERR bit, sets if RX buffer is error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610af11f0420c46f24642414bb66d2e389c7"></a>kUSART_TxFifoEmptyFlag</em>&nbsp;</td><td class="fielddoc">
<p>TXEMPTY bit, sets if TX buffer is empty. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a584ded6df831827495ab206619c81174"></a>kUSART_TxFifoNotFullFlag</em>&nbsp;</td><td class="fielddoc">
<p>TXNOTFULL bit, sets if TX buffer is not full. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a39952b4f24141f895bab7822dc330330"></a>kUSART_RxFifoNotEmptyFlag</em>&nbsp;</td><td class="fielddoc">
<p>RXNOEMPTY bit, sets if RX buffer is not empty. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a519cf0825b102a001c88bfba6506824c"></a>kUSART_RxFifoFullFlag</em>&nbsp;</td><td class="fielddoc">
<p>RXFULL bit, sets if RX buffer is full. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610abc766d479d00f480e78d05f21f8e1d59"></a>kUSART_RxIdleFlag</em>&nbsp;</td><td class="fielddoc">
<p>Receiver idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a8106fa188ea138f48c7740dcf5c2b294"></a>kUSART_TxIdleFlag</em>&nbsp;</td><td class="fielddoc">
<p>Transmitter idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a43d6b4aef70a978f4794efabd5457f51"></a>kUSART_CtsAssertFlag</em>&nbsp;</td><td class="fielddoc">
<p>CTS signal high. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a7119fd7ce16b8aa8a98b1d82271698dd"></a>kUSART_CtsChangeFlag</em>&nbsp;</td><td class="fielddoc">
<p>CTS signal changed interrupt status. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610aca92bd8dc74c45b62e3f9b4c707b8638"></a>kUSART_BreakDetectFlag</em>&nbsp;</td><td class="fielddoc">
<p>Break detected. </p>
<p>Self cleared when rx pin goes high again. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610aa73bdb740d60558f33c28c7bc4cffab3"></a>kUSART_BreakDetectChangeFlag</em>&nbsp;</td><td class="fielddoc">
<p>Break detect change interrupt flag. </p>
<p>A change in the state of receiver break detection. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a2fab8368a6a3246714c83405202626b3"></a>kUSART_RxStartFlag</em>&nbsp;</td><td class="fielddoc">
<p>Rx start bit detected interrupt flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a44b58335a118179dd7b3f5d760a314fa"></a>kUSART_FramingErrorFlag</em>&nbsp;</td><td class="fielddoc">
<p>Framing error interrupt flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a46d487d50d8392d25c5c4e76cdfb6674"></a>kUSART_ParityErrorFlag</em>&nbsp;</td><td class="fielddoc">
<p>parity error interrupt flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610a989650ce4c9a8f57ad771a33a2cb0335"></a>kUSART_NoiseErrorFlag</em>&nbsp;</td><td class="fielddoc">
<p>Noise error interrupt flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa6a81e7e82e236bb1c3c5ba306466610ae1cf980779fba1c617584d5ebc8ac3f8"></a>kUSART_AutobaudErrorFlag</em>&nbsp;</td><td class="fielddoc">
<p>Auto baudrate error interrupt flag, caused by the baudrate counter timeout before the end of start bit. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga0433386bbc6c2ac7e2ec7925fea263db"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t USART_GetInstance </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga2aeb4e11fdf0eb515d090865ffcf2ba2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> USART_Init </td>
<td>(</td>
<td class="paramtype">USART_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="a00062.html#ga6e64075cc12bfd8c2cefe6a24a210145">usart_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 USART module with the user-defined settings. The user can configure the configuration structure and also get the default configuration by using the <a class="el" href="a00062.html#ga74464f9357e585e42e5f3c909eb6e9b3" title="Gets the default configuration structure. ">USART_GetDefaultConfig()</a> function. Example below shows how to use this API to configure USART. </p>
<div class="fragment"><div class="line">* <a class="code" href="a00062.html#a00434">usart_config_t</a> usartConfig;</div>
<div class="line">* usartConfig.<a class="code" href="a00062.html#a80339c90b740ca4d4417a97328641ec5">baudRate_Bps</a> = 115200U;</div>
<div class="line">* usartConfig.<a class="code" href="a00062.html#a596335f12cc74301076951ce438b29e8">parityMode</a> = <a class="code" href="a00062.html#gga8725fe345ac7bb48cc48f9553212f5dba46309b174047a84a78c77b7648bdf21b">kUSART_ParityDisabled</a>;</div>
<div class="line">* usartConfig.<a class="code" href="a00062.html#a68387d7059ba0187baaab53ae2a4ff45">stopBitCount</a> = <a class="code" href="a00062.html#ggaeeaf3b2b6394d3a656342cfbce0e39eeaa637b8f5f0edd262181a20c1fbed7c12">kUSART_OneStopBit</a>;</div>
<div class="line">* <a class="code" href="a00062.html#ga2aeb4e11fdf0eb515d090865ffcf2ba2">USART_Init</a>(USART1, &amp;usartConfig, 20000000U);</div>
<div class="line">* </div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">config</td><td>Pointer to user-defined configuration structure. </td></tr>
<tr><td class="paramname">srcClock_Hz</td><td>USART clock source frequency in HZ. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_USART_BaudrateNotSupport</td><td>Baudrate is not support in current clock source. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>USART base address is not valid </td></tr>
<tr><td class="paramname">kStatus_Success</td><td>Status USART initialize succeed </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga80892980b702b0b7614691014a5aaaca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART_Deinit </td>
<td>(</td>
<td class="paramtype">USART_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 TX complete, disables TX and RX, and disables the USART clock.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga74464f9357e585e42e5f3c909eb6e9b3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART_GetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00062.html#ga6e64075cc12bfd8c2cefe6a24a210145">usart_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 USART configuration structure to a default value. The default values are: usartConfig-&gt;baudRate_Bps = 115200U; usartConfig-&gt;parityMode = kUSART_ParityDisabled; usartConfig-&gt;stopBitCount = kUSART_OneStopBit; usartConfig-&gt;bitCountPerChar = kUSART_8BitsPerChar; usartConfig-&gt;loopback = false; usartConfig-&gt;enableTx = false; usartConfig-&gt;enableRx = false;</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to configuration structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gabdcaf539e6c95903c779f4538b1f422b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> USART_SetBaudRate </td>
<td>(</td>
<td class="paramtype">USART_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 USART module baud rate. This function is used to update the USART module baud rate after the USART module is initialized by the USART_Init. </p>
<div class="fragment"><div class="line">* <a class="code" href="a00062.html#gabdcaf539e6c95903c779f4538b1f422b">USART_SetBaudRate</a>(USART1, 115200U, 20000000U);</div>
<div class="line">* </div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">baudrate_Bps</td><td>USART baudrate to be set. </td></tr>
<tr><td class="paramname">srcClock_Hz</td><td>USART clock source frequency in HZ. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_USART_BaudrateNotSupport</td><td>Baudrate is not support in current clock source. </td></tr>
<tr><td class="paramname">kStatus_Success</td><td>Set baudrate succeed. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>One or more arguments are invalid. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa0b9131928d9bb14ef0af71c2d7b5ece"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> USART_Enable32kMode </td>
<td>(</td>
<td class="paramtype">USART_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">bool&#160;</td>
<td class="paramname"><em>enableMode32k</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>Please note that in order to use a 32 kHz clock to operate USART properly, the RTC oscillator and its 32 kHz output must be manully enabled by user, by calling RTC_Init and setting SYSCON_RTCOSCCTRL_EN bit to 1. And in 32kHz clocking mode the USART can only work at 9600 baudrate or at the baudrate that 9600 can evenly divide, eg: 4800, 3200.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">baudRate_Bps</td><td>USART baudrate to be set.. </td></tr>
<tr><td class="paramname">enableMode32k</td><td>true is 32k mode, false is normal mode. </td></tr>
<tr><td class="paramname">srcClock_Hz</td><td>USART clock source frequency in HZ. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_USART_BaudrateNotSupport</td><td>Baudrate is not support in current clock source. </td></tr>
<tr><td class="paramname">kStatus_Success</td><td>Set baudrate succeed. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>One or more arguments are invalid. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae81c380620e158c78a4693de48bc0d05"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART_Enable9bitMode </td>
<td>(</td>
<td class="paramtype">USART_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>
</div><div class="memdoc">
<p>This function set the 9-bit mode for USART module. The 9th bit is not used for parity thus can be modified by user.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART 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="gae2fcb06824d8966b682297342a0cbd25"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void USART_SetMatchAddress </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>address</em>&#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 configures the address for USART module that works as slave in 9-bit data mode. When the address detection is enabled, the frame it receices with MSB being 1 is considered as an address frame, otherwise it is considered as data frame. Once the address frame matches slave's own addresses, this slave is addressed. This address frame and its following data frames are stored in the receive buffer, otherwise the frames will be discarded. To un-address a slave, just send an address frame with unmatched address.</p>
<dl class="section note"><dt>Note</dt><dd>Any USART instance joined in the multi-slave system can work as slave. The position of the address mark is the same as the parity bit when parity is enabled for 8 bit and 9 bit data formats.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">address</td><td>USART slave address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gafe0eb431d7deccc370a4ecc5224c1aed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void USART_EnableMatchAddress </td>
<td>(</td>
<td class="paramtype">USART_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>match</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">match</td><td>true to enable match address, false to disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga33f5cdc2918edf02b9a4ef8a12e27442"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t USART_GetStatusFlags </td>
<td>(</td>
<td class="paramtype">USART_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 get all USART status flags, the flags are returned as the logical OR value of the enumerators <a class="el" href="a00062.html#gaa6a81e7e82e236bb1c3c5ba306466610">_usart_flags</a>. To check a specific status, compare the return value with enumerators in <a class="el" href="a00062.html#gaa6a81e7e82e236bb1c3c5ba306466610">_usart_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="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a584ded6df831827495ab206619c81174">kUSART_TxFifoNotFullFlag</a> &amp; <a class="code" href="a00062.html#ga33f5cdc2918edf02b9a4ef8a12e27442">USART_GetStatusFlags</a>(USART1))</div>
<div class="line">* {</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>USART peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>USART status flags which are ORed by the enumerators in the _usart_flags. </dd></dl>
</div>
</div>
<a class="anchor" id="ga235a301d8f22d6ce3a6f77dbdb76cfe3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void USART_ClearStatusFlags </td>
<td>(</td>
<td class="paramtype">USART_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>
</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 clear supported USART status flags Flags that can be cleared or set are: kUSART_TxError kUSART_RxError For example: </p>
<div class="fragment"><div class="line">* <a class="code" href="a00062.html#ga235a301d8f22d6ce3a6f77dbdb76cfe3">USART_ClearStatusFlags</a>(USART1, <a class="code" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a88f35fb71e2d5a7bea4f8eed7b6a050c">kUSART_TxError</a> | <a class="code" href="a00062.html#ggaa6a81e7e82e236bb1c3c5ba306466610a8aa9eb127699721457f3ec9e1025246b">kUSART_RxError</a>)</div>
<div class="line">* </div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>status flags to be cleared. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9132cf15ff5fd2ac007a88f9400bcf30"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void USART_EnableInterrupts </td>
<td>(</td>
<td class="paramtype">USART_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>
</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 the USART interrupts according to the provided mask. The mask is a logical OR of enumeration members. See <a class="el" href="a00062.html#ga78b340bf3b25bfae957d0c5532b9b853">_usart_interrupt_enable</a>. For example, to enable TX empty interrupt and RX full interrupt: </p>
<div class="fragment"><div class="line">* <a class="code" href="a00062.html#ga9132cf15ff5fd2ac007a88f9400bcf30">USART_EnableInterrupts</a>(USART1, kUSART_TxLevelInterruptEnable | kUSART_RxLevelInterruptEnable);</div>
<div class="line">* </div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>The interrupts to enable. Logical OR of <a class="el" href="a00062.html#ga78b340bf3b25bfae957d0c5532b9b853">_usart_interrupt_enable</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga091d6509100a6e6206483b2f41f16d6c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void USART_DisableInterrupts </td>
<td>(</td>
<td class="paramtype">USART_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>
</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 disables the USART interrupts according to a provided mask. The mask is a logical OR of enumeration members. See <a class="el" href="a00062.html#ga78b340bf3b25bfae957d0c5532b9b853">_usart_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="a00062.html#ga091d6509100a6e6206483b2f41f16d6c">USART_DisableInterrupts</a>(USART1, kUSART_TxLevelInterruptEnable | kUSART_RxLevelInterruptEnable);</div>
<div class="line">* </div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>The interrupts to disable. Logical OR of <a class="el" href="a00062.html#ga78b340bf3b25bfae957d0c5532b9b853">_usart_interrupt_enable</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga49c6966b2af5f0de0fbf49240acc1856"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t USART_GetEnabledInterrupts </td>
<td>(</td>
<td class="paramtype">USART_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 returns the enabled USART interrupts.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaaab4d6b7d7701fbdd022694330207614"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void USART_EnableCTS </td>
<td>(</td>
<td class="paramtype">USART_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 will determine whether CTS is used for flow control.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>Enable CTS or not, true for enable and false for disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad0a37042ec21be840247a05ca9e8e805"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void USART_EnableContinuousSCLK </td>
<td>(</td>
<td class="paramtype">USART_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>By default, SCLK is only output while data is being transmitted in synchronous mode. Enable this funciton, SCLK will run continuously in synchronous mode, allowing characters to be received on Un_RxD independently from transmission on Un_TXD).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>Enable Continuous Clock generation mode or not, true for enable and false for disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga4d96acc82e0bbe947ececc200083c68a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void USART_EnableAutoClearSCLK </td>
<td>(</td>
<td class="paramtype">USART_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>While enable this cuntion, the Continuous Clock bit is automatically cleared when a complete character has been received. This bit is cleared at the same time.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">enable</td><td>Enable auto clear or not, true for enable and false for disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad1b92754b85be70151d0d1f9377a2794"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void USART_SetRxFifoWatermark </td>
<td>(</td>
<td class="paramtype">USART_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>water</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">water</td><td>Rx FIFO watermark. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gadfe67091db3b60f25bbfa04708dae354"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void USART_SetTxFifoWatermark </td>
<td>(</td>
<td class="paramtype">USART_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>water</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">water</td><td>Tx FIFO watermark. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae7a92a20789cf111acadb543916aac91"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void USART_WriteByte </td>
<td>(</td>
<td class="paramtype">USART_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 txFIFO directly. The upper layer must ensure that txFIFO has space for data to write before calling this function.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">data</td><td>The byte to write. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaaa9dc0edc5edacd55bb88ff7b9b55f98"></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 USART_ReadByte </td>
<td>(</td>
<td class="paramtype">USART_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 rxFIFO directly. The upper layer must ensure that the rxFIFO is not empty before calling this function.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The byte read from USART data register. </dd></dl>
</div>
</div>
<a class="anchor" id="gaea6b5fa1c42eee5ab2819af23afe197a"></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 USART_GetRxFifoCount </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>rx FIFO data count. </dd></dl>
</div>
</div>
<a class="anchor" id="ga03ef6205dca5ba44c0b29ff2f2175fae"></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 USART_GetTxFifoCount </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>tx FIFO data count. </dd></dl>
</div>
</div>
<a class="anchor" id="ga6ed8281b59aa8a1e181ae2692475adef"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART_SendAddress </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>address</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">address</td><td>USART slave address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga95abde78d5cbf569f2b6e4d7942b64df"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> USART_WriteBlocking </td>
<td>(</td>
<td class="paramtype">USART_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 TX register, waits for the TX register to be empty or for the TX FIFO to have room and writes data to the TX buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART 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>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_USART_Timeout</td><td>Transmission timed out and was aborted. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>Invalid argument. </td></tr>
<tr><td class="paramname">kStatus_Success</td><td>Successfully wrote all data. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga09c3b588e2099ffa6b999c5ca7fb8d58"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> USART_ReadBlocking </td>
<td>(</td>
<td class="paramtype">USART_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 to be full or for RX FIFO to have data and read data from the TX register.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART 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_USART_FramingError</td><td>Receiver overrun happened while receiving data. </td></tr>
<tr><td class="paramname">kStatus_USART_ParityError</td><td>Noise error happened while receiving data. </td></tr>
<tr><td class="paramname">kStatus_USART_NoiseError</td><td>Framing error happened while receiving data. </td></tr>
<tr><td class="paramname">kStatus_USART_RxError</td><td>Overflow or underflow rxFIFO happened. </td></tr>
<tr><td class="paramname">kStatus_USART_Timeout</td><td>Transmission timed out and was aborted. </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="ga9aed876794d5c2ab2e37196242602b89"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> USART_TransferCreateHandle </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#a00436">usart_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#ga9688f27725349ed0dd7a37c9a75eccc0">usart_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 USART handle which can be used for other USART transactional APIs. Usually, for a specified USART instance, call this API once to get the initialized handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>USART handle pointer. </td></tr>
<tr><td class="paramname">callback</td><td>The callback function. </td></tr>
<tr><td class="paramname">userData</td><td>The parameter of the callback function. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga7f5a4e7e831ab0dc869637494a57362e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> USART_TransferSendNonBlocking </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#a00436">usart_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#ga5f095da5c95e5137fd47b284217dbe74">usart_transfer_t</a> *&#160;</td>
<td class="paramname"><em>xfer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sends data using an interrupt method. This is a non-blocking function, which returns directly without waiting for all data to be written to the TX register. When all data is written to the TX register in the IRQ handler, the USART driver calls the callback function and passes the <a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635a539a0ebaa0137fdf6d7cc9b984acb13f">kStatus_USART_TxIdle</a> as status parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>USART handle pointer. </td></tr>
<tr><td class="paramname">xfer</td><td>USART transfer structure. See <a class="el" href="a00062.html#ga5f095da5c95e5137fd47b284217dbe74" title="USART transfer structure. ">usart_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_USART_TxBusy</td><td>Previous transmission still not finished, data not all written to TX register yet. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>Invalid argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga8500107ace3179c85e66d73fa1f41d16"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART_TransferStartRingBuffer </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#a00436">usart_handle_t</a> *&#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 USART handle.</p>
<p>When the RX ring buffer is used, data received are stored into the ring buffer even when the user doesn't call the <a class="el" href="a00062.html#ga34c6c819c9e2d8608a6d7e63103fa542" title="Receives a buffer of data using an interrupt method. ">USART_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 the 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>USART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>USART handle pointer. </td></tr>
<tr><td class="paramname">ringBuffer</td><td>Start address of the 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="gaedb2f678849734999e373a8b00a5248c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART_TransferStopRingBuffer </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#a00436">usart_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<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>USART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>USART handle pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac0c8e42457c41efd02a4310423804e77"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t USART_TransferGetRxRingBufferLength </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00062.html#a00436">usart_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>USART handle pointer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Length of received data in RX ring buffer. </dd></dl>
</div>
</div>
<a class="anchor" id="ga095596e064fa8aa6bac0927e71b0329c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART_TransferAbortSend </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#a00436">usart_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<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>USART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>USART handle pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga56acdf4c0046516f59c04d89e8e988e6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> USART_TransferGetSendCount </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#a00436">usart_handle_t</a> *&#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 sent out to bus by interrupt method.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>USART 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="ga34c6c819c9e2d8608a6d7e63103fa542"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> USART_TransferReceiveNonBlocking </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#a00436">usart_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#ga5f095da5c95e5137fd47b284217dbe74">usart_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 for all data to be 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 to read, the receive request is saved by the USART driver. When the new data arrives, the receive request is serviced first. When all data is received, the USART driver notifies the upper layer through a callback function and passes the status parameter <a class="el" href="a00062.html#gga726ca809ffd3d67ab4b8476646f26635a3cb7112c821c89d7fbb1c048a86756aa">kStatus_USART_RxIdle</a>. For example, the upper layer needs 10 bytes but there are only 5 bytes in the ring buffer. The 5 bytes are copied to the xfer-&gt;data and this function returns with the parameter <code>receivedBytes</code> set to 5. For the left 5 bytes, newly arrived data is saved from the xfer-&gt;data[5]. When 5 bytes are received, the USART 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 the 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>USART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>USART handle pointer. </td></tr>
<tr><td class="paramname">xfer</td><td>USART transfer structure, see <a class="el" href="a00062.html#ga5f095da5c95e5137fd47b284217dbe74" title="USART transfer structure. ">usart_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 transmit queue. </td></tr>
<tr><td class="paramname">kStatus_USART_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="ga2de9bf9557d2f7bc6fe0236608cb958e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART_TransferAbortReceive </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#a00436">usart_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<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>USART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>USART handle pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga43cc02b4521f48ae0b5626a1e8f87a0e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00242.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> USART_TransferGetReceiveCount </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#a00436">usart_handle_t</a> *&#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>USART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>USART 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="gae955a5e336b3cb3276d5cdd6f1f6feda"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART_TransferHandleIRQ </td>
<td>(</td>
<td class="paramtype">USART_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00062.html#a00436">usart_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function handles the USART transmit and receive IRQ request.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>USART peripheral base address. </td></tr>
<tr><td class="paramname">handle</td><td>USART 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>