embeddedsw/XilinxProcessorIPLib/drivers/uartps/doc/html/api/xuartps_8h.html

1637 lines
86 KiB
HTML
Raw Normal View History

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Xilinx Driver uartps v2_2: xuartps.h File Reference
</title>
<link href="doxygen_kalyanidocs/doc/css/driver_api_doxygen.css" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>xuartps.h File Reference</h1><code>#include &quot;xil_types.h&quot;</code><br/>
<code>#include &quot;xil_assert.h&quot;</code><br/>
<code>#include &quot;xstatus.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="xuartps__hw_8h.html">xuartps_hw.h</a>&quot;</code><br/>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_uart_ps___config.html">XUartPs_Config</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_uart_ps_buffer.html">XUartPsBuffer</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_uart_ps_format.html">XUartPsFormat</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_uart_ps.html">XUartPs</a></td></tr>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a117291251ba90eccfa7f29ce31521cf9">XUARTPS_H</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a724abbd57f14e2ba803f92623f5f8d14">XUARTPS_MAX_RATE</a>&nbsp;&nbsp;&nbsp;921600</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a1669bf99834935d9d73796552a8b848b">XUARTPS_MIN_RATE</a>&nbsp;&nbsp;&nbsp;110</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a29a83258ae29934f5898f9d19b512863">XUARTPS_DFT_BAUDRATE</a>&nbsp;&nbsp;&nbsp;115200</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a8c50cd4a1f7a342dcdf6d7ab1640b1b9">XUartPs_GetChannelStatus</a>(InstancePtr)&nbsp;&nbsp;&nbsp;Xil_In32(((InstancePtr)-&gt;Config.BaseAddress) + XUARTPS_SR_OFFSET)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#acd6fb80e110f22c2d305c3152cbe9e22">XUartPs_GetModeControl</a>(InstancePtr)&nbsp;&nbsp;&nbsp;Xil_In32(((InstancePtr)-&gt;Config.BaseAddress) + XUARTPS_CR_OFFSET)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#abecf07183bbcaa00778bae5eee856818">XUartPs_SetModeControl</a>(InstancePtr, RegisterValue)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a800f448c280504c1c8e3a0e2cea28699">XUartPs_EnableUart</a>(InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#aa8604eeb6cd5c80a3a54ef5510bd46ff">XUartPs_DisableUart</a>(InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a9a3d03d5794a4d8cdda2fa2c4ba8e174">XUartPs_IsTransmitEmpty</a>(InstancePtr)</td></tr>
<tr><td colspan="2"><div class="groupHeader">Configuration options</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp50f33d14f129e4548c1c270fd6725a78"></a> </p>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a5073a0aa7bef53cb44206fa6146b9a86">XUARTPS_OPTION_SET_BREAK</a>&nbsp;&nbsp;&nbsp;0x0080</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a15a737d7e5baf7a08693aed5599f49c3">XUARTPS_OPTION_STOP_BREAK</a>&nbsp;&nbsp;&nbsp;0x0040</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#aeba0f9aa648285d5e2d56d38d1f77094">XUARTPS_OPTION_RESET_TMOUT</a>&nbsp;&nbsp;&nbsp;0x0020</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#ac85b9de79808c7ce7b92a748d7fdb5e2">XUARTPS_OPTION_RESET_TX</a>&nbsp;&nbsp;&nbsp;0x0010</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a3e8595042a9f15536cf9ab4d55ea4a94">XUARTPS_OPTION_RESET_RX</a>&nbsp;&nbsp;&nbsp;0x0008</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a1f0e4e7525d49994044895137b0d6c25">XUARTPS_OPTION_ASSERT_RTS</a>&nbsp;&nbsp;&nbsp;0x0004</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#af4a6f1baf50c915e70d371de1efe6415">XUARTPS_OPTION_ASSERT_DTR</a>&nbsp;&nbsp;&nbsp;0x0002</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#ad74cdb596f414bee06ebd9159f496cef">XUARTPS_OPTION_SET_FCM</a>&nbsp;&nbsp;&nbsp;0x0001</td></tr>
<tr><td colspan="2"><div class="groupHeader">Channel Operational Mode</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp830e04a2a4a074eb8f89a3e6410eb97c"></a> The UART can operate in one of four modes: Normal, Local Loopback, Remote Loopback, or automatic echo. </p>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a9d916026363230478a8c8729e23f3352">XUARTPS_OPER_MODE_NORMAL</a>&nbsp;&nbsp;&nbsp;0x00</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a59bf55affd72ca3bd5824c921926527b">XUARTPS_OPER_MODE_AUTO_ECHO</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a3a71908d40b06c097599a5a29d61e800">XUARTPS_OPER_MODE_LOCAL_LOOP</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a5e25847001737185c8359cda12524e35">XUARTPS_OPER_MODE_REMOTE_LOOP</a>&nbsp;&nbsp;&nbsp;0x03</td></tr>
<tr><td colspan="2"><div class="groupHeader">Data format values</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp561393cbc57b8d06fe9ef22b8e254efb"></a> These constants specify the data format that the driver supports. The data format includes the number of data bits, the number of stop bits and parity. </p>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#aa4cfce89f6bb9673aca6917c44f374b1">XUARTPS_FORMAT_8_BITS</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#ae5c2f638e6460a0be3c85f89309ab7dd">XUARTPS_FORMAT_7_BITS</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a18409691f005bcf4524c5d5b4eef8bc9">XUARTPS_FORMAT_6_BITS</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#adacbaf7f47beeebb7301b6d50b74f6c1">XUARTPS_FORMAT_NO_PARITY</a>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a2e8f4dd84f661a7eee839a6b07611b1b">XUARTPS_FORMAT_MARK_PARITY</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#ab23f88cb97896fab3586f9a90145e559">XUARTPS_FORMAT_SPACE_PARITY</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a86879c57efb1b9351a5ee4f7043054dc">XUARTPS_FORMAT_ODD_PARITY</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a25c1bf78c37b79d68c4094dca8e2aa2c">XUARTPS_FORMAT_EVEN_PARITY</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a835065749aec4b9f48a3f2ddbc7e611e">XUARTPS_FORMAT_2_STOP_BIT</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a50680fd4482bdc2b03553ada9af6dbe0">XUARTPS_FORMAT_1_5_STOP_BIT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#aaacb7c80da54a350343e8deb0d894371">XUARTPS_FORMAT_1_STOP_BIT</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td colspan="2"><div class="groupHeader">Callback events</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpc478b096d0c15f7e00fb1b0587e19c87"></a> These constants specify the handler events that an application can handle using its specific handler function. Note that these constants are not bit mask, so only one event can be passed to an application at a time. </p>
<br/><br/></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a5df58daf8b254add987548848166a4ea">XUARTPS_EVENT_RECV_DATA</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a60c5fbf323a23405b48de1eaebb69876">XUARTPS_EVENT_RECV_TOUT</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a83784b7f23f91b771059aac0125b20a6">XUARTPS_EVENT_SENT_DATA</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a4664232aba4f5873439dd72b68cea266">XUARTPS_EVENT_RECV_ERROR</a>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a9cd187ec1b79c1ec7daf4c7293d2bdd0">XUARTPS_EVENT_MODEM</a>&nbsp;&nbsp;&nbsp;5</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#ab12549f1bf030451337acd7cb646e19b">XUartPs_Handler</a> )(void *CallBackRef, u32 Event, unsigned int EventData)</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_uart_ps___config.html">XUartPs_Config</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a6f0af448d55d1911fce04e70049f2dc5">XUartPs_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a220fd9dda66e2a7ba1147816baf30830">XUartPs_CfgInitialize</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, <a class="el" href="struct_x_uart_ps___config.html">XUartPs_Config</a> *Config, u32 EffectiveAddr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#adff739cf6e252c42a050e92d3a265172">XUartPs_Send</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, u8 *BufferPtr, unsigned int NumBytes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a74e1aeb2b28a79a9e17e431280296a60">XUartPs_Recv</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, u8 *BufferPtr, unsigned int NumBytes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a3c1712af7736b36db4ba272e97326436">XUartPs_SetBaudRate</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, u32 BaudRate)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a6c7c0ef55459866990d4a17fbb620ba6">XUartPs_SetOptions</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, u16 Options)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a35d85a106e7af94e903e0795ad94291e">XUartPs_GetOptions</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a515c53f7e66c34da6b18cc7529cc69a5">XUartPs_SetFifoThreshold</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, u8 TriggerLevel)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a61db893485f1c77f27abc6d8a4ff1ed7">XUartPs_GetFifoThreshold</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a96641d542ac4708a8e3ed5ca2009e10e">XUartPs_GetModemStatus</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a4279fd824eea23f74ad66f165cb0265e">XUartPs_IsSending</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a67fa9bb06414146652d0ff819bd5852a">XUartPs_GetOperMode</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a9c84f5324979f1ba3a9f5a866806d0e8">XUartPs_SetOperMode</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, u8 OperationMode)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a2127a5ae7ea617f1fb1a3415e35f1387">XUartPs_GetFlowDelay</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a0e5c270f7abd4a00f629a638feb2e68e">XUartPs_SetFlowDelay</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, u8 FlowDelayValue)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#aaa7ea0aca85be0c1eb67ab05de67bc3f">XUartPs_GetRecvTimeout</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a75f0201ac3749384f29171565410a8df">XUartPs_SetRecvTimeout</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, u8 RecvTimeout)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#aa7578ea5d3b13b28870e3450f36d1a67">XUartPs_SetDataFormat</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, <a class="el" href="struct_x_uart_ps_format.html">XUartPsFormat</a> *Format)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a083a11c9e311194274af8af0fbd73d15">XUartPs_GetDataFormat</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, <a class="el" href="struct_x_uart_ps_format.html">XUartPsFormat</a> *Format)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#ae5cf497a416bc210c4f1dbe99cacc961">XUartPs_GetInterruptMask</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#ab3b65e926f6f4ac7ab41a70801ba12c3">XUartPs_SetInterruptMask</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, u32 Mask)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#abf86fb20a58e4a7fbd73afa49f8eb604">XUartPs_InterruptHandler</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#a9528098e589491997c7805592a4b5a7b">XUartPs_SetHandler</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr, <a class="el" href="xuartps_8h.html#ab12549f1bf030451337acd7cb646e19b">XUartPs_Handler</a> FuncPtr, void *CallBackRef)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xuartps_8h.html#ae3747299223ada35e9dea7222af06212">XUartPs_SelfTest</a> (<a class="el" href="struct_x_uart_ps.html">XUartPs</a> *InstancePtr)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a29a83258ae29934f5898f9d19b512863"></a><!-- doxytag: member="xuartps.h::XUARTPS_DFT_BAUDRATE" ref="a29a83258ae29934f5898f9d19b512863" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_DFT_BAUDRATE&nbsp;&nbsp;&nbsp;115200</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aa8604eeb6cd5c80a3a54ef5510bd46ff"></a><!-- doxytag: member="xuartps.h::XUartPs_DisableUart" ref="aa8604eeb6cd5c80a3a54ef5510bd46ff" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUartPs_DisableUart</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">Xil_Out32(((InstancePtr)-&gt;Config.BaseAddress + <a class="code" href="xuartps__hw_8h.html#a90a3cb2c33dba6a5b888f7324d1c5135">XUARTPS_CR_OFFSET</a>), \
(((Xil_In32((InstancePtr)-&gt;Config.BaseAddress + <a class="code" href="xuartps__hw_8h.html#a90a3cb2c33dba6a5b888f7324d1c5135">XUARTPS_CR_OFFSET</a>)) &amp; \
~<a class="code" href="xuartps__hw_8h.html#ae297afa5ad30bb459ae92c6289bf24d3">XUARTPS_CR_EN_DIS_MASK</a>) | (<a class="code" href="xuartps__hw_8h.html#affa7bb80501ee66683ce853436190ea9">XUARTPS_CR_RX_DIS</a> | <a class="code" href="xuartps__hw_8h.html#a4831dbafe987c3286b022f3ab937bc9a">XUARTPS_CR_TX_DIS</a>)))
</pre></div><p>Disable the transmitter and receiver of the UART.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-Style signature: void <a class="el" href="xuartps_8h.html#aa8604eeb6cd5c80a3a54ef5510bd46ff">XUartPs_DisableUart(XUartPs *InstancePtr)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a800f448c280504c1c8e3a0e2cea28699"></a><!-- doxytag: member="xuartps.h::XUartPs_EnableUart" ref="a800f448c280504c1c8e3a0e2cea28699" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUartPs_EnableUart</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">Xil_Out32(((InstancePtr)-&gt;Config.BaseAddress + <a class="code" href="xuartps__hw_8h.html#a90a3cb2c33dba6a5b888f7324d1c5135">XUARTPS_CR_OFFSET</a>), \
((Xil_In32((InstancePtr)-&gt;Config.BaseAddress + <a class="code" href="xuartps__hw_8h.html#a90a3cb2c33dba6a5b888f7324d1c5135">XUARTPS_CR_OFFSET</a>) &amp; \
~<a class="code" href="xuartps__hw_8h.html#ae297afa5ad30bb459ae92c6289bf24d3">XUARTPS_CR_EN_DIS_MASK</a>) | (<a class="code" href="xuartps__hw_8h.html#a31a05c9637d59b0631b43758a78d605e">XUARTPS_CR_RX_EN</a> | <a class="code" href="xuartps__hw_8h.html#af22f08ec08cbe06a53efbd44a43b8096">XUARTPS_CR_TX_EN</a>)))
</pre></div><p>Enable the transmitter and receiver of the UART.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-Style signature: void <a class="el" href="xuartps_8h.html#a800f448c280504c1c8e3a0e2cea28699">XUartPs_EnableUart(XUartPs *InstancePtr)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a9cd187ec1b79c1ec7daf4c7293d2bdd0"></a><!-- doxytag: member="xuartps.h::XUARTPS_EVENT_MODEM" ref="a9cd187ec1b79c1ec7daf4c7293d2bdd0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_EVENT_MODEM&nbsp;&nbsp;&nbsp;5</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Modem status changed </p>
</div>
</div>
<a class="anchor" id="a5df58daf8b254add987548848166a4ea"></a><!-- doxytag: member="xuartps.h::XUARTPS_EVENT_RECV_DATA" ref="a5df58daf8b254add987548848166a4ea" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_EVENT_RECV_DATA&nbsp;&nbsp;&nbsp;1</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Data receiving done </p>
</div>
</div>
<a class="anchor" id="a4664232aba4f5873439dd72b68cea266"></a><!-- doxytag: member="xuartps.h::XUARTPS_EVENT_RECV_ERROR" ref="a4664232aba4f5873439dd72b68cea266" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_EVENT_RECV_ERROR&nbsp;&nbsp;&nbsp;4</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A receive error detected </p>
</div>
</div>
<a class="anchor" id="a60c5fbf323a23405b48de1eaebb69876"></a><!-- doxytag: member="xuartps.h::XUARTPS_EVENT_RECV_TOUT" ref="a60c5fbf323a23405b48de1eaebb69876" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_EVENT_RECV_TOUT&nbsp;&nbsp;&nbsp;2</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A receive timeout occurred </p>
</div>
</div>
<a class="anchor" id="a83784b7f23f91b771059aac0125b20a6"></a><!-- doxytag: member="xuartps.h::XUARTPS_EVENT_SENT_DATA" ref="a83784b7f23f91b771059aac0125b20a6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_EVENT_SENT_DATA&nbsp;&nbsp;&nbsp;3</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Data transmission done </p>
</div>
</div>
<a class="anchor" id="a50680fd4482bdc2b03553ada9af6dbe0"></a><!-- doxytag: member="xuartps.h::XUARTPS_FORMAT_1_5_STOP_BIT" ref="a50680fd4482bdc2b03553ada9af6dbe0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_FORMAT_1_5_STOP_BIT&nbsp;&nbsp;&nbsp;1</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>1.5 stop bits </p>
</div>
</div>
<a class="anchor" id="aaacb7c80da54a350343e8deb0d894371"></a><!-- doxytag: member="xuartps.h::XUARTPS_FORMAT_1_STOP_BIT" ref="aaacb7c80da54a350343e8deb0d894371" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_FORMAT_1_STOP_BIT&nbsp;&nbsp;&nbsp;0</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>1 stop bit </p>
</div>
</div>
<a class="anchor" id="a835065749aec4b9f48a3f2ddbc7e611e"></a><!-- doxytag: member="xuartps.h::XUARTPS_FORMAT_2_STOP_BIT" ref="a835065749aec4b9f48a3f2ddbc7e611e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_FORMAT_2_STOP_BIT&nbsp;&nbsp;&nbsp;2</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>2 stop bits </p>
</div>
</div>
<a class="anchor" id="a18409691f005bcf4524c5d5b4eef8bc9"></a><!-- doxytag: member="xuartps.h::XUARTPS_FORMAT_6_BITS" ref="a18409691f005bcf4524c5d5b4eef8bc9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_FORMAT_6_BITS&nbsp;&nbsp;&nbsp;3</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>6 data bits </p>
</div>
</div>
<a class="anchor" id="ae5c2f638e6460a0be3c85f89309ab7dd"></a><!-- doxytag: member="xuartps.h::XUARTPS_FORMAT_7_BITS" ref="ae5c2f638e6460a0be3c85f89309ab7dd" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_FORMAT_7_BITS&nbsp;&nbsp;&nbsp;2</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>7 data bits </p>
</div>
</div>
<a class="anchor" id="aa4cfce89f6bb9673aca6917c44f374b1"></a><!-- doxytag: member="xuartps.h::XUARTPS_FORMAT_8_BITS" ref="aa4cfce89f6bb9673aca6917c44f374b1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_FORMAT_8_BITS&nbsp;&nbsp;&nbsp;0</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>8 data bits </p>
</div>
</div>
<a class="anchor" id="a25c1bf78c37b79d68c4094dca8e2aa2c"></a><!-- doxytag: member="xuartps.h::XUARTPS_FORMAT_EVEN_PARITY" ref="a25c1bf78c37b79d68c4094dca8e2aa2c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_FORMAT_EVEN_PARITY&nbsp;&nbsp;&nbsp;0</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Even parity </p>
</div>
</div>
<a class="anchor" id="a2e8f4dd84f661a7eee839a6b07611b1b"></a><!-- doxytag: member="xuartps.h::XUARTPS_FORMAT_MARK_PARITY" ref="a2e8f4dd84f661a7eee839a6b07611b1b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_FORMAT_MARK_PARITY&nbsp;&nbsp;&nbsp;3</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Mark parity </p>
</div>
</div>
<a class="anchor" id="adacbaf7f47beeebb7301b6d50b74f6c1"></a><!-- doxytag: member="xuartps.h::XUARTPS_FORMAT_NO_PARITY" ref="adacbaf7f47beeebb7301b6d50b74f6c1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_FORMAT_NO_PARITY&nbsp;&nbsp;&nbsp;4</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>No parity </p>
</div>
</div>
<a class="anchor" id="a86879c57efb1b9351a5ee4f7043054dc"></a><!-- doxytag: member="xuartps.h::XUARTPS_FORMAT_ODD_PARITY" ref="a86879c57efb1b9351a5ee4f7043054dc" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_FORMAT_ODD_PARITY&nbsp;&nbsp;&nbsp;1</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Odd parity </p>
</div>
</div>
<a class="anchor" id="ab23f88cb97896fab3586f9a90145e559"></a><!-- doxytag: member="xuartps.h::XUARTPS_FORMAT_SPACE_PARITY" ref="ab23f88cb97896fab3586f9a90145e559" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_FORMAT_SPACE_PARITY&nbsp;&nbsp;&nbsp;2</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>parity </p>
</div>
</div>
<a class="anchor" id="a8c50cd4a1f7a342dcdf6d7ab1640b1b9"></a><!-- doxytag: member="xuartps.h::XUartPs_GetChannelStatus" ref="a8c50cd4a1f7a342dcdf6d7ab1640b1b9" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUartPs_GetChannelStatus</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;Xil_In32(((InstancePtr)-&gt;Config.BaseAddress) + XUARTPS_SR_OFFSET)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the UART Channel Status Register.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value read from the register.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-Style signature: u16 <a class="el" href="xuartps_8h.html#a8c50cd4a1f7a342dcdf6d7ab1640b1b9">XUartPs_GetChannelStatus(XUartPs *InstancePtr)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="acd6fb80e110f22c2d305c3152cbe9e22"></a><!-- doxytag: member="xuartps.h::XUartPs_GetModeControl" ref="acd6fb80e110f22c2d305c3152cbe9e22" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUartPs_GetModeControl</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;Xil_In32(((InstancePtr)-&gt;Config.BaseAddress) + XUARTPS_CR_OFFSET)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the UART Mode Control Register.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The value read from the register.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-Style signature: u32 XUartPs_GetControl(XUartPs *InstancePtr) </dd></dl>
</div>
</div>
<a class="anchor" id="a117291251ba90eccfa7f29ce31521cf9"></a><!-- doxytag: member="xuartps.h::XUARTPS_H" ref="a117291251ba90eccfa7f29ce31521cf9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_H</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a9a3d03d5794a4d8cdda2fa2c4ba8e174"></a><!-- doxytag: member="xuartps.h::XUartPs_IsTransmitEmpty" ref="a9a3d03d5794a4d8cdda2fa2c4ba8e174" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUartPs_IsTransmitEmpty</td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">((Xil_In32(((InstancePtr)-&gt;Config.BaseAddress) + <a class="code" href="xuartps__hw_8h.html#a342083b04c2f9d589d7dcb1d40b329f6">XUARTPS_SR_OFFSET</a>) &amp; \
<a class="code" href="xuartps__hw_8h.html#a4eb9c1b9ceaf7aecb36d43c983edbe95">XUARTPS_SR_TXEMPTY</a>) == <a class="code" href="xuartps__hw_8h.html#a4eb9c1b9ceaf7aecb36d43c983edbe95">XUARTPS_SR_TXEMPTY</a>)
</pre></div><p>Determine if the transmitter FIFO is empty.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
<li>TRUE if a byte can be sent</li>
<li>FALSE if the Transmitter Fifo is not empty</li>
</ul>
</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-Style signature: u32 <a class="el" href="xuartps_8h.html#a9a3d03d5794a4d8cdda2fa2c4ba8e174">XUartPs_IsTransmitEmpty(XUartPs InstancePtr)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a724abbd57f14e2ba803f92623f5f8d14"></a><!-- doxytag: member="xuartps.h::XUARTPS_MAX_RATE" ref="a724abbd57f14e2ba803f92623f5f8d14" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_MAX_RATE&nbsp;&nbsp;&nbsp;921600</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a1669bf99834935d9d73796552a8b848b"></a><!-- doxytag: member="xuartps.h::XUARTPS_MIN_RATE" ref="a1669bf99834935d9d73796552a8b848b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_MIN_RATE&nbsp;&nbsp;&nbsp;110</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a59bf55affd72ca3bd5824c921926527b"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPER_MODE_AUTO_ECHO" ref="a59bf55affd72ca3bd5824c921926527b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPER_MODE_AUTO_ECHO&nbsp;&nbsp;&nbsp;0x01</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Auto Echo Mode </p>
</div>
</div>
<a class="anchor" id="a3a71908d40b06c097599a5a29d61e800"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPER_MODE_LOCAL_LOOP" ref="a3a71908d40b06c097599a5a29d61e800" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPER_MODE_LOCAL_LOOP&nbsp;&nbsp;&nbsp;0x02</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Local Loopback Mode </p>
</div>
</div>
<a class="anchor" id="a9d916026363230478a8c8729e23f3352"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPER_MODE_NORMAL" ref="a9d916026363230478a8c8729e23f3352" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPER_MODE_NORMAL&nbsp;&nbsp;&nbsp;0x00</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Normal Mode </p>
</div>
</div>
<a class="anchor" id="a5e25847001737185c8359cda12524e35"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPER_MODE_REMOTE_LOOP" ref="a5e25847001737185c8359cda12524e35" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPER_MODE_REMOTE_LOOP&nbsp;&nbsp;&nbsp;0x03</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Remote Loopback Mode </p>
</div>
</div>
<a class="anchor" id="af4a6f1baf50c915e70d371de1efe6415"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPTION_ASSERT_DTR" ref="af4a6f1baf50c915e70d371de1efe6415" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPTION_ASSERT_DTR&nbsp;&nbsp;&nbsp;0x0002</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Assert the DTR bit </p>
</div>
</div>
<a class="anchor" id="a1f0e4e7525d49994044895137b0d6c25"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPTION_ASSERT_RTS" ref="a1f0e4e7525d49994044895137b0d6c25" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPTION_ASSERT_RTS&nbsp;&nbsp;&nbsp;0x0004</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Assert the RTS bit </p>
</div>
</div>
<a class="anchor" id="a3e8595042a9f15536cf9ab4d55ea4a94"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPTION_RESET_RX" ref="a3e8595042a9f15536cf9ab4d55ea4a94" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPTION_RESET_RX&nbsp;&nbsp;&nbsp;0x0008</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reset the receiver </p>
</div>
</div>
<a class="anchor" id="aeba0f9aa648285d5e2d56d38d1f77094"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPTION_RESET_TMOUT" ref="aeba0f9aa648285d5e2d56d38d1f77094" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPTION_RESET_TMOUT&nbsp;&nbsp;&nbsp;0x0020</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reset the receive timeout </p>
</div>
</div>
<a class="anchor" id="ac85b9de79808c7ce7b92a748d7fdb5e2"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPTION_RESET_TX" ref="ac85b9de79808c7ce7b92a748d7fdb5e2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPTION_RESET_TX&nbsp;&nbsp;&nbsp;0x0010</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reset the transmitter </p>
</div>
</div>
<a class="anchor" id="a5073a0aa7bef53cb44206fa6146b9a86"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPTION_SET_BREAK" ref="a5073a0aa7bef53cb44206fa6146b9a86" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPTION_SET_BREAK&nbsp;&nbsp;&nbsp;0x0080</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>These constants specify the options that may be set or retrieved with the driver, each is a unique bit mask such that multiple options may be specified. These constants indicate the available options in active state. Starts break transmission </p>
</div>
</div>
<a class="anchor" id="ad74cdb596f414bee06ebd9159f496cef"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPTION_SET_FCM" ref="ad74cdb596f414bee06ebd9159f496cef" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPTION_SET_FCM&nbsp;&nbsp;&nbsp;0x0001</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Turn on flow control mode </p>
</div>
</div>
<a class="anchor" id="a15a737d7e5baf7a08693aed5599f49c3"></a><!-- doxytag: member="xuartps.h::XUARTPS_OPTION_STOP_BREAK" ref="a15a737d7e5baf7a08693aed5599f49c3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUARTPS_OPTION_STOP_BREAK&nbsp;&nbsp;&nbsp;0x0040</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Stops break transmission </p>
</div>
</div>
<a class="anchor" id="abecf07183bbcaa00778bae5eee856818"></a><!-- doxytag: member="xuartps.h::XUartPs_SetModeControl" ref="abecf07183bbcaa00778bae5eee856818" args="(InstancePtr, RegisterValue)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XUartPs_SetModeControl</td>
<td>(</td>
<td class="paramtype">InstancePtr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RegisterValue&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">Xil_Out32(((InstancePtr)-&gt;Config.BaseAddress) + <a class="code" href="xuartps__hw_8h.html#a90a3cb2c33dba6a5b888f7324d1c5135">XUARTPS_CR_OFFSET</a>, \
(RegisterValue))
</pre></div><p>Set the UART Mode Control Register.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>RegisterValue</em>&nbsp;</td><td>is the value to be written to the register.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>C-Style signature: void <a class="el" href="xuartps_8h.html#abecf07183bbcaa00778bae5eee856818">XUartPs_SetModeControl(XUartPs *InstancePtr, u16 RegisterValue)</a> </dd></dl>
</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ab12549f1bf030451337acd7cb646e19b"></a><!-- doxytag: member="xuartps.h::XUartPs_Handler" ref="ab12549f1bf030451337acd7cb646e19b" args=")(void *CallBackRef, u32 Event, unsigned int EventData)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* <a class="el" href="xuartps_8h.html#ab12549f1bf030451337acd7cb646e19b">XUartPs_Handler</a>)(void *CallBackRef, u32 Event, unsigned int EventData)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This data type defines a handler that an application defines to communicate with interrupt system to retrieve state information about an application.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>CallBackRef</em>&nbsp;</td><td>is a callback reference passed in by the upper layer when setting the handler, and is passed back to the upper layer when the handler is called. It is used to find the device driver instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Event</em>&nbsp;</td><td>contains one of the event constants indicating events that have occurred. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>EventData</em>&nbsp;</td><td>contains the number of bytes sent or received at the time of the call for send and receive events and contains the modem status for modem events. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a220fd9dda66e2a7ba1147816baf30830"></a><!-- doxytag: member="xuartps.h::XUartPs_CfgInitialize" ref="a220fd9dda66e2a7ba1147816baf30830" args="(XUartPs *InstancePtr, XUartPs_Config *Config, u32 EffectiveAddr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XUartPs_CfgInitialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps___config.html">XUartPs_Config</a> *&nbsp;</td>
<td class="paramname"> <em>Config</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>EffectiveAddr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Initializes a specific <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance such that it is ready to be used. The data format of the device is setup for 8 data bits, 1 stop bit, and no parity by default. The baud rate is set to a default value specified by Config-&gt;DefaultBaudRate if set, otherwise it is set to 19.2K baud. The receive FIFO threshold is set for 8 bytes. The default operating mode of the driver is polled mode.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Config</em>&nbsp;</td><td>is a reference to a structure containing information about a specific <a class="el" href="struct_x_uart_ps.html">XUartPs</a> driver. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>EffectiveAddr</em>&nbsp;</td><td>is the device base address in the virtual memory address space. The caller is responsible for keeping the address mapping from EffectiveAddr to the device physical base address unchanged once this function is invoked. Unexpected errors may occur if the address mapping changes after this function is called. If address translation is not used, pass in the physical address instead.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<ul>
<li>XST_SUCCESS if initialization was successful</li>
<li>XST_UART_BAUD_ERROR if the baud rate is not possible because the inputclock frequency is not divisible with an acceptable amount of error</li>
</ul>
<dl class="note"><dt><b>Note:</b></dt><dd></dd></dl>
<p>The default configuration for the UART after initialization is:</p>
<ul>
<li>19,200 bps or XPAR_DFT_BAUDRATE if defined</li>
<li>8 data bits</li>
<li>1 stop bit</li>
<li>no parity</li>
<li>FIFO's are enabled with a receive threshold of 8 bytes</li>
<li>The RX timeout is enabled with a timeout of 1 (4 char times)</li>
</ul>
<p>All interrupts are disabled. </p>
</div>
</div>
<a class="anchor" id="a083a11c9e311194274af8af0fbd73d15"></a><!-- doxytag: member="xuartps.h::XUartPs_GetDataFormat" ref="a083a11c9e311194274af8af0fbd73d15" args="(XUartPs *InstancePtr, XUartPsFormat *Format)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XUartPs_GetDataFormat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps_format.html">XUartPsFormat</a> *&nbsp;</td>
<td class="paramname"> <em>FormatPtr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the data format for the specified UART. The data format includes the baud rate, number of data bits, number of stop bits, and parity.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FormatPtr</em>&nbsp;</td><td>is a pointer to a format structure that will contain the data format after this call completes.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a61db893485f1c77f27abc6d8a4ff1ed7"></a><!-- doxytag: member="xuartps.h::XUartPs_GetFifoThreshold" ref="a61db893485f1c77f27abc6d8a4ff1ed7" args="(XUartPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u8 XUartPs_GetFifoThreshold </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function gets the receive FIFO trigger level. The receive trigger level indicates the number of bytes in the receive FIFO that cause a receive data event (interrupt) to be generated.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current receive FIFO trigger level. This is a value from 0-31.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a2127a5ae7ea617f1fb1a3415e35f1387"></a><!-- doxytag: member="xuartps.h::XUartPs_GetFlowDelay" ref="a2127a5ae7ea617f1fb1a3415e35f1387" args="(XUartPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u8 XUartPs_GetFlowDelay </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function sets the Flow Delay. 0 - 3: Flow delay inactive 4 - 32: If Flow Control mode is enabled, UART_rtsN is deactivated when the receive FIFO fills to this level.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<p>The Flow Delay is specified by constants defined in <a class="el" href="xuartps__hw_8h.html">xuartps_hw.h</a>. The constants are named XUARTPS_FLOWDEL*</p>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="ae5cf497a416bc210c4f1dbe99cacc961"></a><!-- doxytag: member="xuartps.h::XUartPs_GetInterruptMask" ref="ae5cf497a416bc210c4f1dbe99cacc961" args="(XUartPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XUartPs_GetInterruptMask </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function gets the interrupt mask</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current interrupt mask. The mask indicates which interupts are enabled.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a96641d542ac4708a8e3ed5ca2009e10e"></a><!-- doxytag: member="xuartps.h::XUartPs_GetModemStatus" ref="a96641d542ac4708a8e3ed5ca2009e10e" args="(XUartPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 XUartPs_GetModemStatus </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function gets the modem status from the specified UART. The modem status indicates any changes of the modem signals. This function allows the modem status to be read in a polled mode. The modem status is updated whenever it is read such that reading it twice may not yield the same results.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<p>The modem status which are bit masks that are contained in the file <a class="el" href="xuartps_8h.html">xuartps.h</a> and named XUARTPS_MODEM_*.</p>
<dl class="note"><dt><b>Note:</b></dt><dd></dd></dl>
<p>The bit masks used for the modem status are the exact bits of the modem status register with no abstraction. </p>
</div>
</div>
<a class="anchor" id="a67fa9bb06414146652d0ff819bd5852a"></a><!-- doxytag: member="xuartps.h::XUartPs_GetOperMode" ref="a67fa9bb06414146652d0ff819bd5852a" args="(XUartPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u8 XUartPs_GetOperMode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function gets the operational mode of the UART. The UART can operate in one of four modes: Normal, Local Loopback, Remote Loopback, or automatic echo.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<p>The operational mode is specified by constants defined in <a class="el" href="xuartps_8h.html">xuartps.h</a>. The constants are named XUARTPS_OPER_MODE_*</p>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a35d85a106e7af94e903e0795ad94291e"></a><!-- doxytag: member="xuartps.h::XUartPs_GetOptions" ref="a35d85a106e7af94e903e0795ad94291e" args="(XUartPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 XUartPs_GetOptions </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the options for the specified driver instance. The options are implemented as bit masks such that multiple options may be enabled or disabled simulataneously.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<p>The current options for the UART. The optionss are bit masks that are contained in the file <a class="el" href="xuartps_8h.html">xuartps.h</a> and named XUARTPS_OPTION_*.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="aaa7ea0aca85be0c1eb67ab05de67bc3f"></a><!-- doxytag: member="xuartps.h::XUartPs_GetRecvTimeout" ref="aaa7ea0aca85be0c1eb67ab05de67bc3f" args="(XUartPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u8 XUartPs_GetRecvTimeout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function gets the Receive Timeout of the UART.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current setting for receive time out.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="abf86fb20a58e4a7fbd73afa49f8eb604"></a><!-- doxytag: member="xuartps.h::XUartPs_InterruptHandler" ref="abf86fb20a58e4a7fbd73afa49f8eb604" args="(XUartPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XUartPs_InterruptHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function is the interrupt handler for the driver. It must be connected to an interrupt system by the application such that it can be called when an interrupt occurs.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>contains a pointer to the driver instance</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a4279fd824eea23f74ad66f165cb0265e"></a><!-- doxytag: member="xuartps.h::XUartPs_IsSending" ref="a4279fd824eea23f74ad66f165cb0265e" args="(XUartPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XUartPs_IsSending </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function determines if the specified UART is sending data.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
<li>TRUE if the UART is sending data</li>
<li>FALSE if UART is not sending data</li>
</ul>
</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a6f0af448d55d1911fce04e70049f2dc5"></a><!-- doxytag: member="xuartps.h::XUartPs_LookupConfig" ref="a6f0af448d55d1911fce04e70049f2dc5" args="(u16 DeviceId)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_x_uart_ps___config.html">XUartPs_Config</a>* XUartPs_LookupConfig </td>
<td>(</td>
<td class="paramtype">u16&nbsp;</td>
<td class="paramname"> <em>DeviceId</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Looks up the device configuration based on the unique device ID. The table contains the configuration info for each device in the system.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>DeviceId</em>&nbsp;</td><td>contains the ID of the device</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the configuration structure or NULL if the specified device is not in the system.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a74e1aeb2b28a79a9e17e431280296a60"></a><!-- doxytag: member="xuartps.h::XUartPs_Recv" ref="a74e1aeb2b28a79a9e17e431280296a60" args="(XUartPs *InstancePtr, u8 *BufferPtr, unsigned int NumBytes)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int XUartPs_Recv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8 *&nbsp;</td>
<td class="paramname"> <em>BufferPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>NumBytes</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function attempts to receive a specified number of bytes of data from the device and store it into the specified buffer. This function works for both polled or interrupt driven modes. It is non-blocking.</p>
<p>In a polled mode, this function will only receive the data already in the RX FIFO. The application may need to call it repeatedly to receive the entire buffer. Polled mode is the default mode of operation for the device.</p>
<p>In interrupt mode, this function will start the receiving, if not the entire buffer has been received, the interrupt handler will continue receiving data until the entire buffer has been received. A callback function, as specified by the application, will be called to indicate the completion of the receiving or error conditions.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance </td></tr>
<tr><td valign="top"></td><td valign="top"><em>BufferPtr</em>&nbsp;</td><td>is pointer to buffer for data to be received into </td></tr>
<tr><td valign="top"></td><td valign="top"><em>NumBytes</em>&nbsp;</td><td>is the number of bytes to be received. A value of zero will stop a previous receive operation that is in progress in interrupt mode.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes received.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd></dd></dl>
<p>The number of bytes is not asserted so that this function may be called with a value of zero to stop an operation that is already in progress. </p>
</div>
</div>
<a class="anchor" id="ae3747299223ada35e9dea7222af06212"></a><!-- doxytag: member="xuartps.h::XUartPs_SelfTest" ref="ae3747299223ada35e9dea7222af06212" args="(XUartPs *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XUartPs_SelfTest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function runs a self-test on the driver and hardware device. This self test performs a local loopback and verifies data can be sent and received.</p>
<p>The time for this test is proportional to the baud rate that has been set prior to calling this function.</p>
<p>The mode and control registers are restored before return.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if the test was successful</li>
</ul>
</dd></dl>
<ul>
<li>XST_UART_TEST_FAIL if the test failed looping back the data</li>
</ul>
<dl class="note"><dt><b>Note:</b></dt><dd></dd></dl>
<p>This function can hang if the hardware is not functioning properly. </p>
</div>
</div>
<a class="anchor" id="adff739cf6e252c42a050e92d3a265172"></a><!-- doxytag: member="xuartps.h::XUartPs_Send" ref="adff739cf6e252c42a050e92d3a265172" args="(XUartPs *InstancePtr, u8 *BufferPtr, unsigned int NumBytes)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int XUartPs_Send </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8 *&nbsp;</td>
<td class="paramname"> <em>BufferPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>NumBytes</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This functions sends the specified buffer using the device in either polled or interrupt driven mode. This function is non-blocking, if the device is busy sending data, it will return and indicate zero bytes were sent. Otherwise, it fills the TX FIFO as much as it can, and return the number of bytes sent.</p>
<p>In a polled mode, this function will only send as much data as TX FIFO can buffer. The application may need to call it repeatedly to send the entire buffer.</p>
<p>In interrupt mode, this function will start sending the specified buffer, then the interrupt handler will continue sending data until the entire buffer has been sent. A callback function, as specified by the application, will be called to indicate the completion of sending.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>BufferPtr</em>&nbsp;</td><td>is pointer to a buffer of data to be sent. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>NumBytes</em>&nbsp;</td><td>contains the number of bytes to be sent. A value of zero will stop a previous send operation that is in progress in interrupt mode. Any data that was already put into the transmit FIFO will be sent.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes actually sent.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd></dd></dl>
<p>The number of bytes is not asserted so that this function may be called with a value of zero to stop an operation that is already in progress. <br/>
<br/>
</p>
</div>
</div>
<a class="anchor" id="a3c1712af7736b36db4ba272e97326436"></a><!-- doxytag: member="xuartps.h::XUartPs_SetBaudRate" ref="a3c1712af7736b36db4ba272e97326436" args="(XUartPs *InstancePtr, u32 BaudRate)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XUartPs_SetBaudRate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>BaudRate</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the baud rate for the device. Checks the input value for validity and also verifies that the requested rate can be configured to within the maximum error range specified by XUARTPS_MAX_BAUD_ERROR_RATE. If the provided rate is not possible, the current setting is unchanged.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance </td></tr>
<tr><td valign="top"></td><td valign="top"><em>BaudRate</em>&nbsp;</td><td>to be set</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if everything configured as expected</li>
<li>XST_UART_BAUD_ERROR if the requested rate is not available because there was too much error</li>
</ul>
</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="aa7578ea5d3b13b28870e3450f36d1a67"></a><!-- doxytag: member="xuartps.h::XUartPs_SetDataFormat" ref="aa7578ea5d3b13b28870e3450f36d1a67" args="(XUartPs *InstancePtr, XUartPsFormat *Format)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XUartPs_SetDataFormat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps_format.html">XUartPsFormat</a> *&nbsp;</td>
<td class="paramname"> <em>FormatPtr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the data format for the device. The data format includes the baud rate, number of data bits, number of stop bits, and parity. It is the caller's responsibility to ensure that the UART is not sending or receiving data when this function is called.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FormatPtr</em>&nbsp;</td><td>is a pointer to a format structure containing the data format to be set.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if the data format was successfully set.</li>
<li>XST_UART_BAUD_ERROR indicates the baud rate could not be set because of the amount of error with the baud rate and the input clock frequency.</li>
<li>XST_INVALID_PARAM if one of the parameters was not valid.</li>
</ul>
</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd></dd></dl>
<p>The data types in the format type, data bits and parity, are 32 bit fields to prevent a compiler warning. The asserts in this function will cause a warning if these fields are bytes. <br/>
<br/>
</p>
</div>
</div>
<a class="anchor" id="a515c53f7e66c34da6b18cc7529cc69a5"></a><!-- doxytag: member="xuartps.h::XUartPs_SetFifoThreshold" ref="a515c53f7e66c34da6b18cc7529cc69a5" args="(XUartPs *InstancePtr, u8 TriggerLevel)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XUartPs_SetFifoThreshold </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>TriggerLevel</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This functions sets the receive FIFO trigger level. The receive trigger level specifies the number of bytes in the receive FIFO that cause a receive data event (interrupt) to be generated.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>TriggerLevel</em>&nbsp;</td><td>contains the trigger level to set.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a0e5c270f7abd4a00f629a638feb2e68e"></a><!-- doxytag: member="xuartps.h::XUartPs_SetFlowDelay" ref="a0e5c270f7abd4a00f629a638feb2e68e" args="(XUartPs *InstancePtr, u8 FlowDelayValue)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XUartPs_SetFlowDelay </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>FlowDelayValue</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function sets the Flow Delay. 0 - 3: Flow delay inactive 4 - 63: If Flow Control mode is enabled, UART_rtsN is deactivated when the receive FIFO fills to this level.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FlowDelayValue</em>&nbsp;</td><td>is the Setting for the flow delay.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a9528098e589491997c7805592a4b5a7b"></a><!-- doxytag: member="xuartps.h::XUartPs_SetHandler" ref="a9528098e589491997c7805592a4b5a7b" args="(XUartPs *InstancePtr, XUartPs_Handler FuncPtr, void *CallBackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XUartPs_SetHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xuartps_8h.html#ab12549f1bf030451337acd7cb646e19b">XUartPs_Handler</a>&nbsp;</td>
<td class="paramname"> <em>FuncPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallBackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function sets the handler that will be called when an event (interrupt) occurs that needs application's attention.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FuncPtr</em>&nbsp;</td><td>is the pointer to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallBackRef</em>&nbsp;</td><td>is the upper layer callback reference passed back when the callback function is invoked.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd></dd></dl>
<p>There is no assert on the CallBackRef since the driver doesn't know what it is (nor should it) </p>
</div>
</div>
<a class="anchor" id="ab3b65e926f6f4ac7ab41a70801ba12c3"></a><!-- doxytag: member="xuartps.h::XUartPs_SetInterruptMask" ref="ab3b65e926f6f4ac7ab41a70801ba12c3" args="(XUartPs *InstancePtr, u32 Mask)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XUartPs_SetInterruptMask </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Mask</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function sets the interrupt mask.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Mask</em>&nbsp;</td><td>contains the interrupts to be enabled or disabled. A '1' enables an interupt, and a '0' disables.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a9c84f5324979f1ba3a9f5a866806d0e8"></a><!-- doxytag: member="xuartps.h::XUartPs_SetOperMode" ref="a9c84f5324979f1ba3a9f5a866806d0e8" args="(XUartPs *InstancePtr, u8 OperationMode)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XUartPs_SetOperMode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>OperationMode</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function sets the operational mode of the UART. The UART can operate in one of four modes: Normal, Local Loopback, Remote Loopback, or automatic echo.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>OperationMode</em>&nbsp;</td><td>is the mode of the UART.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a6c7c0ef55459866990d4a17fbb620ba6"></a><!-- doxytag: member="xuartps.h::XUartPs_SetOptions" ref="a6c7c0ef55459866990d4a17fbb620ba6" args="(XUartPs *InstancePtr, u16 Options)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XUartPs_SetOptions </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16&nbsp;</td>
<td class="paramname"> <em>Options</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the options for the specified driver instance. The options are implemented as bit masks such that multiple options may be enabled or disabled simultaneously.</p>
<p>The GetOptions function may be called to retrieve the currently enabled options. The result is ORed in the desired new settings to be enabled and ANDed with the inverse to clear the settings to be disabled. The resulting value is then used as the options for the SetOption function call.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Options</em>&nbsp;</td><td>contains the options to be set which are bit masks contained in the file <a class="el" href="xuartps_8h.html">xuartps.h</a> and named XUARTPS_OPTION_*.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
<a class="anchor" id="a75f0201ac3749384f29171565410a8df"></a><!-- doxytag: member="xuartps.h::XUartPs_SetRecvTimeout" ref="a75f0201ac3749384f29171565410a8df" args="(XUartPs *InstancePtr, u8 RecvTimeout)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XUartPs_SetRecvTimeout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_uart_ps.html">XUartPs</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>RecvTimeout</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function sets the Receive Timeout of the UART.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_uart_ps.html">XUartPs</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>RecvTimeout</em>&nbsp;</td><td>setting allows the UART to detect an idle connection on the reciever data line. Timeout duration = RecvTimeout x 4 x Bit Period. 0 disables the timeout function.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div>
</div>
<p class="Copyright">
Copyright &copy; 1995-2014 Xilinx, Inc. All rights reserved.
</p>
</body>
</html>