URL
https://opencores.org/ocsvn/xenie/xenie/trunk
Subversion Repositories xenie
[/] [xenie/] [trunk/] [examples/] [Eth_example/] [mb_fw/] [drivers/] [iic_v3_4/] [doc/] [html/] [api/] [xiic__slave__example_8c.html] - Rev 4
Compare with Previous | Blame | View Log
<!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.11"/> <title>iic_v3_4: xiic_slave_example.c File Reference</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="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> <link href="HTML_custom.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="xlogo_bg.gif"/></td> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">iic_v3_4 </div> <div id="projectbrief">Xilinx SDK Drivers API Documentation</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.11 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Overview</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="globals.html"><span>APIs</span></a></li> <li><a href="files.html"><span>File List</span></a></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('xiic__slave__example_8c.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">xiic_slave_example.c File Reference</div> </div> </div><!--header--> <div class="contents"> <a name="details" id="details"></a><h2 class="groupheader">Overview</h2> <div class="textblock"><p>The <a class="el" href="group__iic__v3__1.html#ga24873473751e355c82bb074a0d42ddbc" title="This function sends data as a slave on the IIC bus and should not be called until an event has occurr...">XIic_SlaveSend()</a> API is used to transmit the data and <a class="el" href="group__iic__v3__1.html#ga25dc714d97f71049154461e1ff16bcad" title="This function sends data as a slave on the IIC bus and should not be called until an event has occurr...">XIic_SlaveRecv()</a> API is used to receive the data.</p> <p>The example is tested on ML300/ML310/ML403/ML501 Xilinx boards.</p> <p>The IIC devices that are present on the Xilinx boards donot support the Master functionality. This example has been tested with an off board external IIC Master device and the IIC device configured as a Slave.</p> <p>This code assumes that no Operating System is being used.</p> <dl class="section note"><dt>Note</dt><dd></dd></dl> <p>None.</p> <pre> MODIFICATION HISTORY:</pre><pre>Ver Who Date Changes ----- ---- -------- ----------------------------------------------- 1.00a mta 03/01/06 Created. 2.00a ktn 11/17/09 Updated to use the HAL APIs and replaced call to XIic_Initialize API with XIic_LookupConfig and XIic_CfgInitialize. Some of the macros have been renamed in the IIC driver and some renamed macros are used in this example. </pre> </div><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a7e5861a531fd6b82942e66d668dfe54f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xiic__slave__example_8c.html#a7e5861a531fd6b82942e66d668dfe54f">IicSlaveExample</a> ()</td></tr> <tr class="separator:a7e5861a531fd6b82942e66d668dfe54f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0f41d940d34ed71035e6f6aeb24bdf67"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xiic__slave__example_8c.html#a0f41d940d34ed71035e6f6aeb24bdf67">SlaveWriteData</a> (u16 ByteCount)</td></tr> <tr class="separator:a0f41d940d34ed71035e6f6aeb24bdf67"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a91e062862cf2b2bf6c6f8120baa882be"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xiic__slave__example_8c.html#a91e062862cf2b2bf6c6f8120baa882be">SlaveReadData</a> (u8 *BufferPtr, u16 ByteCount)</td></tr> <tr class="separator:a91e062862cf2b2bf6c6f8120baa882be"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xiic__slave__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr> <tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="a7e5861a531fd6b82942e66d668dfe54f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int IicSlaveExample </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>This function writes and reads the data as a slave. </p> <p>The IIC master on the bus initiates the transfers.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">None.</td><td></td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl> <dl class="section note"><dt>Note</dt><dd>None. </dd></dl> <p>References <a class="el" href="struct_x_iic___config.html#ae783f76b6713be6d9b77060d77328102">XIic_Config::BaseAddress</a>, <a class="el" href="xiic__slave__example_8c.html#a91e062862cf2b2bf6c6f8120baa882be">SlaveReadData()</a>, <a class="el" href="xiic__slave__example_8c.html#a0f41d940d34ed71035e6f6aeb24bdf67">SlaveWriteData()</a>, <a class="el" href="group__iic__v3__1.html#gab3f6ec08afcad8f35f9ee2c9e2531366">XII_ADDR_TO_RESPOND_TYPE</a>, <a class="el" href="group__iic__v3__1.html#ga301f08e1fa6e74bf4c2885702bf0ff70">XIic_CfgInitialize()</a>, <a class="el" href="group__iic__v3__1.html#ga1dcc65dd7cb7863bf6769aed5d785304">XIic_LookupConfig()</a>, <a class="el" href="group__iic__v3__1.html#gad944f42c3d9972fc2c986a7eed726297">XIic_SetAddress()</a>, <a class="el" href="group__iic__v3__1.html#ga86b4b2b307df26df2ecac39337c78bed">XIic_SetRecvHandler()</a>, <a class="el" href="group__iic__v3__1.html#gad33428830e9016ef50c1deae59d1e604">XIic_SetSendHandler()</a>, <a class="el" href="group__iic__v3__1.html#gaa74a6884f6dfc826a10768d7d0333991">XIic_SetStatusHandler()</a>, and <a class="el" href="group__iic__v3__1.html#gab7349458691aa658d69fa3ee2875daea">XIic_SlaveInclude()</a>.</p> <p>Referenced by <a class="el" href="xiic__slave__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p> </div> </div> <a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int main </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Main function to call the IIC Slave example. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">None.</td><td></td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl> <dl class="section note"><dt>Note</dt><dd>None. </dd></dl> <p>References <a class="el" href="xiic__slave__example_8c.html#a7e5861a531fd6b82942e66d668dfe54f">IicSlaveExample()</a>.</p> </div> </div> <a class="anchor" id="a91e062862cf2b2bf6c6f8120baa882be"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SlaveReadData </td> <td>(</td> <td class="paramtype">u8 * </td> <td class="paramname"><em>BufferPtr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u16 </td> <td class="paramname"><em>ByteCount</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>This function reads a buffer of bytes when the IIC Master on the bus writes data to the slave device. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">BufferPtr</td><td>contains the address of the data buffer to be filled. </td></tr> <tr><td class="paramname">ByteCount</td><td>contains the number of bytes in the buffer to be read.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl> <dl class="section note"><dt>Note</dt><dd>None </dd></dl> <p>References <a class="el" href="struct_x_iic.html#a389e4b8500329c37d7835098408b5ed3">XIic::BaseAddress</a>, <a class="el" href="group__iic__v3__1.html#ga17d0df7020d5264d20bbc36d276e276e">XIic_IntrGlobalDisable</a>, <a class="el" href="group__iic__v3__1.html#ga7071fcf4cf60d65fd862653fa34faa21">XIic_IntrGlobalEnable</a>, <a class="el" href="group__iic__v3__1.html#ga25dc714d97f71049154461e1ff16bcad">XIic_SlaveRecv()</a>, <a class="el" href="group__iic__v3__1.html#ga5f4e497710a9c3719f27d40faa74a10f">XIic_Start()</a>, and <a class="el" href="group__iic__v3__1.html#gaaa989e0128057bf11803825d774d496f">XIic_Stop()</a>.</p> <p>Referenced by <a class="el" href="xiic__slave__example_8c.html#a7e5861a531fd6b82942e66d668dfe54f">IicSlaveExample()</a>.</p> </div> </div> <a class="anchor" id="a0f41d940d34ed71035e6f6aeb24bdf67"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SlaveWriteData </td> <td>(</td> <td class="paramtype">u16 </td> <td class="paramname"><em>ByteCount</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>This function writes a buffer of bytes to the IIC bus when the IIC master initiates a read operation. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ByteCount</td><td>contains the number of bytes in the buffer to be written.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl> <dl class="section note"><dt>Note</dt><dd>None. </dd></dl> <p>References <a class="el" href="struct_x_iic.html#a389e4b8500329c37d7835098408b5ed3">XIic::BaseAddress</a>, <a class="el" href="group__iic__v3__1.html#gab24f56a64912a6f65c6c87005c9ce892">XII_MASTER_WRITE_EVENT</a>, <a class="el" href="group__iic__v3__1.html#ga50c5aa4448e8993c80ef7b6a87b1aaea">XIic_InterruptHandler()</a>, <a class="el" href="group__iic__v3__1.html#ga17d0df7020d5264d20bbc36d276e276e">XIic_IntrGlobalDisable</a>, <a class="el" href="group__iic__v3__1.html#ga7071fcf4cf60d65fd862653fa34faa21">XIic_IntrGlobalEnable</a>, <a class="el" href="group__iic__v3__1.html#ga24873473751e355c82bb074a0d42ddbc">XIic_SlaveSend()</a>, <a class="el" href="group__iic__v3__1.html#ga5f4e497710a9c3719f27d40faa74a10f">XIic_Start()</a>, and <a class="el" href="group__iic__v3__1.html#gaaa989e0128057bf11803825d774d496f">XIic_Stop()</a>.</p> <p>Referenced by <a class="el" href="xiic__slave__example_8c.html#a7e5861a531fd6b82942e66d668dfe54f">IicSlaveExample()</a>.</p> </div> </div> </div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="footer">Copyright © 2015 Xilinx Inc. All rights reserved.</li> </ul> </div> </body> </html>